ADR-0012: Scoping as a governed pipeline
Status: proposed | Date: 2026-07-02
References: ADR-0001, ADR-0007, ADR-0008, ADR-0010, RFC-0001
Context
Every run starts from a hand-authored harness (~one day expert work per issue), the throughput bottleneck. Also the most dangerous manual step: #1109 burned a loop on a gate that could not isolate its target, #1489's reward hack lived in a gate that under-counted a path. ADR-0001 designed the answer (adaptive scoping, once, then frozen) but only the freeze was built; the scoping automation remained manual.
Decision
Five-stage pipeline via crucible scope: 1) Ingest and triage (goal extraction, judge-tier ranking T0/T1/T2/N), 2) Propose (one agent turn drafts the harness), 3) Validate mechanically (crucible check + gate self-test + isolation preflight), 4) Approve (draft PR, human signs off), 5) Freeze (manifest pinned, RunIdentity digest computed). The proposer is never the optimizer. Validation is mechanical. A human approves. The freeze is stamped.
Consequences
Positive: onboarding drops from a day to review-of-a-draft-PR. Two known harness failure modes (#1109 isolation, #1489 under-counting) caught by construction via gate self-test and isolation preflight. Gate self-test becomes a first-class engine contract.
Negative: scope turns cost real tokens on issues that may die at stage 3 (mechanical validation). The five-stage pipeline introduces ceremony that lightweight runs do not need.