Surface is always in play with hidden priorities 1..k, so available points are 6/9/12 against Standard thresholds 5/7/9 — every seat band is winnable. Encode the contract in edition rules, finish the workplan, and park optional difficulty tiers as GROUND-WP-0005.
113 lines
4.7 KiB
Markdown
113 lines
4.7 KiB
Markdown
---
|
||
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`.
|