Repair Loop
Effort: light — the loop itself is discipline plus one independent grading pass; the heavier steps it chains (gauntlet, tribunal) carry their own stamps and fire only on changes that ship. Removes: green-but-broken landings, and the reopened-bug rework they cost.
The default loop for any fix, bug close, or uplift. It is a behavior, not approval
machinery: it adds zero gates and zero friction for the human. It binds the agent to a
discipline that makes "green but broken" structurally hard to ship.
Load first, before any design or edit
- invariant-floor — read your ruleset before you work.
- human-calibration — apply the human's profile; never re-interrogate them.
- understanding-gates — the diagnostic planner: Design → Plan → Build → Test → Ship.
- wayfinder — when lost, chart the route; never park a question on the human.
- If the ask arrives as prose or metaphor, run intent-compiler first and loop on the deduced directive.
The loop
- Ground in the floor. Load the rules and the project's own truth (docs, source,
tracker) before touching code. Work done from memory of the rules does not count.
- Reproduce on live truth. See the failure yourself, on the real path the human
uses — not a proxy probe, not the bug report's word for it. No reproduction, no fix.
- Red contract test. Write a failing test that captures the defect, and commit it
before the fix. Prove it is actually red. The fix makes it green; the fix never edits
the test. See red-first.
- Fix the CLASS at the seam — not a point patch per symptom. The full formula
lives in seam-engineering.
- Verify on the real path. Trust but verify. Capability is proven on the human's
own surface (the UI they type into, the command they run), never on a green test
over a mocked seam. Check every claim ("the other branch landed it", "that service
is down") against live truth before acting on it.
- Measure the fix. Mid-loop, run only the tests that cover the seam you touched —
see sniper-testing. Then run the
clean-code-gauntlet on the changed code:
scoped tests, complexity-vs-coverage score, bounded mutation testing. A mutant that
survives your fix means the test never reached the branch you changed — fake green;
keep iterating.
- Independent grade. A grader that did not author the change (ideally a model
from a different family than the builder) must pass it. The builder never grades
its own work. See blind-tribunal.
- Check concurrent work. Before altering shared state, verify any other session's
in-flight work is preserved (on a branch or commit). Never commit or clean up work
that is not yours.
- Land. One full pass over the touched modules' suites at landing, then commit.
Close every finding the loop surfaced on this seam — or record an explicit,
evidenced "not a bug" verdict per finding. "Fixed the big one, deferred the rest"
never lands.
Iterate until true
A rule that is not yet met does not stop the loop — it drives it. Escalate the model
or tier, fix the blocker, retry, until every step above is true and the change lands.
"Good enough" is not a status. If genuinely stuck twice on the same seam, log exact
blocker evidence and move to the next unblocked piece — never grind silently.
Hard rules — any one of these fails the skill
- Fix shipped without a reproduction on live truth.
- Test written after the fix, or edited by the fix.
- Symptom patched while the class stays open at the seam.
- Capability claimed green off a proxy while the human's own path is broken.
- Builder graded its own change.
- A surfaced finding silently deferred at landing.
- Loop abandoned at "good enough" instead of escalated.
Report
Two words, PROVEN or STILL-BUILDING, plus the intent in plain language and
the single decision in front of the human, if there is one. Questions go to the human
only for taste, vision, or destructive risk; see decision-bar.
Works well with
1---2name: repair-loop3description: Use when fixing a bug, closing a reported issue, or uplifting a seam end to end. Runs the full repair loop (ground in the floor, reproduce on live truth, red contract test, fix the class at the seam, verify on the real path, independent grade, land) and iterates until it is true. Trigger words: repair loop, dev mode, fix this, uplift, close the seam, dev build.4license: MIT5---67# Repair Loop8**Effort:** light — the loop itself is discipline plus one independent grading pass; the heavier steps it chains (gauntlet, tribunal) carry their own stamps and fire only on changes that ship. Removes: green-but-broken landings, and the reopened-bug rework they cost.910The default loop for any fix, bug close, or uplift. It is a behavior, not approval11machinery: it adds zero gates and zero friction for the human. It binds the agent to a12discipline that makes "green but broken" structurally hard to ship.1314## Load first, before any design or edit15161. [invariant-floor](../invariant-floor/SKILL.md) — read your ruleset before you work.172. [human-calibration](../human-calibration/SKILL.md) — apply the human's profile; never re-interrogate them.183. [understanding-gates](../understanding-gates/SKILL.md) — the diagnostic planner: Design → Plan → Build → Test → Ship.194. [wayfinder](../wayfinder/SKILL.md) — when lost, chart the route; never park a question on the human.205. If the ask arrives as prose or metaphor, run [intent-compiler](../intent-compiler/SKILL.md) first and loop on the deduced directive.2122## The loop23241. **Ground in the floor.** Load the rules and the project's own truth (docs, source,25 tracker) before touching code. Work done from memory of the rules does not count.262. **Reproduce on live truth.** See the failure yourself, on the real path the human27 uses — not a proxy probe, not the bug report's word for it. No reproduction, no fix.283. **Red contract test.** Write a failing test that captures the defect, and commit it29 before the fix. Prove it is actually red. The fix makes it green; the fix never edits30 the test. See [red-first](../red-first/SKILL.md).314. **Fix the CLASS at the seam** — not a point patch per symptom. The full formula32 lives in [seam-engineering](../seam-engineering/SKILL.md).335. **Verify on the real path.** Trust but verify. Capability is proven on the human's34 own surface (the UI they type into, the command they run), never on a green test35 over a mocked seam. Check every claim ("the other branch landed it", "that service36 is down") against live truth before acting on it.376. **Measure the fix.** Mid-loop, run only the tests that cover the seam you touched —38 see [sniper-testing](../sniper-testing/SKILL.md). Then run the39 [clean-code-gauntlet](../clean-code-gauntlet/SKILL.md) on the changed code:40 scoped tests, complexity-vs-coverage score, bounded mutation testing. A mutant that41 survives your fix means the test never reached the branch you changed — fake green;42 keep iterating.437. **Independent grade.** A grader that did not author the change (ideally a model44 from a different family than the builder) must pass it. The builder never grades45 its own work. See [blind-tribunal](../blind-tribunal/SKILL.md).468. **Check concurrent work.** Before altering shared state, verify any other session's47 in-flight work is preserved (on a branch or commit). Never commit or clean up work48 that is not yours.499. **Land.** One full pass over the touched modules' suites at landing, then commit.50 Close every finding the loop surfaced on this seam — or record an explicit,51 evidenced "not a bug" verdict per finding. "Fixed the big one, deferred the rest"52 never lands.5354## Iterate until true5556A rule that is not yet met does not stop the loop — it drives it. Escalate the model57or tier, fix the blocker, retry, until every step above is true and the change lands.58"Good enough" is not a status. If genuinely stuck twice on the same seam, log exact59blocker evidence and move to the next unblocked piece — never grind silently.6061## Hard rules — any one of these fails the skill6263- Fix shipped without a reproduction on live truth.64- Test written after the fix, or edited by the fix.65- Symptom patched while the class stays open at the seam.66- Capability claimed green off a proxy while the human's own path is broken.67- Builder graded its own change.68- A surfaced finding silently deferred at landing.69- Loop abandoned at "good enough" instead of escalated.7071## Report7273Two words, **PROVEN** or **STILL-BUILDING**, plus the intent in plain language and74the single decision in front of the human, if there is one. Questions go to the human75only for taste, vision, or destructive risk; see [decision-bar](../decision-bar/SKILL.md).7677## Works well with7879- [incident-closure](../incident-closure/SKILL.md) — when the human reports breakage, this loop runs inside a full close.80- [red-first](../red-first/SKILL.md) · [seam-engineering](../seam-engineering/SKILL.md) · [sniper-testing](../sniper-testing/SKILL.md)81- [blind-tribunal](../blind-tribunal/SKILL.md) · [clean-code-gauntlet](../clean-code-gauntlet/SKILL.md)