Adapt CB-WP-0021 and CB-WP-0022 to ground-game's rulings
Some checks failed
ci / check (push) Has been cancelled
Some checks failed
ci / check (push) Has been cancelled
GR-S01 was ruled 2026-08-04: Surface always, union hidden priorities 1..k, k = 2/3/4. So the deal is 3/4/5 Problems, not 2/3/4; available points 6/9/12; thresholds 5/7/9 stand; SHARED GROUND is 2-6p as printed. The question CB-WP-0021 was going to send has been answered, and it was the deal. CB-WP-0021 is re-scoped. The import is now LOAD-BEARING rather than merely correct: the ruled 6/9/12 holds only with Problems.csv values, and the same deal with the stand-in gives 6/10/15 -- a different game that happens to also be winnable. Fixing the deal without importing the data would produce numbers nobody ruled on, so T05 (deal) and T02 (import) must land together. gd0001 is to be INVERTED, not deleted: it is the record of why this changed. gr-e01 is rewritten as a non-provisional import check, per the ruling's own wording, and loses its provisional owner because ground-game has now ruled. CB-WP-0022 absorbs ground-game's process ruling, which is stricter than this pass proposed: arithmetic findings need a runnable reproduction AND a row-level deal table listing Surface and each hidden priority separately, never only a sum or a deal depth. That is a direct consequence of both premises we got wrong. So the reproduction rule gains a SHAPE requirement, not just an existence one -- a finding that ships a passing test but describes the wrong quantity is still a bad finding, and that is what happened twice. T02's review brief is flipped accordingly: press whether the rule is SUFFICIENT, not whether it is affordable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
4e80a65742
commit
e5a0796f2b
2 changed files with 87 additions and 8 deletions
|
|
@ -66,6 +66,30 @@ But it resolves nothing about GR-E01, and T03 must send ground-game a
|
|||
*sharper* question rather than a retirement: **either GR-S01's deal count
|
||||
is wrong or GR-E01's thresholds are, and no dataset can reconcile them.**
|
||||
|
||||
## SUPERSEDED 2026-08-04 — ground-game ruled, and it was the deal
|
||||
|
||||
The question above was sent and **answered** (GROUND-WP-0004, ruled
|
||||
2026-08-04). It was GR-S01:
|
||||
|
||||
> **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."*
|
||||
|
||||
So the deal is **3 / 4 / 5** Problems, not 2 / 3 / 4. Available points
|
||||
become **6 / 9 / 12**, thresholds **5 / 7 / 9 stand**, and SHARED GROUND
|
||||
is a **2–6 player** mode as printed — not 5–6p only.
|
||||
|
||||
**The import is now load-bearing rather than merely correct.** The ruled
|
||||
6 / 9 / 12 holds *only* with `Problems.csv` values (2,2,2,3,3). With the
|
||||
stand-in's `value = priority` the same deal gives **6 / 10 / 15** — a
|
||||
different game that happens to also be winnable. **Fixing the deal without
|
||||
importing the data would produce numbers ground-game did not rule on.**
|
||||
|
||||
The two are therefore one pass, and this workplan is re-scoped to do both.
|
||||
|
||||
**A subtlety the ruling keeps, worth not smoothing away:** at 2p, values
|
||||
2+2+2 against a threshold of 5 still require a **full clear** — any two
|
||||
cards sum to 4. *"Reachable ≠ forgiving."*
|
||||
|
||||
## The constraint, measured before declaring
|
||||
|
||||
**AM-4a has 3,798 lines of headroom.** A CSV crate costs, marginally
|
||||
|
|
@ -127,6 +151,32 @@ content change.
|
|||
invalidates every recorded hash, in a project whose central invariant is
|
||||
replay determinism, is not a data-loading change.
|
||||
|
||||
## Task: deal what GR-S01 now says
|
||||
|
||||
```task
|
||||
id: CB-WP-0021-T05
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
`problem_priorities` returns 2 / 3 / 4 and `setup` deals priorities
|
||||
`1..=N` with priority 1 as the face-up Surface. That is **Surface +
|
||||
(N−1) hidden**. The ruling is **Surface + k hidden**, k = 2 / 3 / 4.
|
||||
|
||||
Do this **with** T02, not before it: the ruled arithmetic is a property of
|
||||
the deal *and* the data together, and landing one without the other gives
|
||||
numbers nobody ruled on.
|
||||
|
||||
**Controls:**
|
||||
- for every seat band, `sum(point_value of dealt) ≥ threshold` — this is
|
||||
the check ground-game asked for by name, and it replaces
|
||||
`gr-e01-threshold-unreachable-2p`;
|
||||
- the Surface Problem is dealt at every seat count and is **never** one of
|
||||
the hidden slots;
|
||||
- **`gd0001` must be inverted**, not deleted. It asserts unreachability at
|
||||
2/3/4 seats and is the record of why this changed; inverting it is how a
|
||||
reader learns the game became winnable rather than that a test vanished.
|
||||
|
||||
## Task: import it, and let the thresholds mean something
|
||||
|
||||
```task
|
||||
|
|
@ -147,9 +197,10 @@ Hidden → face down) and `hidden_priority`.
|
|||
again.
|
||||
- **A scenario must be able to reach GR-E01's threshold at 2 players**,
|
||||
which is the specific thing that was impossible. Assert the arithmetic,
|
||||
not just that a game runs.
|
||||
- The 5-problem shape must survive: the stand-in dealt 3, and code that
|
||||
assumed 3 will not announce itself.
|
||||
not just that a game runs — and at 2p that means a **full clear**, since
|
||||
2+2+2 against 5 leaves no slack.
|
||||
- The deal shape must survive: code that assumed 2/3/4 Problems will not
|
||||
announce itself when it becomes 3/4/5.
|
||||
|
||||
## Task: retire the rules gap that was never one
|
||||
|
||||
|
|
@ -165,10 +216,13 @@ state_hub_task_id: "ff3bd923-9066-49ce-aadd-a3552e4964ff"
|
|||
*"is unreachable at 2, 3 and 4 players"*. If T02 lands, that scenario is
|
||||
asserting a property of the **stand-in**, not of the game.
|
||||
|
||||
Retire or rewrite it, and **say which of the six provisional items this
|
||||
resolves**, so GROUND-WP-0002 T03 shrinks rather than being left to
|
||||
rediscover it. Message `ground-game` with the outcome — the last such
|
||||
message sat unread for four days because nothing pointed at it.
|
||||
**Ruled 2026-08-04:** *"Not a design gap. Rewrite as a non-provisional
|
||||
import/fixture check: for every seat band, `sum(point_value of dealt
|
||||
Problems) ≥ threshold`."*
|
||||
|
||||
So it is **rewritten, not retired**, and it stops being provisional —
|
||||
`provisional_owner: ground-game` comes off because ground-game has now
|
||||
ruled. Message `ground-game` with the outcome.
|
||||
|
||||
Do **not** quietly delete a failing-in-fact scenario. CB-EV-0005: *a score
|
||||
improved by deleting the question is not an improvement.*
|
||||
|
|
|
|||
|
|
@ -161,7 +161,12 @@ above, and require an attempt at:
|
|||
third thing;
|
||||
- **that "carries its reproduction" is affordable** — if half the real
|
||||
findings cannot be reproduced cheaply, the rule will be quietly dropped
|
||||
and the register becomes a suggestion box anyway;
|
||||
and the register becomes a suggestion box anyway. *(Since this task was
|
||||
written the answer has hardened: two findings reached ground-game on
|
||||
wrong premises, and ground-game has itself ruled that reproductions are
|
||||
required. The reviewer should now press the opposite way — whether the
|
||||
rule is **sufficient**, given both bad premises would have shipped a
|
||||
passing test alongside a wrong description.)*
|
||||
- **that a register is needed at all**, rather than one more section in
|
||||
`GroundRules.md §Underdetermined`, which already exists and already
|
||||
works.
|
||||
|
|
@ -212,6 +217,26 @@ Candidate measures, to be argued not adopted:
|
|||
*read*; that is the number this exists to fix;
|
||||
- **findings closed by a ruling** vs **findings still open**, with age.
|
||||
|
||||
**ground-game has ruled on what a finding must carry** (GROUND-WP-0004
|
||||
T02, 2026-08-04), and it is stricter than this pass proposed. Adopt it:
|
||||
|
||||
> 1. Arithmetic findings must ship a **runnable reproduction** *and* a
|
||||
> **row-level deal table** listing 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, so a later reader can re-run it.
|
||||
|
||||
The second half is theirs to keep. The first is ours, and it is a direct
|
||||
consequence of both premises we got wrong: *"12 in the file"* was a sum
|
||||
without a deal table, and *"offered on a face-down Problem"* was a
|
||||
condition named without checking which one actually fired.
|
||||
|
||||
**So the reproduction rule gains a shape requirement, not just an
|
||||
existence one.** A finding that ships a passing test but describes the
|
||||
wrong quantity is still a bad finding — which is exactly what happened
|
||||
twice. The spec must say what a reproduction has to *show*, not only that
|
||||
one exists.
|
||||
|
||||
Also specify the **trial protocol**, which is the part with no precedent
|
||||
here: a trial game is a `--record`ed session plus an observation log, so
|
||||
*"we played it and X happened"* is replayable rather than remembered. The
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue