--- id: GROUND-WP-0004 type: workplan title: "Reopen GR-E01: the void ruling rests on a premise clay-borg has corrected" domain: consumer repo: ground-game status: finished owner: bernd topic_slug: whynot created: "2026-08-03" updated: "2026-08-04" origin: correction origin_ref: GROUND-WP-0002 state_hub_workstream_id: "067434eb-18cc-472f-b4ea-7dd16555629f" --- # The GR-E01 ruling was made on a false premise, and clay-borg supplied it GROUND-WP-0002 T03 ruled `gr-e01-threshold-unreachable-2p`: > **Void / overturn as a rules gap** — stand-in artifact. With > authoritative `Problems.csv` (**12 pts available**) the printed > thresholds (2p→5, 3–4p→7, 5–6p→9) stand. **The 12 is wrong, and clay-borg is where it came from.** Twelve points exist *in the file*; clay-borg then “corrected” to 4 / 6 / 9 by treating GR-S01 as dealing 2 / 3 / 4 *total* problems from Surface upward. That undercount still drops the explicit Surface + hidden split in the rules. ## The evidence that reopened this **1. Play.** The maintainer played several 3-player games on 2026-08-03 and could not win any of them (engine stand-in / undercount shape). **2. Engine constants (stand-in):** max 3 / 6 / 10 vs thresholds 5 / 7 / 9 — unreachable at 2–4 seats. **3. clay-borg “CSV deal”:** max 4 / 6 / 9 — still unreachable at 2–4. **Reproduction:** `gd0001_group_success_is_unreachable_below_five_seats` in clay-borg (stand-in / wrong deal depth). ## Task: rule again, on the corrected numbers ```task id: GROUND-WP-0004-T01 status: done priority: high state_hub_task_id: "dcd7da12-be3a-4289-8d21-1924401a1259" ``` ### RULED 2026-08-04 (maintainer confirmed direction) | question | ruling | |---|---| | **GR-S01 deal** | **Surface always** ∪ **hidden priorities `1..k`**, with `k = 2` (2p), `3` (3–4p), `4` (5–6p). Surface is never one of the hidden priority slots. | | **Available points** (`Problems.csv` values) | **6 / 9 / 12** for those seat bands — not 12-always, not 4/6/9. | | **GR-E01 thresholds** | **5 / 7 / 9 stand** as the **Standard** target. All are ≤ available. | | **SHARED GROUND seat range** | **2–6 players**, same as the box. Not a 5–6p-only mode. | | **`gr-e01-threshold-unreachable-2p`** | **Not a design gap.** Rewrite as a non-provisional **import/fixture check**: for every seat band, `sum(point_value of dealt Problems) ≥ threshold`. Invert/retire `gd0001` when the engine deals Surface + hidden correctly. | | **Difficulty tiers** | Not required to close this. Design parked as residual [GROUND-WP-0005](GROUND-WP-0005-difficulty-tiers-and-pressure-dial.md). | **Subtlety retained:** at 2p, values 2+2+2 mean need 5 still requires a **full clear** (any two cards sum to 4). Reachable ≠ forgiving. **Edition encoding (this session):** - `Rules_Text.csv` — explicit Surface-vs-hidden deal, available 6/9/12, threshold ≤ available invariant, 2–6 all modes. - `Scenarios.csv` — setup columns spell Surface + hidden + available + threshold (columns 5/7/9 unchanged). - `Modes.csv` — SHARED GROUND explicitly 2–6; semi/coalition note threshold ≤ available. - `README.csv` — one-line deal/threshold contract. - Analysis: [`history/260804-threshold-reachability-and-difficulty.md`](../history/260804-threshold-reachability-and-difficulty.md). ## Task: how a clay-borg premise reached a ruling unchecked ```task id: GROUND-WP-0004-T02 status: done priority: medium state_hub_task_id: "bd1c7a7d-36a2-4bf4-ab42-8e5489706df4" ``` ### RULED 2026-08-04 — process hygiene The original void ruling was **sound reasoning on a bad input**. clay-borg supplying a single aggregate (“12 in the file”) without a **Surface- separated deal table** made the error cheap to accept. **From this side, sufficient going forward:** 1. Arithmetic findings must ship a **runnable reproduction** (clay-borg’s CB-WP-0022 practice) **and** a row-level deal table that lists Surface and each hidden priority separately — never only “sum of file” or “deal depth N”. 2. ground-game rulings that depend on arithmetic **should cite** that reproduction id (or path) in the workplan ruling block so a later reader can re-run it. 3. ground-game will **spot-check** deal tables against `Rules_Text` + `Problems.csv` before treating a gap as design vs import. A second wrong total (4/6/9) is how this reopened. Runnable repro alone is not enough if the engine under test encodes the wrong deal; the edition text remains authority for GR-S01. ## Residuals - **[GROUND-WP-0005](GROUND-WP-0005-difficulty-tiers-and-pressure-dial.md)** — optional Learning/Mastery tiers + Pressure dial after playtest on correct deal (`origin: residual`, `origin_ref: GROUND-WP-0004`). - clay-borg: import Surface + hidden; rewrite `gr-e01` / invert `gd0001`.