diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index be86d86..b6b3b85 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -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 | diff --git a/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md b/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md index ea1548b..fc9048d 100644 --- a/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md +++ b/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md @@ -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