Compare commits

..

No commits in common. "0eea2870995642ae8611654350f410cf06629534" and "074c47650fedfee161c9e68c6651fb6f030856c6" have entirely different histories.

2 changed files with 11 additions and 86 deletions

View file

@ -8,12 +8,7 @@
| Kind | ID | Status | Lane | Source |
| --- | --- | --- | --- | --- |
| workplan | GROUND-WP-0001 | done | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| workplan | GROUND-WP-0002 | ready | — | workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md |
| task | GROUND-WP-0001-T01 | done | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0001-T02 | done | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0001-T03 | done | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0002-T01 | todo | — | workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md |
| task | GROUND-WP-0002-T02 | todo | — | workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md |
| task | GROUND-WP-0002-T03 | todo | — | workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md |
| task | GROUND-WP-0002-T04 | todo | — | workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md |
| workplan | GROUND-WP-0001 | ready | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0001-T01 | todo | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0001-T02 | todo | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |
| task | GROUND-WP-0001-T03 | todo | — | workplans/GROUND-WP-0001-statehub-bootstrap.md |

View file

@ -4,20 +4,18 @@ type: workplan
title: "Rulings the engine is blocked on, and the dataset it never loaded"
domain: consumer
repo: ground-game
status: active
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. Ten underdetermined rules points, six provisional scenarios and three
questions raised by play have accumulated there, and none has been
answered, because none had a home.
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
@ -55,9 +53,8 @@ dissolve without anyone changing a rule.
```task
id: GROUND-WP-0002-T01
status: done
status: todo
priority: high
state_hub_task_id: "431cca12-e6d9-4eba-9360-f4f13ed263c1"
```
State whether `editions/ground-darvo-r0/` is the **authoritative** source
@ -76,42 +73,12 @@ contract clay-borg can build against:
**Until this is answered the engine cannot import the data, and every
threshold question below stays unanswerable.**
**RULED 2026-08-03, by the maintainer:** *"The edition dataset is
authoritative."*
So `editions/ground-darvo-r0/` is the source of truth for Problem values,
required solutions, visibility and priority, and **the engine must import
it rather than invent them**. That unblocks clay-borg and it very likely
dissolves `gr-e01-threshold-unreachable-2p` — see T03.
### What was ruled, and what was not
The headline is answered. The three sub-questions were not, and rather
than block the import on them, these are the **proposed defaults**; each
is cheap to overturn and none is load-bearing for a first import:
| question | proposed default |
|---|---|
| authoritative vs presentational columns | **authoritative:** `problem_id`, `scenario_id`, `visibility`, `hidden_priority`, `required_solution`, `point_value`. **Presentational:** `title`, `problem_text`, `symbol_id`, `front_rules`, `reveal_effect`, `unresolved_effect`, `back_design_id` |
| may `point_value` / `required_solution` change within `r0`? | **no** — a change to either is a new revision |
| what a version bump looks like | the directory name: `ground-darvo-r0` → `-r1`. The engine pins a directory, so a bump is visible in a diff and never silent |
**The distinction that matters** is the second: the engine will hash game
state, and a Problem's value and required suit are *in* that state. If
they can change under a fixed revision name, every recorded scenario hash
in clay-borg silently rots. That is why "no" is proposed rather than
"probably not".
**Owed:** confirm or overturn the three rows above. Until then the engine
imports under them and says so.
## 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
@ -138,54 +105,18 @@ or a gap?
For each: **intended, or not offered.** If intended, say what the player
is meant to learn from the waste.
## Task: answer the ten underdetermined points (U1–U10)
```task
id: GROUND-WP-0002-T05
status: todo
priority: high
```
**This is the oldest item and it has never been read.** `clay-borg`
messaged this repo on **2026-07-30** with ten points the dataset does not
decide, each simulated under a provisional default, asking for *"confirm /
correct (with ruling)"* per item. Four days later the message was still
unopened, because there was nowhere for it to land. Now there is.
| | question | the default clay-borg simulates |
|---|---|---|
| **U1** | Bond-acceptance timing | the target decides during Support resolution, post-reveal |
| **U2** | Stress clamping | clamp on **every** application, not only at End — this changes when DARVO triggers mid-round |
| **U3** | DENY with no legal target | no-op; the sequence still advances |
| **U4** | Solution deck exhaustion | deterministic reshuffle of the discard, else skip the draw |
| **U5** | rejected REVERSE self-effects | owner still gets −2 Stress and the sequence ends; no Blame, no +1, no Protection |
| **U6** | same-round Bond-Support vs DARVO | the Support cancels that round's DARVO stage **before it fires** (step order 2 before 3) |
| **U7** | player elimination | none exists — **confirm** |
| **U8** | GROUND—OU vs Attack | OU cancels the Attack **before** Protection is consumed |
| **U9** | simultaneous double DARVO trigger | needs no extra rule — **confirm** |
| **U10** | hand limit | none |
Full text of each default is in `clay-borg/specs/GroundRules.md`
§Underdetermined. **U2, U6 and U8 are the ones that change play**, because
each decides whether a DARVO stage fires at all; the rest are edge cases
or confirmations.
Answer per item: **confirm**, or **correct with the ruling**.
## 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`. These are the **scenarios** that encode
T05's defaults — answering U1–U10 will settle most of them, so take T05
first and use this list to check nothing was missed. A ruling flips the
scenario; it does not change the kernel.
`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 |
|---|---|
@ -205,7 +136,6 @@ T01 may dissolve it.
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