← ClaudeAtlas

mutation-testinglisted

Use when adding or reviewing a gate, guard rule, CI grep, or test assertion in this plugin's own scripts — and whenever a suite is green and you need to know whether that means anything. Runs scripts/mutate.sh, which breaks the code on purpose and reports which assertions failed to notice. Triggers from code-reviewer, verification-engineer, and any change under scripts/ or hooks/.
vmobifystudio/app-dev-team · ★ 4 · Testing & QA · score 74
Install: claude install-skill vmobifystudio/app-dev-team
# Mutation testing `defect-hunting` §3 says a new rule is not done until you have watched it fail, in three steps. That instruction was followed by hand, when someone remembered. On 2026-07-29 the suite read **385 passed, 0 failed** while containing a `grep -E` with a PCRE lookahead (a syntax error, stderr to `/dev/null`, `|| ok` every time), two doctor assertions that a demoted gate could not turn red, and a hook that stood down in exactly the incident it was written for. **A green suite is evidence only to the extent its assertions can go red.** `scripts/mutate.sh` is that, executable. ## Running it ```sh sh scripts/mutate.sh # all 16 catalogued mutations (~1 min each — the whole suite runs) sh scripts/mutate.sh --list # the catalogue, plus what it cannot test and why sh scripts/mutate.sh --only M04 # one mutation, while you iterate on an assertion sh scripts/mutate.sh --sample 4 # what CI runs on every PR ``` Exit `0` all caught · `1` something SURVIVED · `2` could not run (baseline not green, anchor drifted). Three verdicts matter: - **CAUGHT (n assertions)** — the gate bites. - **SURVIVED** — the gate can be deleted and the suite stays green. **That is a hole**, and it is a finding at the same severity as the bug the gate was supposed to catch. - **CAUGHT, but NOT by the assertion written for it** — some unrelated assertion noticed. Not a hole today; the named guard is decorative, and the next refactor that touches the unrelated