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>
97 lines
5.3 KiB
Markdown
97 lines
5.3 KiB
Markdown
# 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`](../../specs/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`](../../specs/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](../../reviews/CB-REV-0001-h1.md))
|
|
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
|
|
```
|
|
|
|
**`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.
|