clay-borg/editions/ground-darvo-r0/PROVENANCE.md
tegwick 704b99975b
Some checks failed
ci / check (push) Failing after 4s
Apply ground-game's rulings: mastery in points, four boards, and a
vendor tool that covers what the gate checks

They ruled on all seven items the same day. Two were actionable here.

F28 RULED: points. Modes.csv MODE_COOP clarified upstream to say
"penalties apply to points, not card count"; mastery is now
total - blame - denied. A recorded scenario went red on it --
gr-e02-shared-ground pinned 0 (2 claimed CARDS - 1 - 1) and now expects
2 (4 POINTS - 1 - 1). The number moved because the rule was decided, not
because the engine drifted, and the scenario records both rulings; its
schema has no field for a second one, so both live in ruled_note with
`ruled` carrying the LATEST date.

F29 RULED not-intended and APPLIED upstream: SCN_02's suits re-tuned the
same day. The characterisation test is how we found out -- it pinned the
duplication, went red on the re-tune, and that red WAS the notification.
It now asserts every pair distinct, the stronger statement the
duplication had made unavailable. SCN_02 re-measures at 73 at 2p, not
67: its own board now.

F26/F30 ruled and recorded. F30's ruling incidentally confirms our
reading -- they name priority-2's suit as the first lever, which is the
difference we identified without having measured causation.

vendor-editions grew twice, both times because it covered less than the
gate it exists to satisfy:

  - It refused to touch ground-darvo-r0/ on the reasoning that the
    baseline is "a separate record". That was wrong within the hour:
    ground-game clarified Modes.csv and `make vendor` reported a clean
    sync while edition-check went red. A sync tool that covers less than
    its check reports success into a red gate.
  - Its two-block rewrite DETECTED which fence held which set and
    preserved the arrangement -- faithfully preserving a swap an earlier
    write had introduced, leaving each fence under a heading describing
    the other. edition-check reads every sha256 line flat and passed
    throughout: a document can be self-consistently wrong and green.
    Order is now asserted, with a control that goes red on a swap.

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

9.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  7a7a302aabecdeb419c562a029bec3e3576a306b0bd1175d1200de60d9530073  Actions.csv
sha256  0afb882dc8001f03bc48a152c9d8c36ad492ceeff2d30ef6a3a690937317f77b  DARVO.csv
sha256  d06924a19f805feb9e2557fd5c06254ae2054e1f865265f45c26eb293f53bf12  Glossary.csv
sha256  4b8e795fbbc93646230f666f8c139dfbd3375af7a12c2968f1674ec83b05b21d  Modes.csv
sha256  ad2bfbf897bbb3878691cbdbfec739adc58d28cad3923a989dd46b426cce1395  Player_Mats.csv
sha256  62e4ae3f4a3c29cf8bdd13f09d3a8866aa98b1716b8e72e49a4aba874c9e9fcb  Problems.csv
sha256  cd84c3b131c1b7a541e9e42529fdce2b7911f0832cce8c50cfcb8462d01dc551  Relations.csv
sha256  f830de9ca44417a7510e04a39ea24a070a81969b33a31fa68361fba132ad40cd  Scenarios.csv
sha256  0bda1ee97de726b5e8c4404ab15ecc53a359e6c23db74fb41ecb51d78f9884ad  Solutions.csv
sha256  25273bb6e74c9ad545c5e89dfe0f76b294d0a6cbef51f80d548039d5f0943484  Tokens.csv

H2 vendored 2026-08-08 (CB-WP-0042). Its Problems.csv is r0's with one column addedstress_scope — and nothing else changed: same rows, same point_value, required_solution, visibility and hidden_priority. That is checked, not assumed, because the delta's unchanged: list claims deal_and_thresholds and a silent change there would move every baseline hash.

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  536ad836991804e8d96eff20ae549654ecb82e28cdd884914730b70e3c387ee3  ../ASPECTS.md
sha256  269db010edfbf9331a3e3bc07fa3949138b2f20adf77ba2c11925bcb8579f997  ../CATALOG.md
sha256  5f12bbdc180efd89a5a27750a01d763018044309a629e8437bf8b65373a685ca  ../catalog.yaml
sha256  7b1cc0149122b855e827bc930576ed165bf7dd8d62707e845a9e514ce3521f8e  ../experiments/h1-problem-stress/Actions.csv
sha256  62785f5e7e245c60171624d15de2f40187a44fec54f93c7d9705cf52584b1078  ../experiments/h1-problem-stress/Rules_Text.csv
sha256  49897a68056643a8cfccff32c9e4a9811018b4e4689b90a85124a487f2318369  ../experiments/h1-problem-stress/VARIANT.md
sha256  443199db94601cc889557e5e86823f374dbfdf875962fc84f95c01865605101c  ../experiments/h1-problem-stress/metadata.json
sha256  f58e81f84ea2b0d16e39932261eb3f3d9890345cdf37ad6f0b3abc00636840be  ../experiments/h1-problem-stress/rules_delta.yaml
sha256  959872910d7824629afe34fb7135a2670d699444001f2eb72b33ba3102c3b82f  ../experiments/h2-scoped-problem-stress/Problems.csv
sha256  8ed8deb7ad142de1bda70dc11add339f742e8c12ac1f02d5f7c7ec8f17f77b1d  ../experiments/h2-scoped-problem-stress/Rules_Text.csv
sha256  b0ffea41820ef35960d8c75ff0a734370a29a738e49fda74851fe5c2daafe53e  ../experiments/h2-scoped-problem-stress/VARIANT.md
sha256  abf994f585fdfa9b2822614a7961e98141cded6a91c446916ff7fd48642de0a7  ../experiments/h2-scoped-problem-stress/metadata.json
sha256  8dc569b2ae62f88f7f64e282bc6bba3dbcc3ffcad276591baafbdd24cb6c16b7  ../experiments/h2-scoped-problem-stress/rules_delta.yaml
sha256  54678e312332ab999826710ae30565c0bba4da76b781ba4f391ace0c4341e484  ../modules/attack_relief/none/MODULE.md
sha256  0eec2ef761c5f6548085156248f182fa077ac5aee7c657bd6bfa6ba22d53446b  ../modules/attack_relief/self_soothe_ge4/MODULE.md
sha256  91463363a482219109bb6d5033019135b5b10505f55f6272b912c7a51cd90173  ../modules/attack_relief/self_soothe_ge4/rules_delta.yaml
sha256  a02aa5ee860aca71d3e7c19975dd5eb1c66d7c8a0f3d3ceca8dd9914b85d6c7e  ../modules/end_condition/fixed_rounds_5/MODULE.md
sha256  b1706aa3a10bace4fac5854eaa73848bba331cc9720da4b162e09db415631a50  ../modules/end_condition/hybrid_clear_collapse/MODULE.md
sha256  66eca80a673583499da2cfef01439ebf511401b5af9fad6a9ee790b0006e98b8  ../modules/end_condition/hybrid_clear_collapse/rules_delta.yaml
sha256  5b809680afdf9282a457f8d7f70b111bf18590f4867622e332f49e1ee4a23b08  ../modules/problem_deal/fixed_setup/MODULE.md
sha256  ca656820336e37b72fdd2409c15f54102c4f7daf9ab0a0b94fc1f30119b1c727  ../modules/problem_deal/pressure_deck/MODULE.md
sha256  1845ee0d3ec48ff6df31fca6f6acb1cad8b362c65ca7e7d93dfd61e0426fcdbd  ../modules/problem_deal/pressure_deck/rules_delta.yaml
sha256  a5e66fd60abef1cf965b0b20892548c65f4005c45f4d44c025e4756eff579897  ../modules/problem_stress/flat_any_open/MODULE.md
sha256  95fa5d4ad811407eda1cf31d99d5dd984e9d1d9af8c284e10df598874d0f06e3  ../modules/problem_stress/flat_any_open/rules_delta.yaml
sha256  1e9cb6e2dac046a9f48beccb0ddc09c41608306711320159ecdce3572562e454  ../modules/problem_stress/none/MODULE.md
sha256  aae98322a70e51b639b8c39ac45604807f5311ae55edc75b47199056a483c963  ../modules/problem_stress/scoped/MODULE.md
sha256  959872910d7824629afe34fb7135a2670d699444001f2eb72b33ba3102c3b82f  ../modules/problem_stress/scoped/Problems.csv
sha256  8ed8deb7ad142de1bda70dc11add339f742e8c12ac1f02d5f7c7ec8f17f77b1d  ../modules/problem_stress/scoped/Rules_Text.csv
sha256  960e8a35f5f214ff9936ea95c4ca9a9145e2a01a8258b1c873251b89ee23972f  ../modules/problem_stress/scoped/rules_delta.yaml

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.

The catalog & module mirror (CB-WP-0048)

editions/catalog.yaml, ASPECTS.md, CATALOG.md and modules/ mirror ground-game so tools resolve paths without requiring a sibling checkout. ground-game remains the authority for every design decision in them.

They are recorded above like any other sibling. The digest block is generated by walking editions/, not typed: CB-REV-0002 #8 and CB-REV-0003 #8 both found hand-written lists that made their own controls vacuous, and a mirror that grows a directory is the case that breaks a list a human maintains.

This note used to be editions/PROVENANCE-catalog.md — a file inside the mirrored tree that upstream does not have, which edition-check correctly refused as unexplained. Provenance about the mirror is ours, so it lives with our other provenance rather than inside the thing it describes.

Research framing: research/CB-RES-0010-game-aspects-and-design-space.md.