← ClaudeAtlas

mutation-test-runnerlisted

Generates code mutations from a fixed operator catalog, runs the test suite against each mutant, and computes the mutation score. A surviving mutant points directly at an assertion that doesn't actually check what it claims. Gate contract — zero surviving mutants in P0 code + domain-specific mutation score threshold. PIPELINE-2 step 2 (conditional) / PIPELINE-6 step 2.
mytechsonamy/VibeFlow · ★ 0 · AI & Automation · score 75
Install: claude install-skill mytechsonamy/VibeFlow
# Mutation Test Runner An L2 Truth-Execution skill. Line coverage tells you which code was executed; mutation testing tells you which assertions were **verifying** the execution. A test that runs a function without asserting on its output has 100% line coverage and 0% mutation score — the two metrics disagree precisely where regressions slip through. This skill measures the gap. Where `regression-test-runner` tells you "did the tests pass", mutation-test-runner tells you "did the tests actually test". That second question is the one `release-decision-engine` leans on for quality signals beyond raw coverage. ## When You're Invoked - **PIPELINE-2 step 2 (conditional)** — run when the PR diff touches domain-critical code (financial ledger, auth path, healthcare PHI handler). The condition is set by the domain's `criticalPaths` list in `vibeflow.config.json`. Non-critical PRs skip mutation testing at this stage — it's too slow for every commit. - **PIPELINE-6 step 2** — every pre-release run, full scope. This is where the mutation score feeds the release decision. - **On demand** as `/vibeflow:mutation-test-runner [--files <glob>] [--scope <s>]`. - **From `release-decision-engine`** when the decision engine needs a fresh mutation signal for the GO/CONDITIONAL call. ## Input Contract | Input | Required | Notes | |-------|----------|-------| | Source files | yes | Glob or explicit list. Default: all tracked source files. | | Test files | yes | Derived from `repo