The pattern is now measured over three rounds: 5 fatal, then 3 (2 from the previous round's corrections), then 4 (3 from them). The corrections are not getting safer. FATAL 1: round 2's short-cell assertion went into regulation.rs only. attack-value.rs — which produced every number in CB-EV-0030's DARVO table — still just warned, and the gate registered to close the finding claimed the property for both. FATAL 2, the sharpest of the three rounds: counting games proves they STARTED. Stopping the engine after one round gives 200 games, all-zero columns and exit 0 — byte for byte the signature CB-EV-0030 says the instrumentation distinguishes from a real result. Both harnesses now require every counted game to have reached an outcome over five rounds. FATAL 3: round 2's `.csv` filter was applied to all three loops, so catalog.yaml and rules_delta.yaml — whose missing digests were round 1's finding — were recorded and then never compared, and never checked against upstream at all. Only the parser loop filters now. FATAL 4: five of six tiebreak comparators had no coverage. GR-E04's tiebreak never executes in any scenario. All four are now covered and mutation-verified; the Blame key needed compensating claims to be reachable at all, since Blame also lowers the coalition score. SERIOUS: "peak held" computed the same number as "peak assigned" for every possible input — the real gap was that START_STRESS was an unchecked constant, now read off the dealt state; cadence="none" was a pure loophole, removed; sibling discovery swapped a hand-written list for hand-written globs and missed metadata.json and VARIANT.md, both named in the package's own changed_files — now walked, and it found them immediately; and "~72,000 games" was unsourced, make panels runs 17,600. Also separated two kinds of number that were presented alike: seats×games is invariant, 363 and 29 vary 7.1%-11.5% across samples. Round 4 owed. The conclusion is not that the work is nearly right — it is that author-made corrections to measurement work should be assumed defective until a fresh reader has attacked them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
10 KiB
CB-EV-0031 — a seat that does not regulate
CB-WP-0039. Tier M (adds a policy to the panel every future measurement is reported against; chaos d8 = 2 → no override). Declaration 11 of chaos window 3. Closed 2026-08-08.
CORRECTED 2026-08-08 after adversarial review, and most of the original file was wrong. The review is in
CB-REV-0001. The policy this pass called "greedy with one preference changed" differed in five places — includingSpendFreedom, which it ranked 95 unconditionally where greedy ranks it 0 unless the gate bites, so the seat burned its Freedom token in round one of every game. Every number below was measuring that bug. They have been re-derived against a policy that delegates toGreedyPolicy::rankand overrides exactly one arm.Sections 1 and 2 are rewritten. Section 3 is withdrawn entirely.
Delivered: the reactive policy, and the measurement CB-EV-0030 §4
named as the one it had not run.
1. It changes CB-EV-0030's verdict
CB-EV-0030 concluded H1's DARVO arm rate was still 0. That was true of the panel, and the panel was greedy-family throughout.
GreedyPolicy ranks Action::Ground if gated => 100: the instant the
stress gate bites it grounds. Stress plateaus at 3, and the arm at 5 is
unreachable by construction. So "H1 does nothing" was really "H1 does
nothing to a seat that already manages its Stress" — and H1 was written
for the seat that does not.
reactive now delegates to GreedyPolicy::rank and overrides one arm
(Ground if gated), so "one preference differs" is structurally true
rather than a claim. SHARED GROUND, 200 games per cell, all 200 ran, and
peak is now Stress held, not Stress assigned (§2):
| greedy | reactive | |||||||
|---|---|---|---|---|---|---|---|---|
| seats | won | atk | darvo | peak | won | atk | darvo | peak |
| 2p | 68 | 0 | 0 | 4 | 66 | 726 | 363 | 5 |
| 3p | 0 | 0 | 0 | 4 | 0 | 1200 | 600 | 5 |
| 4p | 0 | 0 | 0 | 4 | 0 | 1600 | 800 | 5 |
| 6p | 0 | 0 | 0 | 4 | 0 | 2400 | 1200 | 5 |
H1's mechanism does reach the unregulated seat. DARVO arms exactly 1 per seat per game — 600/(200×3), 800/(200×4), 1200/(200×6) — and 0.91 at 2p. The first correction said 2 per seat per game, which is wrong by a factor of two and was caught by round 2 (#3).
Criterion 3's verdict is corrected. The original said reactive "wins nothing, at any seat count". False. At 2p it wins 66 against greedy's 68 — indistinguishable. It wins nothing at 3p and above, which is also where greedy wins nothing.
2. The baseline finding, which is larger than H1
Look at the baseline half of the same run. Greedy and reactive are identical — 132/165/190/200, zero attacks, zero DARVO, in all four bands.
Peak Stress held across the 1,600 baseline games was 2 — the starting value, never exceeded. Stress only ever went down.
Three corrections to what this section originally said.
- It reported 1, because
peakwas a maximum overStressSetevent payloads. Starting Stress is written bysetup, never by an event, so a table sitting at 2 all game reported 1 — and a table with noStressSetat all would have reported 0. Wrong subject: the metric answered "highest value ever assigned" while the prose claimed "highest Stress reached". - It said 3,200 baseline games. The run is 3,200 total; the baseline half is 1,600.
- It generalised to "a policy built to be reckless with Stress plays
identically to one built to husband it". False, and refuted by this
repo's own sibling harness:
attack-value.rs's rank-95 policy is exactly that policy, and under baseline it drives Stress to 5 and arms DARVO 400–1000 times per cell.
What survives, stated narrowly. Under both policies measured here — neither of which ever selects ATTACK under baseline — no Stress is ever added at all. The baseline's Stress economy is reachable only through ATTACK, so a table that does not attack never meets the gate, the arm, or the Freedom token. That is still a real observation about F17, and it is about ATTACK being the sole inbound pressure, not about the economy being unreachable in general.
3. WITHDRAWN — "H1-B suppresses DARVO in the attacker"
The original §3 argued that H1-B holds the attacker at Stress 4, below the
arm, and pushes its targets to 5 — inferred from a constant darvo = 400
and a final-Stress signature of [5, 5, 4, 4, 4, 4].
Withdrawn on two independent grounds, both found by the review.
- The constant was the broken policy — but a constant remains, and
saying otherwise was wrong (round 2, #12). With the one-arm-override
policy
darvois exactlyseats × gamesat 3p and above. The constant moved from 400 ton·games; it did not dissolve, and whatever forces exactly one arm per seat per game is still unexplained. - Disabling H1-B changes the arm count by exactly zero, in every cell, under the corrected policy. The effect attributed to H1-B's arithmetic was an interaction with the undeclared preference deltas.
And the inference was invalid even where the numbers held. Final
Stress does not record who armed: DarvoEnded resets the stage to Off
and REVERSE applies −2 to its owner, so a seat can arm and finish below 5.
The review demonstrated six seats arming behind the same [5,5,4,4,4,4]
signature. The original hedged the wrong variable — it disclaimed "the
number 2" and defended "the direction", and the direction is the part that
failed.
4. What this does not say
reactiveis not a good player and is not meant to be. It wins nothing under H1 and exactly what greedy wins under baseline. It is an instrument for reaching the Stress economy, not a claim about how people play.- Two policies is still not a panel. RetrospectiveAnalysis §4.1 asks for greedy, random and first-legal at minimum; this pass added a fourth axis to two of them, in one mode.
- SHARED GROUND only. CB-EV-0030 covered three modes; this covers one.
- No felt-play, and this is the kind of claim — about pressure, and when a player feels cornered — that a human table answers and 3,200 simulated games do not.
5. The three items the review left open, now closed
H1-B on the DARVO extra Attack — the delta says the extra Attack
shares the Attack resolution "so it can self-soothe too if Stress ≥ 4".
CB-WP-0038 asserted it because the code shares resolve_attack; nothing
tested it, and the withdrawn §3 ran straight through this path.
h1b_soothes_the_darvo_stage_attack_too now covers it, mutation-verified.
Round-5 pressure did not reach the score. end_round_events scored
from self while H1-A's pressure went into work, and score reads
Stress for the GR-E03 and GR-E04 tiebreaks. Fixed, and the test uses the
case that actually bites: uniform pressure preserves an ordering, so it
takes the clamp at 5 to collapse a gap and change who wins.
Its impact was claimed and never measured, and the measurement is
zero (round 2, #5). This file said the pressure was invisible to "the
two modes CB-EV-0030 reports on" without checking. Reverting the fix
leaves attack-value's output byte-identical across all 24 cells and
all three modes, including the two whose won column reads through the
tiebreak. The defect is real in principle and its only witness is a
hand-constructed board.
The sample size quoted here was "~72,000 games" and was not
derivable from anything in this repo (round 3, #9). make panels runs
17,600: attack-value is 2 variants × 3 modes × 3 policies × 4 seat
counts × 200 = 14,400, and regulation is 2 × 4 × 2 × 200 = 3,200. The
figure was adopted from a reviewer's message and never re-derived — in
the file whose whole correction history is about exactly that.
Inert arms, and a second wrong-subject error caught on the way. A
DARVO arm at the End of Round 5 can never advance a stage — GameEnded
follows immediately — and ground-game's criterion 1 is about DARVO
mattering. Now reported separately:
| seats | arms | of which inert |
|---|---|---|
| 2p | 363 | 29 (8%) |
| 3p | 600 | 0 |
| 4p | 800 | 0 |
| 6p | 1200 | 0 |
Two kinds of number are in that table and this file did not distinguish
them (round 3, #10). 600 / 800 / 1200 is exactly seats × games
and holds on every sample tried. 363 and 29 are sample-specific:
across four disjoint windows the 2p arms run 354–366 and the inert share
runs 7.1%–11.5%. So "92% of arms at 2p are live" is a fact about seeds
0..200, not about the game — it reads 88.5% elsewhere.
The same applies to the baseline win counts quoted throughout
(132/165/190/200): the identity of greedy and reactive under baseline
holds on every sample, the digits do not.
The first version of that metric was wrong and equalled darvo in
every cell, because it tested g.rounds >= 5 — a property of the
game, not of the event. Every arm in every completed game was marked
inert, which briefly looked like "criterion 1 is not met after all". An
arm is inert when no RoundEnded follows it.
The 29-of-363 citation has now been wrong twice and is stated plainly
here. Round 2 found it credited to CB-REV-0001, which did not contain
the figure; round 1's reviewer had reported it, in its message only.
Round 3 found the remaining problem (#10, #11): both "independent
confirmations" used seeds 0..200, so what was confirmed twice is the
definition, not the figure — and whether round 1's StrictReactive
was the corrected one-arm policy or the five-difference one cannot be
determined from anything in this repo, because that reviewer's code was
never kept. Treat 29/363 as one sample of a quantity that varies.
Criterion 1 stands as met: 92% of arms at 2p and all of them above are live.
regulation.rs no longer skips setup failures silently. They are
counted, and a short cell now fails an assertion rather than printing
a number a reader has to notice — which is what CB-EV-0030 §3 claimed
credit for and only half did.
6. Open
- The baseline's Stress economy being unreachable (§2) deserves its own finding, and is not raised here because it wants the plural panel of §4 first. It is the more consequential of the two results in this file.
- Whether H1-B's suppression is intended is ground-game's question, and it is the sharpest thing this pass can hand them.