Repository navigation
v1.13.0 — Gauntlet loop at CP5
engineer 0.22.0 · atdd 0.8.4
DAE's objective graders only cover behavior — acceptance tests answer does it work, CRAP and mutation score answer is it tested. Anything they can't assert (visual fidelity to a ready design, interaction feel, output quality) fell to the human, which is why implementation got babysat even when the specs and designs were ready first.
The gauntlet loop replaces the human grader with a critic agent and a concrete bar: builder builds → a fresh critic A/Bs the output against the reference and names the single largest gap → builder closes it → repeat until ties-or-wins. Rounds run without a pause in between; the human sees them afterwards.
Where it fires
| bar | |
|---|---|
| CP5 exit, post-green | the declared reference (design export, screenshot, reference impl, golden output) |
| CP5 green loop | the failing acceptance tests — the no-human-between-rounds contract |
Not at CP2/CP4 (nothing to A/B; the review panel already covers judgment there), not at CP7/CP8 (already numeric bars with loops around them).
Opt-in by construction
The bar is declared at CP4 in plan.md's Test strategy:
gauntlet:
bar: [design/checkout-desktop.png]
capture: npm run screenshot -- --route /checkout --viewport 1440x900
max_rounds: 5No gauntlet: block → no loop, silently. Not a flag, not a default. A bar must be inspectable — prose and the ACs themselves are explicitly not bars.
Bounded four ways
clear · max_rounds · two identical gaps (no-progress) · a green stream regressing. Non-clear stops hand off with human_action_needed and the open gap named. Critics are plain subagents, never forks.
Changes
- new
engineer/references/gauntlet.md— the full contract planstep 5 — declare the bar when a real reference existsatdd-teamPhase 4 — run rounds without asking; post-green gauntlet; gateparallelism.md— CP5-exit row (loop-until, tier 3)handoff-summary.md—gauntlet_rounds[]schema + required-when ruledae_release.py— could not findatddat all (marketplace source./); now falls back to the marketplace root
490 tests pass. Credit: the Gauntlet Loop, somethingbig.ai.