2026-08-03 23:52:12 +02:00
---
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
2026-08-04 00:21:13 +02:00
status: finished
2026-08-03 23:52:12 +02:00
owner: bernd
topic_slug: whynot
created: "2026-08-03"
2026-08-04 00:21:13 +02:00
updated: "2026-08-04"
2026-08-03 23:52:12 +02:00
origin: correction
origin_ref: GROUND-WP-0002
2026-08-03 23:53:04 +02:00
state_hub_workstream_id: "067434eb-18cc-472f-b4ea-7dd16555629f"
2026-08-03 23:52:12 +02:00
---
# 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
2026-08-04 00:21:13 +02:00
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.
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
## The evidence that reopened this
2026-08-03 23:52:12 +02:00
**1. Play.** The maintainer played several 3-player games on 2026-08-03
2026-08-04 00:21:13 +02:00
and could not win any of them (engine stand-in / undercount shape).
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
**2. Engine constants (stand-in):** max 3 / 6 / 10 vs thresholds 5 / 7 / 9
— unreachable at 2– 4 seats.
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
**3. clay-borg “CSV deal”:** max 4 / 6 / 9 — still unreachable at 2– 4.
2026-08-03 23:52:12 +02:00
**Reproduction:** `gd0001_group_success_is_unreachable_below_five_seats`
2026-08-04 00:21:13 +02:00
in clay-borg (stand-in / wrong deal depth).
2026-08-03 23:52:12 +02:00
## Task: rule again, on the corrected numbers
```task
id: GROUND-WP-0004-T01
2026-08-04 00:21:13 +02:00
status: done
2026-08-03 23:52:12 +02:00
priority: high
2026-08-03 23:53:04 +02:00
state_hub_task_id: "dcd7da12-be3a-4289-8d21-1924401a1259"
2026-08-03 23:52:12 +02:00
```
2026-08-04 00:21:13 +02:00
### RULED 2026-08-04 (maintainer confirmed direction)
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
| 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 ). |
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
**Subtlety retained:** at 2p, values 2+2+2 mean need 5 still requires a
**full clear** (any two cards sum to 4). Reachable ≠ forgiving.
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
**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 ).
2026-08-03 23:52:12 +02:00
## Task: how a clay-borg premise reached a ruling unchecked
```task
id: GROUND-WP-0004-T02
2026-08-04 00:21:13 +02:00
status: done
2026-08-03 23:52:12 +02:00
priority: medium
2026-08-03 23:53:04 +02:00
state_hub_task_id: "bd1c7a7d-36a2-4bf4-ab42-8e5489706df4"
2026-08-03 23:52:12 +02:00
```
2026-08-04 00:21:13 +02:00
### 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
2026-08-03 23:52:12 +02:00
2026-08-04 00:21:13 +02:00
- **[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` .