Skip to content

[follow-up] Run the full authoritative mutation sweep + re-author the equivalence ledger (pre-publish, local) #34

Description

@P4suta

Follow-up (pre-publish, deferred to a long local run). Part of the campaign (epic #31), surfaced by P9 (#30).

P9 restored cargo-mutants visibility over the codec (the internal_modules! macro had hidden every codec module from cargo-mutants' syn mod-walk since consolidation — 1259 facade+CLI-only mutants → ~9498 codec mutants now enumerated) and migrated exclusions to function-name anchors. But the full authoritative sweep was NOT run in-session (~9498 mutants × ~1–2 min = multi-hour). Only a scoped spot-check ran (effort.rs: 7 mutants → 5 caught / 1 unviable / 1 proven-equivalent).

To do (local, before publish)

  • Run the full sweep: just mutants (config already builds --features image,rayon; see docs/mutation-testing.md for sharding guidance — split by crate/module to parallelize).
  • Re-author the equivalence ledger (.cargo/mutants.toml exclude_re) from the survivors, function-name-anchored, each inspection-verified as a true equivalent (disjoint-bit |/^, unique-key comparisons, non-terminating-loop timeouts, oracle/bench-gated helpers the sweep doesn't build). Do NOT blanket-exclude survivors — each must be a proven no-op.
  • Record the real caught/missed baseline in docs/mutation-testing.md (replacing the honest "not yet swept" placeholder — no invented numbers were committed).

Not blocking the code; it is the mechanism-over-vibes gate that should be green before the crate is published as "mutation-tested". The mechanical migration + CI wiring + rayon-differential are already committed (56bf0ac).

Metadata

Metadata

Assignees

No one assigned

    Labels

    campaignPre-publish full-surpass campaignfollow-upDeferred follow-up work from the campaign

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions