Redundant-test review from a complete matrix #1666
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1666
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The second mutation pass lists 2,735 redundant-test candidates in
overlap.tsvandreport.tsv. They are not reliable. The matrix is incomplete (1,705 rows stopped early). A test that looks redundant can be the only killer of a mutant whose row stopped early. This ticket waits for #1665.Observed
overlap.tsvholds 5,025 shared-kill pairs, 5,294 sole-foreign-killer rows, and 567 many-killer rows. The files with most candidates arecops/repeated_collaborator_construction_test.rb(50),cops/domain_effect_in_edge_test.rb(43),cops/precedence_in_edge_test.rb(41),crc/tickets_bin_test.rb(35), andsystem_model_catalog_test.rb(34).Reproduce
n/a: the data comes from a whole pass.
Approach
After #1665, make one matrix run scoped to the directories that the candidates affect. Run no whole pass. Rebuild the candidate list from that run. For each candidate group, delete or merge the redundant tests, and record a ruling per group.
Required work: none beyond the acceptance criteria.
Acceptance criteria
Blocked by
#1665 (integration tests stop at the seams).
Origin
docs/research/mutation-testing/2026-11-09-second-pass/)plugins/os-sdlc/test/,docs/research/mutation-testing/2026-11-09-second-pass/overlap.tsvVERDICT: CREATE (ticket-skeptic, 2026-11-09): no open ticket covers redundant-test deletion from a complete matrix.
Evidence from #1665 (branch ticket-1665, record docs/research/mutation-testing/2026-11-10-integration-tests/README.md), for the scoped matrix run:
The worker count for the matrix run is an open decision for Jared.
Resolution
Done: Scoped matrix runs per candidate group (the candidates touch 930 of 1,001 lib files, so a directory scope is a whole pass). Every candidate group has a ruling: 117 keeps the cop, detector, and lint example tests; 118 deletes or merges a behavior test only when another test makes the same assertion at the same seam; 119 keeps the other candidates after a sample of 85 pairs gave 1 merge. One merge in test/crc/tickets_bin_test.rb.
Evidence: Commit
667c8de81on ticket-1666. Record docs/research/mutation-testing/2026-11-10-redundant-test-review/README.md. AC 2: the removed test killed 135 mutants in 23 lib files; after the merge 0 survive (targeted --no-matrix run, --jobs 8). tickets_bin_test.rb: 45 runs, 0 failures.Follow-ups: none: the 69 survivors in the g2 run sit in crc and boot lib files, which #1660 and #1664 own.