clay-borg/editions/ground-darvo-r0/PROVENANCE.md
tegwick da58e78e4a
Some checks failed
ci / check (push) Failing after 4s
CB-REV-0002: round 2, and the corrections were not approvable either
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>
2026-08-08 09:44:00 +02:00

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 directoryeditions/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.