← ClaudeAtlas

fuzz-before-you-claim-donelisted

Before declaring a runtime-semantics change "done and verified", run a seeded property sweep over randomized inputs (graph shapes, schedules, interleavings) with invariants instead of expected outputs, plus instrumentation (TRAP logs) on the mechanism under test — because your hand-picked tests encode your own assumptions, and a design can be green on every one of them and still wrong. Two prior designs in the same arc were green on 1,638 tests and both double-fired. Make failures reproducible by seed alone. Use for schedulers, barriers, retry logic, caches, state machines — anything whose input space is combinatorial. Trigger terms: done and verified, all tests pass, edge cases covered, chaos test, property test, seeded fuzz, invariant, interleaving, crash test.
serhiy-bzhezytskyy/contrib-receipts · ★ 1 · AI & Automation · score 75
Install: claude install-skill serhiy-bzhezytskyy/contrib-receipts
# Fuzz before you claim "done" ## Purpose A hand-picked test list is a mirror: it verifies the cases its author imagined, and the author of the tests is usually the author of the change. In someone else's repo that gap lands on the maintainer — the reviewer becomes your fuzzer. A seeded property sweep is the cheapest adversarial reviewer you can hire before the human one: randomized structures, deterministic per seed, checked against *invariants* ("no writes lost", "exactly once", "resume equals uninterrupted") rather than expected outputs. When it fails, the seed is the whole repro. ## When to use - Any change to execution semantics: scheduling, barriers/joins, retries, caching, interrupts/resume, checkpointing — anything where inputs combine. - Before writing "verified" / "all cases covered" in a PR body or a handoff. - When your deterministic suite is green and you notice every test was written by the same mind that wrote the code. ## When NOT to use Pure data transforms with enumerable inputs — a table-driven test is clearer. And don't ship the 10,000-seed run in CI: sweep large once, commit a small seeded subset, record the large run's result where the reviewer can see it. Two adjacent adversaries answer different doubts, and a fuzz run answers neither: [red-team-your-own-diff](../red-team-your-own-diff/SKILL.md) attacks the diff with a named reviewer's own recorded rules, and [run-the-bots-review-before-it-does](../run-the-bots-review-before-it-does/SKILL.md)