Documentation · Delivery
The board & tickets
Approving your architecture produces a board: milestones broken into epics and stories. Each story is a complete, independently deliverable slice — schema, API, UI, wiring, and tests together — never fragments. Here's how to read and drive it.
The lifecycle of a ticket
| Stage | What happens |
|---|---|
| To Do | Created from decomposition with a title and description. Before it can run, it needs details — open the ticket and click Generate details: the AI writes scope, acceptance criteria, and the exact files to touch, grounded in your approved documents and the repository's current code. |
| In Progress | Implementation dispatched: code is generated against the real repo, written to a workspace on your build VM, and validated with your project's own build and test commands. Failures loop through automatic repair. A live log streams in the ticket drawer. |
| In Review | (Classic mode only) a per-ticket pull request is open for you. In auto-deliver mode tickets skip this — they land on the milestone branch, and the milestone gets reviewed twice: once by you on its pull request, and once by an automated technical-debt review before it can be approved (see the auto-deliver guide). |
| Done | Delivered. The ticket shows its total AI cost — every model call it took, metered. |
Things the board enforces for you
- Document gate: a ticket bounces back to To Do (with the reason on it) if any required document is awaiting approval — an unapproved architecture silently disabling the test gate is exactly the failure this prevents.
- Details gate: Implement is disabled until details are generated — the pipeline implements from acceptance criteria, not from a one-line title.
- Dependencies: a story can't start until everything it depends on is Done — some dependencies come from decomposition automatically; you can also declare your own from a ticket's detail view (see below).
- Test labels: each ticket shows Tests required or No tests (infrastructure/docs tickets verify by building instead). Derived from the ticket's category — edit the category to override.
- Milestone gate: each milestone's tickets can't start until you've explicitly approved the one before it — every milestone re-earns its own gate (every ticket Done, its PR merged, and a clean automated technical-debt review), not a single approval that unlocks everything forever. See the auto-deliver guide for what Approve actually checks.
Reading a ticket's details
Open any ticket to see:
- Scope — what IS and explicitly is NOT included.
- Acceptance criteria — concrete, testable statements; the last one always names how the work is verified.
- Suggested files — where the change lands, including the existing wiring files it must integrate with.
- Last attempt — if a run failed, the distilled reason, never a silent retry.
- Session Activity — per-round stats for the AI sessions that worked this ticket: duration, number of turns, tool calls, and token usage for each work-queue round.
- Linked tickets — click Add link to declare this ticket Blocks, Depends on, Relates to, or Duplicates another ticket, picked from a searchable list.
Details can be regenerated any time the plan changes — regeneration is aware of everything already merged, including work sibling tickets landed on the current milestone branch.