Issue tracker: Local Markdown¶
Issues and PRDs for this repo live as markdown files in .scratch/.
That directory is intentionally gitignored local agent state. Keep plans,
proposals, roadmaps, review reports, and speculative designs there, outside
docs/. The backlog holds concise actionable future-work
entries; detailed work belongs in the corresponding scratch directory.
The rest of docs/ describes the current system. Once a PRD's product or
architecture decisions are implemented, record the resulting behavior and
rationale in docs/adr/ or the relevant area doc instead of committing
.scratch/.
Conventions¶
- One feature per directory:
.scratch/<feature-slug>/ - The PRD is
.scratch/<feature-slug>/PRD.md - Implementation issues are
.scratch/<feature-slug>/issues/<NN>-<slug>.md, numbered from01 - Triage state is recorded as a
Status:line near the top of each issue file (see triage labels for the role strings) - Comments and conversation history append to the bottom of the file under a
## Commentsheading - Do not commit
.scratch/files; they are planning and coordination state, not maintained project documentation
When a skill says "publish to the issue tracker"¶
Create a new file under .scratch/<feature-slug>/ (creating the directory if needed).
When a skill says "fetch the relevant ticket"¶
Read the file at the referenced path. The user will normally pass the path or the issue number directly.
Wayfinding operations¶
When explicitly using the wayfinder skill, its map and decision tickets use
this local tracker. This convention does not require a map for ordinary work.
- Map:
.scratch/<effort>/map.md— the Destination, Notes, Decisions so far, Not yet specified, and Out of scope sections. - Child ticket:
.scratch/<effort>/issues/NN-<slug>.md, numbered from01, with the question in the body. AType:line records the ticket type (research/prototype/grilling/task); aStatus:line recordsclaimed/resolved. - Blocking: a
Blocked by: NN, NNline near the top. A ticket is unblocked when every file it lists isresolved. - Frontier: scan
.scratch/<effort>/issues/for files that are open, unblocked, and unclaimed; first by number wins. - Claim: set
Status: claimedand save before any work. - Resolve: append the answer under an
## Answerheading, setStatus: resolved, then append a context pointer (gist + link) to the map's Decisions-so-far inmap.md.