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>
5.4 KiB
Vendored edition data — provenance
Not ours. This directory holds a copy of content owned by the
ground-game repository, vendored under ADR-0011 Decision 2 because the
build must not depend on a sibling checkout that CI does not have.
| upstream repo | ground-game |
| upstream repo path | editions/ground-darvo-r0/ |
| authoritative? | yes — ruled by ground-game, GROUND-WP-0002 T01 |
Files, and why each is here
| file | vendored | upstream revision | why |
|---|---|---|---|
Problems.csv |
2026-08-04 | 9fd27a51 |
the deal (ADR-0011) |
Actions.csv |
2026-08-06 | 4fa3b8ed |
the five action cards' own words (ADR-0015 D2) |
Solutions.csv |
2026-08-06 | 4fa3b8ed |
Solution titles and microcopy |
Modes.csv |
2026-08-06 | 4fa3b8ed |
mode text and scoring_tiebreak |
Tokens.csv |
2026-08-07 | 4fa3b8ed |
the components: front_text, quantity, sides (ADR-0016) |
DARVO.csv |
2026-08-08 | 8886543 |
the DARVO sequence as rules: mandatory_effect, target_memory, advance (CB-WP-0037 T02) |
Relations.csv |
2026-08-08 | 8886543 |
how Bonds and Rivalries form and break: formation, breaking, rules_text |
Scenarios.csv |
2026-08-08 | 8886543 |
the four scenarios and their setups — the engine deals one |
Player_Mats.csv |
2026-08-08 | 8886543 |
choice_rule is GR-R03, the stress gate — mechanism on a mat (CB-WP-0037 T03) |
Glossary.csv |
2026-08-08 | 8886543 |
the game's own words for its own terms, and Relation slot restates GR-L01's two |
Why these three, now. The engine already implements the DARVO
sequence and relation formation/breaking — from GroundRules.md, never
from the edition's own statement of them. That is not inert display data;
it is rules taken from a secondary source and never checked against the
primary one, and CB-WP-0037 T02 exists to check them.
Player_Mats.csv is the reason a file is not the unit. It is mostly
ornamentation — a symbol, a colour, a title per seat — and one column,
choice_rule, is GR-R03 itself: "At Stress 0-3 choose any action. At
Stress 4-5 choose ATTACK or GROUND unless you spend a ready Freedom
token." Classifying the file would have thrown the rule away with the
colour swatches (see Ornamentation.md §1.4).
Deliberately absent: BOM, Print_Manifest, Back_Designs,
Symbols, Design_Tokens — production artifacts for a physical print
run, meaningless to a simulator, and now declared as ornamentation with
falsifiers rather than merely skipped
(OrnamentRegister.md O5-O7). And Extensions.csv, which names content
the designer placed outside the core; importing it would break the claim
that this engine plays the edition as printed (ADR-0015 D2).
The catalog and the H1 experiment package
Vendored 2026-08-08 from ground-game 8886543 (CB-WP-0038). These are
outside this directory — editions/catalog.yaml and
editions/experiments/h1-problem-stress/ — because the catalog selects
between packages and does not belong inside one.
Digests were claimed for these by CB-WP-0038 T01 and not recorded; the adversarial review (CB-REV-0001) reported it unverified and it was a real gap.
sha256 eb21fa3237637790fef601fe6668a190a549715e9a78b7dfe47b40cd069b648e ../catalog.yaml
sha256 f58e81f84ea2b0d16e39932261eb3f3d9890345cdf37ad6f0b3abc00636840be ../experiments/h1-problem-stress/rules_delta.yaml
sha256 7b1cc0149122b855e827bc930576ed165bf7dd8d62707e845a9e514ce3521f8e ../experiments/h1-problem-stress/Actions.csv
sha256 62785f5e7e245c60171624d15de2f40187a44fec54f93c7d9705cf52584b1078 ../experiments/h1-problem-stress/Rules_Text.csv
rules_delta.yaml is the load-bearing one: it is the executable
statement of H1, and the kernel implements it. A silent change there is a
silent change to what we measured.
Digests
sha256 7a7a302aabecdeb419c562a029bec3e3576a306b0bd1175d1200de60d9530073 Actions.csv
sha256 0afb882dc8001f03bc48a152c9d8c36ad492ceeff2d30ef6a3a690937317f77b DARVO.csv
sha256 d06924a19f805feb9e2557fd5c06254ae2054e1f865265f45c26eb293f53bf12 Glossary.csv
sha256 565431571bc06adafb67edefd4b368839b6b94134c2289877384688cc643390b Modes.csv
sha256 ad2bfbf897bbb3878691cbdbfec739adc58d28cad3923a989dd46b426cce1395 Player_Mats.csv
sha256 0a04830c93b62dcb2f4411a9fbde576368a7427fe9e63c5015e606e4d42d23a0 Problems.csv
sha256 cd84c3b131c1b7a541e9e42529fdce2b7911f0832cce8c50cfcb8462d01dc551 Relations.csv
sha256 f830de9ca44417a7510e04a39ea24a070a81969b33a31fa68361fba132ad40cd Scenarios.csv
sha256 0bda1ee97de726b5e8c4404ab15ecc53a359e6c23db74fb41ecb51d78f9884ad Solutions.csv
sha256 25273bb6e74c9ad545c5e89dfe0f76b294d0a6cbef51f80d548039d5f0943484 Tokens.csv
make edition-check compares this against ../ground-game when that
repository is present, and reports upstream not checked out as a
distinct outcome when it is not — never a pass. An absent check is
reported absent, not treated as satisfied (the shape ADR-0009 used for
node).
What may not change under this revision
Per GROUND-WP-0002 T01's contract: point_value and
required_solution are authoritative and frozen within r0. The
engine hashes game state and both values are in that state, so a silent
change would rot every recorded scenario expectation. A change to either
is a new revision (-r1), and this digest is what notices.