CB-REV-0002: round 2, and the corrections were not approvable either
Some checks failed
ci / check (push) Failing after 4s
Some checks failed
ci / check (push) Failing after 4s
Three FATAL, five SERIOUS. The substance of round 1's corrections held — Reactive is genuinely one arm different, the five replacement controls are non-inert, the inert metric is right, the numbers reproduce. What failed were the CLAIMS about them, and two defects the corrections introduced. FATAL 1: the fix for round 1's #11 did not fix it. The assertion was `games + setup_fails == 200`, and a refused setup increments setup_fails while skipping games — so the sum is invariant under exactly the failure it claimed to catch. Injecting setup failures gave exit 0 over 196-game columns. Now asserts games == GAMES, verified to exit 101. FATAL 2: the correction to the selective-column FATAL was itself selective. "81-1000 per cell, baseline AND H1" and "31-1000" twelve lines apart, both taken from the baseline row; under H1 rank-75 arms are 59/0/0/0. Every cell is now printed rather than summarised, and the corrected verdict is the opposite of the one it replaced: under rank-75, H1 REDUCES DARVO arms to zero at 3p and above. FATAL 3: "DARVO arms 2 per seat per game" is 1 per seat per game, exactly, at every band. SERIOUS: the tiebreak oracle asserted only that the winner set CHANGED, so reversing the tiebreak left it green; the #13 defect's impact was claimed and never measured (72,000 games: zero divergences — real in principle, witnessed only by a constructed board); a 29-of-363 citation pointed at a file that did not contain it (round 1's reviewer did report it, and it was never transcribed — the record was wrong, not the number); the harnesses were run by NO GATE, so every published figure came from a manual run of an ungated binary, including the assertion added for #1; and edition-check's sibling handling — added by the last correction — was self-certifying, crashed instead of failing, and counted Markdown lines as coverage. Now discovered on disk, and it found a real gap on its first run: Rules_Text.csv vendored with no digest. Also: "peak Stress held" was dead code kept quiet by `let _ = held;` — the numbers were right by coincidence. make panels is now a registered gate. Round 3 is owed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
84aa09264c
commit
da58e78e4a
10 changed files with 285 additions and 56 deletions
|
|
@ -2409,12 +2409,21 @@ mod tests {
|
|||
panic!("round 5 did not end the game");
|
||||
};
|
||||
assert!(outcome.group_success, "the fixture must qualify");
|
||||
|
||||
// **The oracle names the expected winners** (CB-REV-0002 #4).
|
||||
// The first version asserted only that the set CHANGED, so
|
||||
// reversing GR-E03's tiebreak — making HIGHER Stress win —
|
||||
// left it green: the set still changed, just wrongly.
|
||||
let pre = s.score();
|
||||
assert_ne!(
|
||||
outcome.winners, pre.winners,
|
||||
"the outcome ignores the final round's pressure — scored from `self`. \
|
||||
pre={:?} post={:?}",
|
||||
pre.winners, outcome.winners
|
||||
assert_eq!(
|
||||
pre.winners,
|
||||
vec![seats[1]],
|
||||
"before the pressure, the seat at Stress 4 wins on the tiebreak"
|
||||
);
|
||||
assert_eq!(
|
||||
outcome.winners,
|
||||
vec![seats[0], seats[1]],
|
||||
"after it both are clamped to 5, so they share"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue