CB-REV-0001: the adversarial review, and it was not approvable
Some checks failed
ci / check (push) Failing after 4s

Thirteen challenges, five FATAL, all five conceded. Nothing had reached
ground-game, which is the only reason this is a correction and not a
retraction.

The worst: `Reactive` was not "greedy with one preference changed". It
differed in five, including SpendFreedom — ranked 95 unconditionally
against greedy's `95 if gated else 0` — so the seat burned its Freedom
token in round one of every game. A second change to the exact mechanism
under study, and every number in CB-EV-0031 was measuring it. The pass
claimed ADR-0018's one-varying-parameter discipline in its own workplan
while violating it. GreedyPolicy::rank is now public and the policy
delegates, overriding one match arm, so the control is structurally true.

Withdrawn entirely: "H1-B suppresses DARVO in the attacker". Disabling
H1-B under the corrected policy changes the arm count by exactly zero.
The pass hedged the wrong variable — it disclaimed "the number 2" and
defended "the direction", and the direction is what failed. The
supporting inference was invalid anyway: final Stress cannot show who
armed, because DarvoEnded resets the stage and REVERSE gives its owner -2.

Corrected: criterion 1 was failed on the greedy column while the pass's
own printed table showed 31-1000 arms in the other columns — the
selective-column move, in the file that names it. "Peak Stress was 1" was
a maximum over StressSet payloads, not held state (true: 2); the baseline
game count was 1,600 not 3,200; and "a reckless policy plays identically
to a careful one" is refuted by this repo's own rank-95 policy.

Inert controls replaced, each verified red against the reviewer's own
mutation: the baseline hash test compared two identically-constructed
states (serde(skip) on variant left 57/57 green); the `unchanged:` test
checked 3 of 7 entries and passed with SOLVE made illegal; H1-A's ordering
and H1-B's OU-cancel path had no test at all.

edition-check now covers catalog.yaml and rules_delta.yaml, whose digests
CB-WP-0038 claimed and never recorded — the review found it and reported
it unverified rather than absent, which was the right call.

Still open: H1-B on the DARVO extra-Attack path is untested, regulation.rs
still skips setup failures silently, and round-5 arms are counted though
they can never act.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-08 02:02:35 +02:00
parent 38106791a6
commit 041c0e7c3e
9 changed files with 489 additions and 101 deletions

View file

@ -64,27 +64,47 @@ state_hub_task_id: "2c509cdb-aedb-4dce-a21f-f16bcdf17d80"
- **the answer may be that H1 still fails**, and that is reported as
plainly as the other outcome.
**Done 2026-08-08.**
**Done 2026-08-08, then CORRECTED after adversarial review**
([CB-REV-0001](../reviews/CB-REV-0001-h1.md)).
[CB-EV-0031](../evidence/CB-EV-0031-a-seat-that-does-not-regulate.md).
**It changed CB-EV-0030's verdict.** H1's criteria 1 and 2 are **met** for
the seat H1 was aimed at: DARVO arms 400 times per cell and ATTACK is
selected 3 times per seat per game. The earlier "H1 does nothing" was a
statement about greedy, which grounds the moment the gate bites.
> **This task's own control — "exactly one preference differs from
> greedy" — was false when it was marked done.** The policy differed in
> five places, including `SpendFreedom`, which made the seat burn its
> Freedom token in round one of every game: a second change to the exact
> mechanism under study. **Every number below was measuring that.**
>
> `GreedyPolicy::rank` is now public and the policy delegates to it,
> overriding one match arm — so the control is structurally true rather
> than asserted in a comment.
**Criterion 3 fails harder**: reactive wins nothing, at any seat count.
**It changed CB-EV-0030's verdict**, and that part survives: H1 does reach
the unregulated seat. DARVO arms **2 per seat per game**, scaling with the
table — the earlier flat "400 in every cell" was the broken policy.
**The larger finding is about the baseline, not H1.** Greedy and reactive
play *identically* under baseline — same wins, zero attacks, zero DARVO —
and **peak Stress across 3,200 baseline games was 1**, against a starting
value of 2. The gate at 4, the arm at 5 and the Freedom token are all
unreachable. That is a deeper account of F17 than F17 has, and it is
**not raised as a finding here** because it wants the plural panel first.
**Criterion 3's verdict is corrected and was wrong**: reactive wins
**66 at 2p against greedy's 68**, not "nothing at any seat count". It wins
nothing at 3p and above, and so does greedy.
**A constant was investigated rather than reported.** `darvo` was exactly
400 in every cell while `atk` scaled properly with seats. Six-player final
Stress is `[5, 5, 4, 4, 4, 4]` every seed: **H1-B holds the attacker at 4,
below the arm, and pushes its targets to 5** — the self-soothe suppresses
DARVO in the aggressor and concentrates it in the attacked. The direction
follows from H1-B's arithmetic; **the number 2 is partly an artifact of
`reactive`'s first-legal targeting**, and is labelled as such.
**The baseline observation survives only in a narrower form.** Peak Stress
*held* across the **1,600** baseline games was **2** — the starting value,
never exceeded. The original said **1** because the metric maximised over
`StressSet` event payloads and the starting value is written by `setup`,
never by an event: **wrong subject**, in the pass that was written to
correct a wrong-subject error.
And the generalisation was refuted by this repo's own harness: the rank-95
policy *is* a reckless policy and it drives Stress to 5 under **baseline**.
What survives: under the two policies here, neither of which selects ATTACK
under baseline, **no Stress is ever added** — ATTACK is the sole inbound
pressure.
**The H1-B suppression claim is WITHDRAWN.** It was inferred from a
constant that the broken policy produced, and disabling H1-B under the
corrected policy changes the arm count by **exactly zero** in every cell.
The inference was also invalid on its own terms: final Stress does not
record who armed, because `DarvoEnded` resets the stage and REVERSE gives
its owner 2.
**The pass hedged the wrong variable** — it disclaimed "the number 2" and
defended "the direction", and the direction is what failed.