clay-borg/editions/catalog.yaml
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

98 lines
3.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Selectable GROUND edition / rules packages.
# Schema docs: CATALOG.md
# clay-borg: pin by variant_id → path (+ optional git_pin).
schema_version: 1
updated: "2026-08-08"
default_variant: ground-darvo-r0
# H2 added; H1 remains selectable as reject-as-baseline control.
packages:
- variant_id: ground-darvo-r0
path: editions/ground-darvo-r0
kind: baseline
base: null
selectable: true
status: baseline
dataset_id: GROUND-DARVO-CORE-0.1
title: "GROUND DARVO Edition — core r0"
summary: >
Playtest baseline. Surface + hidden 1..k deal; available 6/9/12;
thresholds 5/7/9. Stress ledger has no problem pressure; ATTACK
does not self-soothe.
hypothesis_ref: null
workplan_ref: null
rules_delta: null
changed_files: []
utility_estimate: >
Ship-default. RPT-0003 + CB-EV-0031: under non-attacking competent
policies, peak Stress held never exceeds start 2 — ATTACK is the
sole inbound pressure. Keep pinned until a successor is accepted.
decision: none
git_pin: null
clay_borg_notes: >
Vendor CSVs as today (Problems, Actions, Solutions, Modes, Tokens).
Kernel implements printed r0 rules.
- variant_id: h1-problem-stress
path: editions/experiments/h1-problem-stress
kind: experiment
base: ground-darvo-r0
selectable: true
status: measured
dataset_id: GROUND-DARVO-EXP-H1-0.1
title: "H1 — problem pressure + high-stress ATTACK self-soothe"
summary: >
Two deltas only: (A) +1 Stress each player at Round End if any
Problem remains unclaimed; (B) uncancelled ACT_ATTACK by a seat
at Stress ≥4 gives that seat 1 Stress. Thresholds/deal unchanged.
hypothesis_ref: history/260807-attack-darvo-stress-design.md
workplan_ref: workplans/GROUND-WP-0006-h1-problem-stress-experiment.md
measurement_ref: reports/260808-clay-borg-h1-measured.md
rules_delta: editions/experiments/h1-problem-stress/rules_delta.yaml
changed_files:
- Actions.csv
- Rules_Text.csv
- metadata.json
utility_estimate: >
Measured 2026-08-08 (CB-EV-0030/0031; instrument caveat applies).
Direction right, magnitude wrong: H1-A is a solve-rate tax that
competent seats absorb with GROUND (Stress ~3); H1-B never fires
for them. DARVO arms for unregulated seats; group wins collapse
to 0 at 3p+ under greedy SHARED GROUND. Do not promote as-is.
decision: reject-as-baseline
# Package stays selectable for regression compare; not a ship pin.
git_pin: null
clay_borg_notes: >
Kernel implements H1-A/H1-B. Keep for A/B against successors (H2…).
- variant_id: h2-scoped-problem-stress
path: editions/experiments/h2-scoped-problem-stress
kind: experiment
base: ground-darvo-r0
selectable: true
status: experimental
dataset_id: GROUND-DARVO-EXP-H2-0.1
title: "H2 — scoped problem stress (personal / bond / global)"
summary: >
Unclaimed Problems apply +1 End Stress only to stress_scope:
personal=owner, bond=owner's Bond network, global=all. Surface
global; priority 3 is bond (in play at 3p+). Anyone may SOLVE any
card. Not stacked on H1; no ATTACK self-soothe.
hypothesis_ref: history/260808-h2-scoped-problem-stress.md
workplan_ref: workplans/GROUND-WP-0007-h2-scoped-problem-stress.md
measurement_ref: null
rules_delta: editions/experiments/h2-scoped-problem-stress/rules_delta.yaml
changed_files:
- Problems.csv
- Rules_Text.csv
- metadata.json
utility_estimate: >
Unmeasured. Expected: stress variance up; group wins at 34p much
better than H1; bond cards create joint SOLVE incentive in networks.
decision: none
git_pin: null
clay_borg_notes: >
Implement rules_delta H2-SCOPE, H2-OWN, H2-A, H2-SOLVE on base r0.
Do not also apply H1 deltas. Problems.csv adds stress_scope column.
Report bond-card SOLVE rates and stress variance vs r0 and h1.