--- id: GROUND-WP-0002 type: workplan title: "Rulings the engine is blocked on, and the dataset it never loaded" domain: consumer repo: ground-game status: ready owner: bernd topic_slug: whynot created: "2026-08-03" updated: "2026-08-03" state_hub_workstream_id: "d8fc3a69-a5ae-4f6e-b4fc-b07d1ff9c783" --- # Rulings the engine is blocked on `clay-borg` implements the engine that simulates GROUND. Its INTENT says game-semantics questions defer to **this** repo. Nine such questions have accumulated there and none has been answered, because none had a home. This is their home. **Nothing here is a clay-borg change.** Every item is a ruling only the game's owner can make; the engine already carries a provisional default for each and will flip it when the ruling lands. ## The finding that reframes most of this **The engine has never loaded this repository's edition data.** `games/ground/src/lib.rs:1839` builds Problems with `value: priority` and suits cycled by index — a stand-in it has always labelled as such. Mean- while `editions/ground-darvo-r0/Problems.csv` has carried the real thing since 2026-07-31: | | problems per scenario | values | total available | |---|---:|---|---:| | `Problems.csv` (real) | **5** | 2, 2, 2, 3, 3 | **12** | | the engine's stand-in | 3 | 1, 2, 3 | **6** | The dataset also defines `required_solution` (Repair / Clarify / Boundary), `visibility` (Surface / Hidden) and `hidden_priority` (0–4) — all of which the engine currently invents. **GR-E01's thresholds are 2p → 5, 3–4p → 7, 5–6p → 9.** Against 12 available points those are ordinary targets. Against a stand-in worth 6 they are unreachable, which is exactly what clay-borg reported as a rules gap needing a ruling here. **So the first question is not a rules question at all.** It is whether this dataset is authoritative — and if it is, several of the items below dissolve without anyone changing a rule. ## Task: declare the dataset authoritative, and say what the engine may rely on ```task id: GROUND-WP-0002-T01 status: todo priority: high state_hub_task_id: "431cca12-e6d9-4eba-9360-f4f13ed263c1" ``` State whether `editions/ground-darvo-r0/` is the **authoritative** source for Problem values, required solutions, visibility and priority — and what the engine may treat as stable. `SCOPE.md` already promises *"stable IDs suitable for layout templates, print merges, and later digital import."* This task turns that into a contract clay-borg can build against: - which columns are authoritative vs presentational; - whether `point_value` and `required_solution` may change between `r0` and a later revision without a version bump; - what a version bump looks like, so the engine can pin one. **Until this is answered the engine cannot import the data, and every threshold question below stays unanswerable.** ## Task: rule on SOLVE's legality ```task id: GROUND-WP-0002-T02 status: todo priority: high state_hub_task_id: "895573ac-d7b9-4160-a118-5bc8866c28c8" ``` Three related questions, all raised by play, all currently decided by the engine's default rather than by the rules. **(a) May SOLVE be selected against a *face-down* Problem?** Measured in the browser on 2026-08-03: a player selected SOLVE on a face-down Problem in three consecutive rounds. Nothing happened, three times, because GR-A02's resolver skips a Problem that is not face up. The engine offered the move each time. A face-down commit you cannot fulfil is a plausible **bluff** in a commit/reveal game with DARVO — which is why this is a ruling and not a bug. But if it is a bluff it should be *intended*; if it is not, the move should not be offered. **(b) May SOLVE be selected when the seat holds no Solution of the required suit?** Same shape: currently offered, silently does nothing. **(c) GR-A13 — SOLVE against an already-claimed Problem.** Long-standing in clay-borg's evidence as *"wasted SOLVE"*. Intended cost of a bad read, or a gap? For each: **intended, or not offered.** If intended, say what the player is meant to learn from the waste. ## Task: confirm or overturn the six provisional defaults ```task id: GROUND-WP-0002-T03 status: todo priority: medium state_hub_task_id: "52cc157f-8fbd-469d-9da7-a96f1c60b654" ``` Six engine scenarios are tagged `provisional: true` with `provisional_owner: ground-game`. Each encodes a default the engine had to pick because the rules did not say. A ruling flips the scenario; it does not change the kernel. | scenario | the default currently in force | |---|---| | `gr-a04-bond-support` | a Support with no existing relation forms **no** Bond, because GR-L02 requires the target's consent | | `gr-d01-darvo-trigger` | Stress **clamps** at 5 on every application (GR-F01 under the U2 default) | | `gr-d05-darvo-reverse` | the REVERSE stage's default resolution | | `gr-e01-threshold-unreachable-2p` | thresholds measured against the **stand-in** values — see the finding above | | `gr-e02-shared-ground` | SHARED GROUND scoring default | | `gr-e04-coalitions` | Bond networks score together; Rivalries do not connect; an unbonded player is a coalition of one | Confirm each or overturn it. **`gr-e01` should be taken last**, because T01 may dissolve it. ## Task: GR-E03 and GR-E04 have never been played to the end ```task id: GROUND-WP-0002-T04 status: todo priority: medium state_hub_task_id: "6c55eb56-22dc-4ee2-ac1a-4ced0dedfab9" ``` Both scoring modes are implemented and neither has been played through a full game — by a person or by the engine. Whatever the rules say, nobody knows what these modes feel like at the table. This is a **playtest** task, not an engine task, and it belongs here.