clay-borg/editions/ground-darvo-r0/PROVENANCE.md
tegwick 55a475b1a9
Some checks failed
ci / check (push) Failing after 4s
CB-RES-0009: extensive form is the lingua franca
Two questions from the maintainer — is there a game-theory mapping to
Ludii's language, and is that language formal enough to derive one from.
Yes, no, and the no does not matter.

The mapping is proven, not to be invented: "The Ludii Game Description
Language is Universal" shows the language can represent an equivalent game
for any finite, non-deterministic, imperfect-information game, extending
earlier work limited to finite deterministic fully-observable
extensive-form games. EFG is also OpenSpiel's object, so the same
formalism connects description to analysis: Ludii -> EFG <- OpenSpiel.

Ludii's syntax is formal and unusually so — a class grammar derived
automatically from its source. Its semantics are its Java: a ludeme means
what its class does, and Ludii effectively makes Java the game description
language. So there is no independent calculus to extract. The formality
lives in the universality RESULT, not in a definition of meaning. GDL has
the semantics and pays for it in speed — six times on Gomoku, twenty on
Amazons and Hex, over two hundred on Chess.

Conclusion: do not derive a language from Ludii; target the EFG directly.

And we are closer than the tracks assumed. The journal is the history,
Outcome is the payoff, legal_commands gives the actions — and
project(Viewer::Player(seat)) IS the information partition, built so a
player is not shown another's hand and unremarked as exactly the machinery
imperfect information needs.

Three gaps: chance is folded into a seed so a game is one realisation
rather than a game with chance nodes; perfect recall is unasserted, which
CFR and exploitability both assume; and commit/reveal is the standard EFG
encoding of simultaneity but is never stated as such. Perfect recall is
checkable from the journal today and is now Track B's first task — if it
fails, every equilibrium concept we might quote is unsound here.

Also re-vendored the catalog twice: ground-game added H2 — scoped problem
stress, applying End Stress by personal/bond/global scope instead of flat
to everyone, which is a direct response to our reading that H1's tax
scales with the Problems while its intended effect does not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 14:57:25 +02:00

5.7 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  c469f984c3147861815e8fbd67cf1254de73368fad1654f4177f740c0c280499  ../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
sha256  b2714210c142f1d6d5bed8f9a795019e51829c627f9599ac0ebfa04ef60a37a5  ../experiments/h1-problem-stress/VARIANT.md
sha256  443199db94601cc889557e5e86823f374dbfdf875962fc84f95c01865605101c  ../experiments/h1-problem-stress/metadata.json

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.