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