issue-tracker-local.md
Issue tracker: Local Markdown
Section titled “Issue tracker: Local Markdown”Issues and specs for this repo live as markdown files in .scratch/.
Conventions
Section titled “Conventions”- One feature per directory:
.scratch/<feature-slug>/ - The spec is
.scratch/<feature-slug>/spec.md - Implementation issues are one file per ticket at
.scratch/<feature-slug>/issues/<NN>-<slug>.md, numbered from01, never a single combined tickets file - Triage state is recorded as a
Status:line near the top of each issue file (seetriage-labels.mdfor the role strings) - Comments and conversation history append to the bottom of the file under a
## Commentsheading
When a skill says “publish to the issue tracker”
Section titled “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”
Section titled “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
Section titled “Wayfinding operations”Used by /wayfinder. The map is a file with one child file per ticket.
- Map:
.scratch/<effort>/map.md(the Notes / Decisions-so-far / Fog body). - 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.
Original Markdown source
# Issue tracker: Local Markdown
Issues and specs for this repo live as markdown files in `.scratch/`.
## Conventions
- One feature per directory: `.scratch/<feature-slug>/`- The spec is `.scratch/<feature-slug>/spec.md`- Implementation issues are one file per ticket at `.scratch/<feature-slug>/issues/<NN>-<slug>.md`, numbered from `01`, never a single combined tickets file- Triage state is recorded as a `Status:` line near the top of each issue file (see `triage-labels.md` for the role strings)- Comments and conversation history append to the bottom of the file under a `## Comments` heading
## 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
Used by `/wayfinder`. The **map** is a file with one **child** file per ticket.
- **Map**: `.scratch/<effort>/map.md` (the Notes / Decisions-so-far / Fog body).- **Child ticket**: `.scratch/<effort>/issues/NN-<slug>.md`, numbered from `01`, with the question in the body. A `Type:` line records the ticket type (`research`/`prototype`/`grilling`/`task`); a `Status:` line records `claimed`/`resolved`.- **Blocking**: a `Blocked by: NN, NN` line near the top. A ticket is unblocked when every file it lists is `resolved`.- **Frontier**: scan `.scratch/<effort>/issues/` for files that are open, unblocked, and unclaimed; first by number wins.- **Claim**: set `Status: claimed` and save before any work.- **Resolve**: append the answer under an `## Answer` heading, set `Status: resolved`, then append a context pointer (gist + link) to the map's Decisions-so-far in `map.md`.