The five-state board Shipped

Five states, and the two that check anything

The states are Linear's, on purpose — nobody needs a new vocabulary for work. What is different is that two of the transitions are gates: one will not let work start without a spec, and one will not let it close without evidence.

dash.commitcycle.com/boardCC

✓ gate: four fields answered, no high-risk zone to approve

REQ-7 · schema · write · CC-42

Reason: the board query needs an index

Instead: hand the DDL to the owner

1 hour4 hoursUntil the task closes

✓ Approved — schema is open to CC-42 for 4 hours

In the console a task crosses the gate into In Progress, and a zone’s owner answers an access request — for one hour, four, or until the task closes.

The five

StateWhat it means here
TriageOne line, from anywhere. A request that has not been scoped is not work in progress
TodoAccepted as work. Nothing is checked on the way in: the four fields are checked at the gate into In Progress
In ProgressThe first gate. A grant exists, bound to one task and one branch, and it expires
In ReviewHanded in. The zones closed in the same breath the board moved
DoneThe second gate. A manifest, the evidence the quality gate named, and an audit record

Outside the five sits Canceled: work can be dropped from any state before In Review, and the gate asks why.

One line reached Triage 4.0 seconds after the click — with the typing scripted, measured once, on 2026-08-04, for one task. Capture is meant to be cheap; it is the two gates that are meant to cost something.

The task spec: four fields, settled before the gate

The first gate refuses to open without these. They are the design-doc fields, not a ceremony invented here.

There is no mandatory checklist beyond these four, anywhere in the product, and that restraint was argued for three times with data.

The gate is a transition, not a command

There is no open-zone. Access exists because a task moved, and it is bound to the branch that task named. That matters more than it sounds: the moment a second door exists it becomes the one everybody uses in a hurry, and a gate with a bypass command is a suggestion with extra steps.

Closing is the same shape in reverse. The second gate computes a change manifest from the branch — over the connector it takes the agent's reported file list instead, and the record marks it as reported; from the console or a merge, it takes the hand-in's recorded diff or the merged pull request's files as GitHub lists them — asks for the evidence the quality gate names, and writes the audit record last, so it contains everything else.

Spike mode, for the work that should not survive

Exploration leaves residue: code that shipped because nobody decided it should not. A spike is time-boxed and disposable by default — promoted deliberately or discarded, on its own branch: cycle start cuts task/ as for any task, and only a start from the console or the connector gets a spike/ one. CommitCycle creates no tables of its own: cycle discard runs your project's own cleanup command if you configured one, and says so when you have not.

The schema zone stays shut for the whole of it, regardless of what the grant says. It is the one place a git revert cannot save you, which is why it is the zone governance setup always proposes.

Where it stops

The states and their transitions are in the docs, the model a task declares against is the zone map, and what it leaves behind is the record.

Questions this page answers

How is this different from Linear or Jira?

The states are deliberately the same — they are Linear's default workflow, mapped one to one. The difference is what a transition does: moving a task to In Progress mints a grant bound to that task and that branch, so In Progress is a permission rather than a label.