--- id: GROUND-WP-0001 type: workplan title: "Bootstrap State Hub integration" domain: consumer repo: ground-game status: done owner: codex topic_slug: whynot created: "2026-07-31" updated: "2026-08-03" state_hub_workstream_id: "221583ba-992a-5ca1-a519-6b100ea90157" --- # Bootstrap State Hub integration Product repo for GROUND — A Game of Bonds and Rivalry (DARVO Edition): playtest edition datasets, rules content, and design history for a semi-cooperative conflict card game. ## Review Generated Integration Files ```task id: GROUND-WP-0001-T01 status: done priority: high state_hub_task_id: "5a2dd899-1117-5981-ae15-3527c26772e5" ``` Review `INTENT.md`, `SCOPE.md`, `AGENTS.md`, and `.custodian-brief.md`. Replace generated placeholders with repo-specific facts where needed. **Done 2026-08-03.** Reviewed; **no generated placeholders remain** — `INTENT.md`, `SCOPE.md` and `AGENTS.md` all carry repo-specific content (the DARVO edition, the `ground-darvo-r0` dataset, the consumer domain, the `GROUND-WP-` prefix). Nothing to replace. One gap worth naming rather than editing: `SCOPE.md`'s *"In scope now"* does not mention that this repo is the **authority the engine defers to** for game semantics. That is a real relationship — `clay-borg`'s INTENT says *"game-semantics questions defer to that repo"* — and it now has nine unanswered questions behind it. Rather than amend SCOPE by hand, it is carried as GROUND-WP-0002 T01, which has to answer what the engine may rely on before the scope sentence can be written honestly. ## Verify Local Developer Workflow ```task id: GROUND-WP-0001-T02 status: done priority: high state_hub_task_id: "481611a1-38bf-586b-92de-9c57afa25f3a" ``` Identify the repo's install, test, lint, build, and run commands. Add or refine those commands in the agent instructions so future coding sessions can verify changes confidently. **Done 2026-08-03.** There are none, and that is the honest answer rather than an omission: this is a **content repository**. It holds CSV edition data under `editions/ground-darvo-r0/`, prose under `INTENT`/`SCOPE`, and design history. There is no build, no test runner and no linter, because there is nothing here that executes. The workflow is therefore: | step | command | |---|---| | register workplan and task changes | `statehub fix-consistency` | | verify the dataset loads | *(none — see below)* | **The missing one is worth stating as a finding.** Nothing in this repo validates that `Problems.csv` and its sibling sheets are internally consistent — that `required_solution` values exist in `Solutions.csv`, that `scenario_id` values exist in `Scenarios.csv`, that IDs are unique. The engine has never loaded them, so nothing has ever checked them. Not fixed here: a validator is real work and it should be built against the contract GROUND-WP-0002 T01 defines, not before it. ## Seed First Real Workplan ```task id: GROUND-WP-0001-T03 status: done priority: medium state_hub_task_id: "ab005402-9c7e-5425-be54-53e7eb693ec3" ``` Create the first implementation workplan for the repository's most important next change. After workplan file updates, run the sync locally from this repo checkout: ```bash statehub fix-consistency ``` **Done 2026-08-03.** [GROUND-WP-0002](GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md) — *the rulings the engine is blocked on, and the dataset it never loaded.* The most important next change is not a content change. It is that **`clay-borg` has never loaded this repository's edition data** and has been running on a stand-in that invents Problem values and suits. Its `GR-E01 unreachable below 5 seats` finding — carried for passes as a rules gap needing a ruling here — is most likely an artifact of that: the thresholds (2p → 5, 3–4p → 7, 5–6p → 9) are ordinary against the 12 points `Problems.csv` actually provides, and unreachable against the stand-in's 6. So GROUND-WP-0002 leads with declaring the dataset authoritative, then takes the rulings that survive it.