You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the plan for Release 3 of the tautological-tests effort (the cleanup skill), moved out of draft PR #5604 so it is tracked as an issue. The PR is closed unmerged because plans now live in the PR body and a linked issue, and docs/specs is being deleted (#5719).
This PR holds the design (DT1-DT18) and implementation plan for Release 3 of the tautological-tests
effort. It changes documents only, under docs/specs/tautological-tests-cleanup/, and no plugin
code.
The user's decisions of 2026-09-30 are applied. Release 3 now builds the testing:cleanup skill
only. Wave 2 is deferred by A15 (approved). Split mode is deferred by a new amendment, A16. Each
decision is recorded in its design thread as "Decided 2026-09-30 (user)". The user approved the
plan on 2026-10-01 ("Approval: approved by the user 2026-10-01").
Fix
What the plan proposes:
testing:cleanup <folder> reads testing:audit findings, Release 2 judge FLAG verdicts, and
the flaky tests the user names. A red baseline stops the batch and names the failing tests, so
the user can name the flaky ones or fix them. A fresh-context classifier applies Q9's order: quarantine,
rewrite, delete, merge, keep. It rewrites by default and deletes only with a positive no-contract
statement and the user's yes on each deletion. Nothing is committed until the user approves the
batch.
Mutation gate.mutation-testing:audit gains --record-mutants and --replay-mutants.
The recording run uses Release 2b's --exercised <folder> --max <n> (docs(testing): plan Release 2b mutation scope #5603, DT3 mapping),
with no --paths and no diff intersection. The 2b interface is settled: --exercised takes
an optional test file or folder, the effort cap applies and --max overrides it, and 2b
recognizes test files through cant-fail-scan.sh --file (cleanup lives in testing, so the
scanner is always installed).
Replay applies exactly the recorded mutants. Its own compare step, compare-records.sh,
requires every mutant detected before to still be detected after.
The record format is private to mutation-testing: no version header, no col column, and no
skew check.
On a lost kill the batch is blocked, cleanup lists the candidate changes, and the user reverts.
Deferred, each with a switch condition:
Split mode (A16). plan.md keeps a "Deferred: split mode" section. If split mode ships, its
simpler form is a done-time git diff --quiet <freeze-sha> -- <files> check. DT14 now cites
probe R2-P8 on docs(testing): Release 2 judge design, plan and Phase 1 probes #5605: /clear issues a new session_id and --resume keeps it.
Plan approval. Approved by the user on 2026-10-01 (every design thread, the classifier on
opus, and the split-mode threshold). Implementation comes after 2b merges.
Housekeeping: #5605 already rewrote the Release 2 gate. The next PR that edits docs/specs/tautological-tests.md adds this plan's Release 3 pointer (spec:890), along with the
A15 and A16 text (Phase 1).
Plan files
Both files are at the head of the docs/tautological-tests-cleanup branch (commit 077daad22a4d7b98ce03707f60900d0d155592e0); the branch is kept for reference.
This is the plan for Release 3 of the tautological-tests effort (the cleanup skill), moved out of draft PR #5604 so it is tracked as an issue. The PR is closed unmerged because plans now live in the PR body and a linked issue, and
docs/specsis being deleted (#5719).Blocked by #5741
Summary
This PR holds the design (DT1-DT18) and implementation plan for Release 3 of the tautological-tests
effort. It changes documents only, under
docs/specs/tautological-tests-cleanup/, and no plugincode.
The user's decisions of 2026-09-30 are applied. Release 3 now builds the
testing:cleanupskillonly. Wave 2 is deferred by A15 (approved). Split mode is deferred by a new amendment, A16. Each
decision is recorded in its design thread as "Decided 2026-09-30 (user)". The user approved the
plan on 2026-10-01 ("Approval: approved by the user 2026-10-01").
Fix
What the plan proposes:
testing:cleanup <folder>readstesting:auditfindings, Release 2 judge FLAG verdicts, andthe flaky tests the user names. A red baseline stops the batch and names the failing tests, so
the user can name the flaky ones or fix them. A fresh-context classifier applies Q9's order: quarantine,
rewrite, delete, merge, keep. It rewrites by default and deletes only with a positive no-contract
statement and the user's yes on each deletion. Nothing is committed until the user approves the
batch.
mutation-testing:auditgains--record-mutantsand--replay-mutants.--exercised <folder> --max <n>(docs(testing): plan Release 2b mutation scope #5603, DT3 mapping),with no
--pathsand no diff intersection. The 2b interface is settled:--exercisedtakesan optional test file or folder, the effort cap applies and
--maxoverrides it, and 2brecognizes test files through
cant-fail-scan.sh --file(cleanup lives intesting, so thescanner is always installed).
compare-records.sh,requires every mutant detected before to still be detected after.
mutation-testing: no version header, nocolcolumn, and noskew check.
plan.mdkeeps a "Deferred: split mode" section. If split mode ships, itssimpler form is a done-time
git diff --quiet <freeze-sha> -- <files>check. DT14 now citesprobe R2-P8 on docs(testing): Release 2 judge design, plan and Phase 1 probes #5605:
/clearissues a newsession_idand--resumekeeps it..claude/*config file. Any cleanup config reads the testing config wherever Config location: docs convention file with a CLAUDE.md pointer as the default, .claude/ as an option #5606puts it.
Open items for the user:
opus, and the split-mode threshold). Implementation comes after 2b merges.
Housekeeping: #5605 already rewrote the Release 2 gate. The next PR that edits
docs/specs/tautological-tests.mdadds this plan's Release 3 pointer (spec:890), along with theA15 and A16 text (Phase 1).
Plan files
Both files are at the head of the
docs/tautological-tests-cleanupbranch (commit077daad22a4d7b98ce03707f60900d0d155592e0); the branch is kept for reference.Open ask
Open ask: the owner approves or revises the plan.
Amended 2026-10-01
docs/conventions/testing.md, with.claude/testing.yamlas a fallback.