The Queue
The Queue is the board's task list — what is pending, in progress, done or failed, with each card's role.
The Queue is the board’s task list. It is the surface where delegation becomes visible: what is pending, what is running, what finished and what failed.
Four entities, not one
Confusing these four is the source of most orchestration errors:
- Board — the infinite screen; the unit of orchestration.
- Card — where the work happens. A live process, which dies.
- Task — the work itself. It survives the card, the board closing and the app restart. A task can exist with no card at all.
- Participation — links a card to a task with a role (
implementerorreviewer). It is the participation that grants the right to judge, not the card itself.
Card and task are never merged. Connectors link cards; deps link tasks.
Derived status
The status of a task with a live card appears as in progress without anyone writing “running” by hand — it is derived from the participations. The states the Queue shows are pending, running, done and failed.
Append-only judgment, read per round
Each participation round ends in one judgment line:
{cardId, role, verdict, at}. It is append-only — the history of who
approved what is not rewritten.
Reading that line, however, takes one more question. Until recently a report’s verdict was stamped on every live link of the card at that instant — and in a real database 386 of 545 stored verdicts name a task the report never declared. The app fixed the reading, without rewriting anything, and today exposes three fields:
verdict— the verdict that can be attributed to this task;storedVerdict— what the column says; it differs fromverdictprecisely on those fan-out stamps;rule— why.declared_this_taskandsole_linkare real attributions: the round declared this task, or stamped a single link.declared_other_tasksays the round was talking about another task — and says which.undeclared_roundis a round that stamped several links without declaring any: exactly one is real, and there is no way to know which.
unknown is never a guess: whoever could not be attributed proposes neither
done nor closes a card. When the round ends without a verdict (the agent
died, for example), the verdict is null, and that is data, not an error.
Where the Queue lives
There is a Queue card on the board, and the same list is reachable over MCP and the CLI — that is how an agent sees what is pending before deciding what to dispatch. See MCP tools and acbridge (CLI).