โ€บNavigation
Dashboard โ€บ Rotation-Orthogonal-Probe Campaign โ€บ iter 17

iter 17 โ€” sibling-stage mechanics: a one-keystroke crash found and fixed

BREAKS โ†’ DEFENDED โ†’ CLOSED  2026-07-10 ยท the last ยงB stage directly attacked ยท duplicate-name slate crashed raw, now deduped-with-warning ยท clean 0/3 (reset)

Claim under attack (assumed true only to destroy it)

The sibling stage (Finish โ€” mutual-duplicate detection within a slate) is operationally sound: (i) a slate containing a duplicate kernel name โ€” a one-keystroke operator error in the terminal phase's --names lists โ€” is handled sanely; (ii) sibling fields are well-formed on real multi-kernel slates; (iii) the PENDING-SIBLING guard degrades a would-be PASS with unmeasurable siblings.

Result matrix

FalsifierResult
F1 โ€” duplicate-name slateFIRED, exactly as code-reading predicted: candidate_matrix's name-keyed dict collapses to ONE column while names keeps two โ†’ raw IndexError: index 1 is out of bounds for axis 1 with size 1 deep in numpy. A slate typo kills the whole run.
F2 โ€” sibling fields on a real 8-kernel slate8/8 well-formed (sibling_worst_rho, sibling_worst_loo_r2, stages.sibling)
F3 โ€” PENDING-SIBLING guard (conditional)CONDITIONAL-UNTESTABLE on live kernels: no PASS-verdict kernel in the discovery batch (2 BAN ยท 3 WATCH ยท 3 PENDING on the 2-cell smoke grid); the guard's logic remains pinned by the declaration self-test (PASS + no sibling measurement โ†’ PENDING)

DEFENSE โ€” slate hygiene at both verdict APIs

aggregate_worst_cell / aggregate_worst_regime:
+   names = list(dict.fromkeys(names))          # dedup, order-preserving
+   stderr: "WARNING: N duplicate candidate name(s) removed from the slate"

Re-run: the dup slate completes with exactly one well-formed entry (verdict WATCH for sevcik_fd, all hardened fields present); ยงB declaration self-test PASS.

Bonus intel โ€” live-kernel verdict landscape (8 kernels, 2-cell smoke)

bartels_rank_vn_ratio BAN (shipped twin) ยท semivar_signed_ratio BAN ยท sevcik_fd / updown_cjs / anderson_darling_a2 WATCH ยท edge_spread_bps / hvg_clustering / petrosian_fd PENDING (all three with iter-13 failure records naming the cause). Useful triage for the terminal phase.

Evidence

FileWhat
a17_sibling_stage_attack.pyThe attack โ€” falsifiers pre-declared in-file.
a17_results.json ยท a17_batch_verdict.json ยท a17_dup_verdict.jsonFalsifier evaluation + the probe's own batch and (post-fix) dup-slate verdicts.
a17_stderr.log ยท a17_stderr_postfix.logPre-fix (raw IndexError) and post-fix (dedup warning) runs under the 2 CPU / 2 GB scope.
regression_tests/test_a17_sibling_stage.shPermanent regression test โ€” re-runs the attack, asserts SURVIVES.

Consequence

The 14th finding: an input-hygiene crash on the exact path the terminal phase will drive with hand-written --names lists. Every ยงB stage has now been directly attacked. Clean rounds: reset to 0 of 3.

iter 17 ยท sibling-stage mechanics ยท verdict BREAKS โ†’ DEFENDED โ†’ CLOSED ยท one atomic commit: iter 17: sibling-stage mechanics โ€” BREAKSโ†’DEFENDED ยท append-only.