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