CB-WP-0021: correct the declaration before writing any code

The declaration claimed importing the edition data would resolve GR-E01.
Measured across all four scenarios: GR-S01 deals 2/3/4 problems by player
count, not all five, so 4/6/9 points are in play against thresholds of
5/7/9 -- unreachable at 2p and 3-4p with the REAL data, in the same shape
as the stand-in's 3/6/10. So GR-E01 unreachable below 5 seats is a real
property of the game and gr-e01-threshold-unreachable-2p asserts
something true.

The error was the cheap kind: 12 points exist in the file, so I assumed
12 are in play. One command over the CSV settled it and was not run until
after the declaration was committed -- this project's characteristic
error, in the pass that followed a ruling obtained because of it.

CB-EV-0018 corrected too: 'confirmed as the stand-in's doing' was
overstated. The zero came from no Problem being claimed at all.

T03 now owes ground-game a sharper question than a retirement: either
GR-S01's deal count is wrong or GR-E01's thresholds are, and no dataset
can reconcile them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-03 20:35:39 +02:00
parent 7de0dcef87
commit fe3852e093
2 changed files with 42 additions and 6 deletions

View file

@ -147,6 +147,11 @@ is what the 27% breach called for.
- **The engine still has not imported the edition data**, now that
GROUND-WP-0002 T01 has ruled it authoritative. That is the next product
pass, and it is what makes the ending's `0` scores and `winners nobody`
meaningful — **confirmed as the stand-in's doing, not a scoring bug**.
meaningful — ~~confirmed as the stand-in's doing, not a scoring bug~~.
**CORRECTED 2026-08-03 (CB-WP-0021):** overstated. The `0` came from no
Problem being claimed at all. The *threshold* gap is independent of the
dataset — GR-S01 deals 2/3/4 of the five problems, so 4/6/9 points are
in play against thresholds of 5/7/9, unreachable at 2p and 34p with
either dataset.
- **`ground-game` owes ten rulings** (U1U10) and SOLVE's legality.
- **Chaos: 3 of 12 in window 2, one override, changed nothing.**

View file

@ -28,11 +28,42 @@ authoritative on 2026-08-03**:
| `Problems.csv` | **5** | 2, 2, 2, 3, 3 | **12** | `required_solution` per problem |
| the stand-in | 3 | 1, 2, 3 | **6** | cycled by index |
GR-E01's thresholds are 2p → 5, 34p → 7, 56p → 9. **Ordinary against 12,
unreachable against 6** — which is why the maintainer's last game ended
`0` scores and `winners nobody`, and why clay-borg has been carrying
`GR-E01 unreachable below 5 seats` as a rules gap for ground-game to rule
on. It was never a rules gap.
## CORRECTION, before any code: the import does not fix GR-E01
**This declaration opened by claiming it would, and the data says
otherwise.** The claim was *"ordinary against 12, unreachable against 6 —
it was never a rules gap."* Measured across all four scenarios:
**GR-S01 deals 2 / 3 / 4 problems by player count, not all five.** So the
points actually in play are never 12:
| players | dealt | available | GR-E01 threshold | |
|---:|---:|---:|---:|---|
| 2 | 2 | **4** | 5 | unreachable |
| 34 | 3 | **6** | 7 | unreachable |
| 56 | 4 | **9** | 9 | reachable, exactly |
Identical in shape to the stand-in, which gave 3 / 6 / 10 against the same
5 / 7 / 9. **So `GR-E01 unreachable below 5 seats` is a real property of
the game, not an artifact of the stand-in**, and
`gr-e01-threshold-unreachable-2p` is asserting something true.
The error was mine and it was the cheap kind to make: 12 points exist in
the file, so I assumed 12 points are in play. **One command over the CSV
settled it, and it was not run until after the declaration was
committed** — the characteristic error of this project, in the pass that
followed a ruling obtained *because* of it.
**CB-EV-0018 is corrected too.** It said the `0` scores were *"confirmed
as the stand-in's doing, not a scoring bug."* Overstated: the zero came
from no Problem being claimed at all, and the threshold gap is
independent of which dataset is loaded.
**What this changes.** The import is still right — the suits, values and
visibility are authoritative and the engine should stop inventing them.
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.**
## The constraint, measured before declaring