Builder vs. reviewer, proving each test
A builder and an adversarial reviewer pass a git baton between worktrees, proving every new test can catch its fix.
Use this when
Use autonomy-loop when a repository has deterministic test, build, and lint gates plus a task suited to repeated builder-reviewer handoffs.
How it runs
- Initialize autonomy-loop, configure deterministic gates and protected paths, and create separate builder and reviewer worktrees.
- Have the builder read LOOP-STATE.md, implement one bounded change, add a red-before, green-after test, and hand off.
- Have the reviewer rerun every gate and use revert-or-mutate proof to show the test catches the change.
- Accept only on both passes; otherwise return findings or park the wave for a human when a circuit breaker fires.
Done when
✓ Every accepted wave passes autonomy-loop's proof-of-test gate. The new test fails without the change, passes with it, every configured gate passes, and protected production changes remain human-gated.
Why it works
Separate worktrees and a git-backed LOOP-STATE.md baton keep the roles independent and resumable. The revert-or-mutate check catches tests that execute code without proving the fix.
Implementation note
The source implementation uses autonomy-loop commands, separate worktrees, and a git-backed baton. Treat local hooks as tripwires, not a security boundary, and keep protected changes behind enforced approval.
More testing loops
Watch tests while you work
A passive watchdog loop that reruns your test suite every 15 minutes and surfaces failing tests with their error output.
Kill flaky tests
Run your test suite repeatedly, collect every intermittent failure, and fix or quarantine flaky tests until you get five consecutive green runs.
Make all tests pass
Implement remaining code and run tests repeatedly until the full suite passes.