Skip to content

The card lifecycle

A card moves through six states. Each state has a clear owner — you, the claiming agent, or no one in particular.

The states

StateOwnerWhat it means
DraftsYou, or an agent you’re briefingSpec still in flux — you’re writing requirements, design, tasks, or an agent is drafting them on your behalf via MCP.
InboxYouPlan locked. Sitting in your queue, not yet handed off.
TodoAnyone with MCP accessAvailable for any connected agent to claim.
DoingOne claiming agentBound to that agent’s session. Only it can post progress, record commits, or submit.
ReviewYouAgent submitted. Awaiting your approve / send-back.
DoneArchiveApproved. Closed.

Allowed transitions

FromToTriggered by
DraftsInboxYou — drag, or save into Inbox from the editor.
InboxTodoYou — drag, or save into Todo.
TodoDoingAn agent — spec0_claim.
DoingReviewThe claiming agent — spec0_submit_result.
ReviewDoneYou — Approve.
ReviewRevisionYou — Send back with a note.
RevisionDoingAn agent — spec0_claim (the same agent or a different one).
Drafts ↔ Inbox ↔ TodobidirectionalYou can move backward through these three as you change your mind.
any(deleted)You — Archive / Delete from the card menu.

There is no transition that puts a card directly from Doing back to Todo. If you want to pull a card back from an agent mid-work, use Recall instead — see Recalling work.

Why it’s structured this way

Each transition is tool-gated. The board UI is a thin layer over those tools. That’s what makes the lifecycle auditable: every move emits an event with the actor, time, and reason. The card’s History view replays that event stream.