Coverage proves a line ran; it does not prove a test would catch the line breaking. This loop attacks test QUALITY rather than quantity: each pass injects one small semantic mutation into recently changed code (flip a boolean, drop a guard, change an operator, weaken a threshold) and runs the suite — any mutant that survives is a test encoding behavior but not intent, so the loop strengthens the missing assertion, reverts the mutant, and repeats. Distinct from autoloop-tdd (writes new behavior test-first) and coverage-until-threshold (hits a percentage): here the exit condition is that every injected mutant is killed.
Loop
- Goal
- every semantic mutation injected into recently changed code is caught by a failing test (no surviving mutants), with the suite green and all mutants reverted
- Exit when
- every manually injected mutant produced a failing test, the suite is green, and all mutants are reverted (a clean run confirms no mutant is left behind)
Check between iterations