Update vault configuration
This commit is contained in:
4
.obsidian/app.json
vendored
4
.obsidian/app.json
vendored
@@ -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
54
.obsidian/graph.json
vendored
@@ -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
|
||||
}
|
||||
@@ -29,6 +29,6 @@
|
||||
"underlineExternal": true,
|
||||
"folding": true,
|
||||
"lineNumbers": true,
|
||||
"readableLineLength": false,
|
||||
"readableLineLength": true,
|
||||
"devBlockWidth": false
|
||||
}
|
||||
85
.obsidian/workspace.json
vendored
85
.obsidian/workspace.json
vendored
@@ -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"
|
||||
]
|
||||
}
|
||||
84
AGENTS.md
84
AGENTS.md
@@ -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.
|
||||
|
||||
@@ -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]]"
|
||||
|
||||
Reference in New Issue
Block a user