ground-game/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md
tegwick 192e0486fb Close GROUND-WP-0001; open GROUND-WP-0002, the rulings the engine is blocked on
T01: no generated placeholders remain. Named but not edited: SCOPE.md
does not say this repo is the authority clay-borg defers to for game
semantics, which is a real relationship with nine unanswered questions
behind it. Carried into WP-0002 T01 rather than written by hand, because
the sentence cannot be honest until the contract exists.

T02: there are no build/test/lint commands and that is the answer, not
an omission -- this is a content repo. Finding recorded: nothing
validates that the CSV sheets are internally consistent, because the
engine has never loaded them.

T03: GROUND-WP-0002. The most important next change is not content. The
engine has never loaded this repo's edition data -- it builds Problems
with value=priority and cycled suits, while Problems.csv has carried
point_value 2,2,2,3,3 and required_solution since 2026-07-31. GR-E01's
thresholds (2p 5, 3-4p 7, 5-6p 9) are ordinary against the 12 points the
dataset provides and unreachable against the stand-in's 6 -- which is
exactly what clay-borg reported as a rules gap needing a ruling here.

WP-0002 therefore leads with declaring the dataset authoritative, then
takes the rulings that survive it: SOLVE's legality against a face-down
problem, an unmatchable suit, and an already-claimed problem (GR-A13);
the six provisional defaults; and GR-E03/GR-E04 never having been played
to the end.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 18:54:42 +02:00

145 lines
5.3 KiB
Markdown
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.

---
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"
---
# 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 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
```
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
```
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
```
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.