summaryrefslogtreecommitdiff
path: root/docs/agents/issue-tracker.md
blob: 916536f916f7fad97418105a994a06d3435a9e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Issue tracker

Issues and specs live as markdown files in `.scratch/`.

## Conventions

- Each feature has a directory at `.scratch/<feature-slug>/`.
- Its spec lives at `.scratch/<feature-slug>/spec.md`.
- Each ticket has a separate file at
  `.scratch/<feature-slug>/issues/<NN>-<slug>.md`, numbered from `01`.
- Record triage state in a `Status:` line near the top of each ticket.
  Use the role strings in `triage-labels.md`.
- Append comments under a `## Comments` heading.

## Publishing and fetching tickets

To publish a ticket, create its file in the feature's `issues/` directory.
To fetch a ticket, read the referenced file.

## Wayfinding

- Keep the effort's map at `.scratch/<effort>/map.md`, with Notes,
  Decisions-so-far, and Fog sections.
- Keep child tickets at `.scratch/<effort>/issues/NN-<slug>.md`.
  Put the question in the body and record a `Type:` of `research`,
  `prototype`, `grilling`, or `task`.
- Record dependencies in a `Blocked by: NN, NN` line.
  A ticket becomes unblocked when all listed tickets are resolved.
- Choose the first open, unblocked, unclaimed ticket by number.
- Before starting work, save `Status: claimed`.
- On completion, append an `## Answer`, set `Status: resolved`,
  and add a summary and link to the map's Decisions-so-far section.