Conductor Router
Read the project state and return one legal transition only. The authoritative
order is FEATURES.json, .harness/loop-policy.json, LOOP_QUEUE.md, current
verdict evidence, then narrative context. Use next-step/scripts/route_next.py
for the deterministic queue read.
When a human or verifier authorizes the transition, use
scripts/transition.py <repo> <item-id> <state>. It persists only a legal
queue transition and redacted evidence. Leaving a human-gated state requires
--human-decision; VERIFYING → DONE requires a feature ID and reproducible
--check COMMAND|EXPECTED|ACTUAL evidence. The runner never performs the work
item, sends outreach, deploys, or merges.
- ORIENTING: choose
PENDINGonly when criteria and policy exist; otherwise chooseAWAITING_HUMANwith the missing decision. - PENDING / IN_PROGRESS: dispatch one bounded item to the builder.
- VERIFYING: dispatch an independent verifier.
PASSbecomesDONE; aFAILreturns only listed fixes toIN_PROGRESS; a third failure becomesBLOCKED_HUMAN. - AWAITING_HUMAN / BLOCKED_HUMAN: do not dispatch. Present
Decision neededand the evidence that makes it necessary. - DONE: record the evidence and offer the next pending item or a clean stop.
The router never edits acceptance criteria, approves assumptions, merges, or changes policy. It records only the chosen transition and its reason.
Next steps: When state or policy is malformed, suggest conductor-doctor.
When the person does not know the work's next action, suggest next-step.
When a material assumption blocks progress, suggest assumption-grill.