Kill the 10 pass 3 survivors hidden as load timeouts #1713
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#1713
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
Whole mutation pass 3 (2026-11-11, main
9a1895a1f) reported 10 mutants as timeouts. A check at 8 workers on 2026-11-12 shows that they are survivors. With 12 workers on 12 processors, each survivor ran all of its covering tests for more than 10 s, so the pass reported a timeout. No pass 3 ticket saw them. None has a ledger row in.sdlc/mutation-rulings.tsv, and none is a known visible mutant (ruling 137).Observed
docs/research/mutation-testing/2026-11-11-third-pass/timeout_check.tsvlists each mutant with the resultsurvived.lib/os_sdlc/cops/structural/def_key.rb:12: 64d19d451d51 (statement_removal), abe00e636740 (condition_false)lib/os_sdlc/cops/structural/same_file_defs/call_keys.rb:43: 0000bee9aa33 (condition_true)lib/os_sdlc/detector/cop_sites.rb:19: 64a4ae8ecc38 (boolean_literal)lib/os_sdlc/detector/cop_sites.rb:28: da1b7c21104e (statement_removal)lib/os_sdlc/system_model/extractor/class_visitor.rb:24: 8808b3d94bb7 (arithmetic)lib/os_sdlc/system_model/extractor/entry_scripts.rb:30: a4ef25fdfe8e (arithmetic)lib/os_sdlc/system_model/extractor/forwarding.rb:18: 789a59f41a74 (statement_removal)lib/os_sdlc/system_model/extractor/visibility.rb:13: 39ba99805709 (boolean_connector)lib/os_sdlc/system_model/extractor/walk.rb:10: 84278eb2ccf2 (statement_removal)Reproduce
From
plugins/os-sdlc, run Mutineer on the 9 files above with all test files, the pass 3 operators (tier 1 pluscondition_true,condition_false,negation_removal),--strategy redefine,--jobs 8, and--no-matrix. The 10 IDs above are survivors.Approach
Run each file through
plugins/os-sdlc/references/survivor-loop.md, as with #1702-#1708: a paired test kills the mutant, a dead-code deletion removes it (ruling 107), or a ledger row rules it with a reason that holds for every input. The packet--testlist holds every covering test plus each pairedtest/os_sdlc/<lib path>_test.rb. The orchestrator re-runs every packet at--jobs 8before the close.Required work: none beyond the acceptance criteria.
Acceptance criteria
--jobs 8with the pass 3 operators, then the run shows 0 unruled survivors and none of the 10 IDs is a timeout.Origin
docs/research/mutation-testing/2026-11-11-third-pass/README.mdsection "Timeout check at 8 workers".--jobsdid not exist yet (#1701).VERDICT: CREATE (ticket-skeptic, 2026-11-12; approved by ruling 140)
Resolution
Done: 8 unruled survivors that pass 3 reported as load timeouts, plus entry_scripts.rb:35 (90a4fe6e2789), went to 0 through the survivor loop: 38 tests in the QueryMethodReachesWrite cop test, test/detector/cop_sites_test.rb, and new paired files for ClassVisitor, EntryScripts, and Visibility. No code change. The ticket said 10; #1704 had already ruled 789a59f41a74 and 84278eb2ccf2 equivalent.
Evidence: Commit
b7f28465f, merged to main after main mergef0d94e9c2. Orchestrator packet re-runs on the merged branch: 0 survivors of 35 (def_key, call_keys), 0 of 10 (cop_sites), 0 unruled of 74 (extractor; 2 ledger rows). Full suite 5364 runs, 0 failures; rubocop 5 files, no offenses; sonnet test review: no blocking findings, 3 minor applied.Follow-ups: #1714 (sort the 13 remaining timeouts) is already open. Ledger row 83 (key 9836f490e1b0) needs a new key after the git-off-process-io merge; recorded in the handoff, no new ticket.