Update vault configuration

This commit is contained in:
2026-08-01 14:10:52 -04:00
parent 3230f9395b
commit 7002d4680f
6 changed files with 149 additions and 84 deletions

4
.obsidian/app.json vendored
View File

@@ -3,8 +3,8 @@
"focusNewTab": true,
"defaultViewMode": "preview",
"livePreview": false,
"readableLineLength": false,
"strictLineBreaks": true,
"readableLineLength": true,
"strictLineBreaks": false,
"propertiesInDocument": "hidden",
"showLineNumber": true,
"autoPairMarkdown": false,

54
.obsidian/graph.json vendored
View File

@@ -1,86 +1,86 @@
{
"collapse-filter": true,
"search": "-path:\"99 meta/\" -path:\"05 journal\" ",
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"collapse-color-groups": false,
"colorGroups": [
{
"query": "path:\"00 INBOX\" ",
"query": "tag:#ticket/grill ",
"color": {
"a": 1,
"rgb": 14822460
"rgb": 14701138
}
},
{
"query": "path:\"01 sources/claude/projects\" ",
"query": "tag:#ticket/prototype/hitl ",
"color": {
"a": 1,
"rgb": 5431413
"rgb": 14701138
}
},
{
"query": "path:\"01 sources\" ",
"query": "tag:#ticket/research ",
"color": {
"a": 1,
"rgb": 15624008
"rgb": 5395168
}
},
{
"query": "path:\"02 tags\" ",
"query": "tag:#ticket/prototype ",
"color": {
"a": 1,
"rgb": 16767070
"rgb": 5419488
}
},
{
"query": "path:\"03 index\" ",
"query": "file:/-map\\.md$",
"color": {
"a": 1,
"rgb": 16767070
"rgb": 11657298
}
},
{
"query": "path:\"04 notes\"",
"query": "tag:#ticket",
"color": {
"a": 1,
"rgb": 5366249
"rgb": 14701233
}
},
{
"query": "path:\"05 journal\" ",
"query": "tag:#spec ",
"color": {
"a": 1,
"rgb": 14890590
"rgb": 9130720
}
},
{
"query": "path:\"99 meta/attachments/bases\" ",
"query": "file:/-adr\\.md$",
"color": {
"a": 1,
"rgb": 7295476
"rgb": 14725458
}
},
{
"query": "path:\"99 meta\" ",
"query": "file:/-context\\.md$",
"color": {
"a": 1,
"rgb": 5330792
"rgb": 14725458
}
}
],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1.50364583333333,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"textFadeMultiplier": -3,
"nodeSizeMultiplier": 2.51132136678201,
"lineSizeMultiplier": 2.03949502595156,
"collapse-forces": false,
"centerStrength": 0,
"repelStrength": 20,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.06895927569691966,
"linkDistance": 500,
"scale": 0.07174458095508464,
"close": false
}

View File

@@ -29,6 +29,6 @@
"underlineExternal": true,
"folding": true,
"lineNumbers": true,
"readableLineLength": false,
"readableLineLength": true,
"devBlockWidth": false
}

View File

@@ -4,17 +4,17 @@
"type": "split",
"children": [
{
"id": "67558c78b7b7c0b1",
"id": "8b3b4cecfbd8922c",
"type": "tabs",
"children": [
{
"id": "b44e1f00ae10a059",
"id": "7ec442f7ed4ccd8b",
"type": "leaf",
"state": {
"type": "empty",
"type": "graph",
"state": {},
"icon": "lucide-file",
"title": "New tab"
"icon": "lucide-git-fork",
"title": "Graph view"
}
}
]
@@ -126,7 +126,8 @@
}
],
"direction": "horizontal",
"width": 300
"width": 302.5,
"collapsed": true
},
"right": {
"id": "b3da14c43e9933fd",
@@ -147,43 +148,43 @@
"table-editor-obsidian:Advanced Tables Toolbar": false
}
},
"active": "b44e1f00ae10a059",
"active": "7ec442f7ed4ccd8b",
"lastOpenFiles": [
"AGENTS.md",
"projects/ai-artifacts/adr/0001-top-level-artifact-layout.md",
"projects/ai-artifacts/adr",
"tags",
"wiki",
"ai-artifacts",
"projects/ai-artifacts/CONTEXT.md",
"projects/dotfiles/082-pi-ui-bottom-anchored-editor-research.md",
"projects/skills/081-implement-skill-branch-worktree-policy-grill.md",
"projects/skills/080-implement-skill-ticket-scope-grill.md",
"projects/skills/079-implement-skill-matt-wayfinder-research.md",
"projects/skills/078-implement-skill-matt-code-review-research.md",
"projects/skills/077-implement-skill-matt-tdd-research.md",
"projects/skills/076-implement-skill-matt-to-tickets-research.md",
"projects/skills/075-implement-skill-matt-implement-research.md",
"projects/skills/074-implement-workflow-implementation-spec.md",
"projects/dotfiles/073-pi-ui-community-pi-packaging-research.md",
"projects/dotfiles/072-pi-ui-patched-pi-packaging-research.md",
"projects/dotfiles/071-pi-ui-final-deployment-verification-task.md",
"projects/dotfiles/070-pi-ui-flex-spacer-pi-patch-task.md",
"projects/dotfiles/068-pi-ui-compact-status-extension-task.md",
"projects/skills/069-implement-workflow-dependency-orchestration-grill.md",
"projects/dotfiles/068-pi-ui-permanent-implementation-task.md",
"projects/dotfiles/067-pi-ui-flex-spacer-bottom-anchor-prototype.md",
"projects/dotfiles/066-pi-ui-existing-extension-layout-survey-research.md",
"projects/dotfiles/065-pi-ui-bottom-anchored-editor-research.md",
"projects/skills/065-implement-workflow-codebase-design-research.md",
"projects/dotfiles/064-pi-ui-third-party-codex-quota-research.md",
"projects/dotfiles/063-pi-ui-customization-spec-task.md",
"projects/dotfiles/062-pi-ui-quota-status-prototype.md",
"projects/dotfiles/061-pi-ui-compact-status-prototype.md",
"projects/dotfiles/060-pi-ui-codex-quota-research.md",
"projects/dotfiles/059-pi-ui-context-token-data-research.md",
"projects/skills",
"projects/dotfiles/XXT3MvgC",
"projects/dotfiles",
"projects/ai-artifacts",
"projects",
"CLAUDE.md",
"02 tags/wayland.md",
"02 tags/zettelkasten.md",
"02 tags/wishlist.md",
"02 tags/testing.md",
"02 tags/software design.md",
"02 tags/secrets management.md",
"02 tags/ricing.md",
"02 tags/pokemon.md",
"02 tags/obsidian.md",
"02 tags/nix.md",
"02 tags/neovim.md",
"02 tags/learning.md",
"02 tags/home-manager.md",
"02 tags/home automation.md",
"02 tags/git.md",
"02 tags/gaming.md",
"02 tags/evaluation.md",
"02 tags/cooking.md",
"01 sources/claude/projects/verify a module by extending a config off to the side.md",
"01 sources/claude/projects/verify a module by extending a config off to the side.md.tmp.30869.b8269dc3ef3c",
"01 sources/claude/projects/give a shared naming convention a single definition both sides call.md",
"01 sources/claude/projects/give a shared naming convention a single definition both sides call.md.tmp.30869.fa39e711987b",
"01 sources/claude/projects/emit an optional setting only when set so the framework's default stands.md",
"01 sources/claude/projects/emit an optional setting only when set so the framework's default stands.md.tmp.30869.7521163efa10",
"01 sources/claude/projects/decrypt at the trust boundary and hand an isolated consumer only named plaintext.md",
"01 sources/claude/projects/decrypt at the trust boundary and hand an isolated consumer only named plaintext.md.tmp.30869.1e166c3810b3"
"projects/skills/plan",
"projects/dotfiles/tasks",
"projects/dotfiles/spec",
"projects/dotfiles/adr",
"projects/skills/adr",
"projects/ai-artifacts/adr"
]
}

View File

@@ -4,31 +4,93 @@ This repository stores agent-generated artifacts across projects.
## Layout
- Use `projects/` for project-specific artifacts.
- Use `projects/<project>/...` where `<project>` is the lowercase basename of the project directory.
- Use project-specific subdirectories such as `spec/`, `tasks/`, or `adr/` when appropriate.
- Treat that list as examples, not as an exhaustive or required taxonomy.
- Use `projects/<project>/` for project-specific artifacts, where `<project>` is the lowercase basename of the project directory.
- Keep every project directory flat.
Do not create artifact-type or effort subdirectories.
- Store an artifact's attachments beside its Markdown note.
- Use `wiki/` for cross-project Markdown knowledge entries.
- Do not write to `wiki/` unless the user explicitly instructs you to do so through a dedicated skill.
- Keep `wiki/` flat.
- Do not create subdirectories under `wiki/`.
- Use `tags/` for Markdown tag files.
- Use `tags/` for Tags.
- Keep `tags/` flat.
- Do not create subdirectories under `tags/`.
- Do not create `.gitkeep` files.
- Keep user-facing top-level artifact directories limited to `projects/`, `wiki/`, and `tags/`.
- Hidden tool directories such as `.git/` and `.obsidian/` are allowed.
## Tags
## Naming conventions
- Tag files exist only to form clusters in the Obsidian graph view.
- Keep tag files free of semantic content.
- A trailing newline is acceptable.
- Link to tag files with explicit Obsidian wikilinks, such as `[[tags/example]]`.
- For project-specific artifacts, when they use tag links, place them on a compact first line.
### Global filename rules
- File names must be lowercase unless an established tool convention requires otherwise.
- Spaces are allowed unless a location-specific rule says otherwise.
### `projects/`
- Name each Markdown artifact `<NNN>-<scope-slug>[-<subject-slug>]-<artifact-type>.md`.
- `NNN` is the next value after `.counter`.
- Pad `NNN` to at least three digits and expand naturally after `999`.
- Use the project slug as the scope slug for project-wide artifacts.
- Use the effort slug as the scope slug for effort-scoped artifacts.
- Do not use subsystem or topic slugs as scope slugs.
- Use the optional subject slug to distinguish multiple artifacts of one type within a scope.
- Use slugs for `scope-slug`, `subject-slug`, and `artifact-type`.
Slugs are lowercase and use hyphens instead of spaces.
- Let the creating skill define its artifact-type slug.
There is no vault-wide type registry.
- Name a project's context artifact `<NNN>-<project-slug>-context.md`.
- Name each attachment from its owning artifact's complete stem plus a numeric suffix, such as `042-wayfinder-layout-prototype-01.png`.
Attachments do not receive their own identifiers.
- Preserve an artifact's identifier when renaming its other filename components.
- Update every wikilink to a renamed artifact in the same change.
### `wiki/`
- Name each wiki entry with a lowercase human-readable filename.
- Spaces are allowed.
- Do not use artifact identifiers in wiki entry filenames.
- Do not apply project artifact naming rules to wiki entries.
### `tags/`
- Name each Tag with a lowercase tag name.
- Spaces are allowed.
- Do not use artifact identifiers in Tag filenames.
## Identifier allocation
- `.counter` at the vault root is the tracked source of the most recently allocated identifier.
- To allocate an identifier, increment `.counter` and persist it before creating the artifact.
- Never reuse an allocated identifier, including after failed creation or deletion.
- Do not lock `.counter`.
- After parallel creation, the coordinating agent must find duplicate identifiers, preserve pre-existing artifacts, renumber its current outputs, update their wikilinks, and advance `.counter` as needed.
## Metadata and links
- Store machine-readable artifact metadata in YAML frontmatter.
- Store Obsidian wikilinks in YAML as quoted text or quoted list values.
- Use a singular `parent` property for the earlier artifact that directly caused the current artifact to exist.
- Use a `blocked-by` list for zero or more upstream artifacts that must resolve before the current artifact can be acted on.
- Use bare wikilinks without display aliases.
## Hashtags and Tags
- Use Obsidian hashtags for note metadata through the YAML `tags` property.
- A Tag is a content-free Markdown note under `tags/` used only to form clusters in the Obsidian graph view.
- A trailing newline in a Tag is acceptable.
- Link to Tags with bare Obsidian wikilinks, such as `[[example]]`.
- Do not define the internal structure of wiki entries yet.
## Gotchas
- Do not apply project-specific artifact structure rules to wiki entries.
Wiki entry structure is intentionally undecided.
- Context artifacts under `projects/` are normal identifier-bearing project artifacts.
They use the next value after `.counter`, not a reserved `000` prefix.
- Do not invent naming conventions for new directories.
The vault layout is fixed unless the user explicitly changes it.
- Wayfinder map artifacts under `projects/` still need the normal artifact-type suffix.
Use `-map.md`, not a filename that ends at the effort slug.
- Preserve `blocked-by` dependency links after blockers resolve.
Do not remove entries merely because a dependency is no longer actively blocking the next action.

View File

@@ -1,5 +1,7 @@
---
status: open
status: claimed
claimed-by: "019fba91-eabf-76ae-b086-a37ac061d6e8"
claimed-at: "2026-08-01T14:05:41-04:00"
parent: "[[027-pi-subagents-implementation-spec-task]]"
blocked-by:
- "[[046-pi-subagents-minimal-tracer-bullet-task]]"