Skip to main content
Orchestration is represented as a board, not a hidden prompt loop. Every card is backed by a session-tree node, and it advances only through gated transitions. Render it read-only from persisted nodes:

Columns

Done and Blocked are terminal.

WIP limits

Work-in-progress is capped per column to keep parallelism bounded: Exceeding a cap raises a board WIP error and the move is refused.

Transition gates

Each transition must clear a set of predicate gates before a card advances: Confidence thresholds default to low: 0.60, med: 0.80, high: 0.95 and can be overridden per team.

Agents cannot self-approve

A move to Done requires an injected independent reviewer. Without one, the board refuses the transition with a gate error whose failing clause is no-reviewer:
A card forced terminal by deadline, budget, or retry ceiling moves to Blocked with the reason recorded — so every blocked card carries a why.
The board is rendered deterministically from persisted session-tree nodes, so a run replays without reading the chat transcript. See the session tree.