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

StageWhat happens
To DoCreated 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 ProgressImplementation 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).
DoneDelivered. 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.

The board & tickets — CogniForge Docs