Execution Model

The 10-Lane Pipeline

Ten lanes, three roles, and a scheduling order chosen to stop the board silting up with unreviewed work.

#LaneWhat it means
1backlogAuthored but not yet admitted to the run
2readyAdmitted and claimable by a builder
3buildingA builder holds the lease and is writing code
4builtCode exists; claimable by a refiner or a reviewer
5refiningA refiner is finishing the experience
6refinedReady for review
7reviewingA reviewer is driving the gates
8needs_reworkReview refused it; a builder may pull it again
9blockedParked with a stated reason — an overrun lands here
10doneEvery required gate holds a passing, evidence-backed verdict

Reviewers drain first

Each pass counts what is pullable per role and dispatches in a fixed order: reviewer, then refiner, then builder.

The reason is backpressure. A board that always pulls builders first grows a queue of built cards nobody reviews — work in progress accumulates at the tail while the front keeps accepting more. Draining the pipeline before feeding it keeps the two ends in balance.

A pipeline, not batches

Up to three workers run at once by default, and the slot that frees up immediately pulls the next card.

A batch scheduler waits for its slowest member before planning the next round, so one twenty-minute card would idle every other worker for twenty minutes. Here wall-clock is governed by the longest single chain rather than the sum of per-batch worst cases.

Three hard stops

Dispatch halts on a card ceiling (max_cards, a hard stop rather than a target — a board producing endless rework cycles would otherwise loop forever), on the spend ceiling, or when an operator pauses the fleet.

All three stop dispatching while letting in-flight workers finish. Killing a live worker abandons its claim and wastes everything it has already spent.

With --watch, a board that runs dry is re-checked every few seconds instead of ending the run — but watch deliberately does not override a spent budget or an operator pause, because that would make the stop button advisory.