ground-game/workplans/GROUND-WP-0004-the-threshold-ruling-rests-on-a-bad-premise.md
tegwick 8886543aa0 Rule GR-S01 deal and close GROUND-WP-0004 threshold gap
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.
2026-08-04 00:21:13 +02:00

113 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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, 34p→7, 56p→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 24 seats.
**3. clay-borg “CSV deal”:** max 4 / 6 / 9 — still unreachable at 24.
**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` (34p), `4` (56p). 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** | **26 players**, same as the box. Not a 56p-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, 26 all modes.
- `Scenarios.csv` — setup columns spell Surface + hidden + available +
threshold (columns 5/7/9 unchanged).
- `Modes.csv` — SHARED GROUND explicitly 26; 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-borgs
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`.