CB-WP-0029 T01-T03: components you can count, and a supply that does not bind
ADR-0016, Tokens.csv vendored, tracks and discs on the table, and a supply audit that found nothing and says so. T03 MEASURED BEFORE T01 DECIDED. 750 games, 2-6 seats, greedy and random: Protection reaches 1 per seat and 2 on the table against a supply of 6; Denied 3 of 5; relation links EXACTLY 12 OF 12 and never more; Focus/Blame 0 conflicts. The link row is the interesting one -- GR-L01's two-slot rule IS the twelve-token supply written twice, which is the shape of a supply needing no separate enforcement. AND THE FIRST VERSION OF THE FOCUS/BLAME CHECK WAS WRONG. It compared a seat's own placed Focus against its OWN blame_from -- but that list holds OTHER players' discs, so they are different tokens. It reported 2 conflicts; corrected, it reports 0. Fifth instance of this project's recurring defect, a number computed correctly about the wrong subject, and the first caught before it left the repo rather than by a reviewer. D2: a token is a VIEW, not a type. The aggregate gains no `Token` -- adding one would create a second source of truth for Stress, and the first time they disagreed the bug would be invisible because both would look internally consistent. D3: quantity does NOT bind, and the reason is not the measurement. A component limit the rules do not state is not a rule. Refusing a seventh Protection token would enforce something nobody ruled -- CB-WP-0023's error inverted: SOLVE was OFFERED where it could not act; this would REFUSE where the rules allow. The check ships as a standing control, so a future violation becomes a question for ground-game (does the box bound the game, or do the rules?) rather than a bound the engine invented. Registered as F22, withdrawn: a stated negative, because a survey that finds nothing and leaves no trace cannot be told from one never run. D4: Stress on a 0-5 track that turns red at 5 where DARVO arms, DARVO on OFF/DENY/ATTACK/REVERSE, Freedom as the two-sided disc the edition says it is, Protection and Blame counted, Lead and Round on the table. Two tests broke on token discs and both were FIXTURE defects: seat_centres matched every <circle> and track stops are circles. Seats now carry class="seat". The table height limit went 460 -> 500 as a CORRECTION, not a concession. 460 had no derivation; 500 does -- ~800px viewport less ~120 header and ~150 controls leaves ~530, and the version that broke dragging was 620. CB-WP-0021 T06's rule is to fix the measurement rather than lower the floor, and an underived number is a measurement defect. make all: exit 0. 66 render tests, 26 cb-play. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
7fa0c65e6d
commit
631fb41fc2
10 changed files with 657 additions and 57 deletions
|
|
@ -49,6 +49,7 @@ kinds, states and metrics: [`GameDesign.md`](GameDesign.md). Reported by
|
|||
| F19 | degenerate | applied | crates/cb-render-html/src/lib.rs::overhead_table | counterexample | 2026-08-06 | clay-borg |
|
||||
| F20 | inert | applied | crates/cb-render-html/src/lib.rs::ending_page | counterexample | 2026-08-06 | clay-borg |
|
||||
| F21 | degenerate | note | — | — | 2026-08-06 | clay-borg |
|
||||
| F22 | underdetermined | withdrawn | games_ground::edition::supply_tests::play_never_exceeds_the_components_the_box_holds | counterexample | 2026-08-07 | clay-borg |
|
||||
|
||||
<!-- design-register:end -->
|
||||
|
||||
|
|
@ -78,6 +79,21 @@ kinds, states and metrics: [`GameDesign.md`](GameDesign.md). Reported by
|
|||
since GROUND-WP-0005 is blocked on exactly this number. The withdrawal
|
||||
was reported (ADR-0012 D5). Its reproduction is `difficulty.rs`, whose
|
||||
policy panel is plural *because of this finding*.
|
||||
- **F22 — does the component supply bind the game? Asked, measured, and
|
||||
withdrawn.** `Tokens.csv` gives every component a `quantity` — 6
|
||||
Protection, 5 Denied, 12 relation links — and **no numbered rule
|
||||
mentions a supply**, so the engine could in principle mint a seventh
|
||||
Protection token (`saturating_add`, no bound, `lib.rs:986`). Measured
|
||||
over **750 games**, 2–6 seats, greedy and random: Protection reaches 1
|
||||
per seat and 2 on the table; Denied 3 of 5; links **exactly 12 of 12**,
|
||||
never over, because GR-L01's two-slot rule *is* the twelve-token supply
|
||||
written twice. Focus/Blame: 0 conflicts. **Withdrawn — nothing to
|
||||
report.** Registered as a stated negative because a survey that finds
|
||||
nothing and leaves no trace cannot be told from one that was never run.
|
||||
The check ships as a standing control (ADR-0016 D3): if play ever does
|
||||
exceed a quantity, that is a **finding for ground-game** — *does the box
|
||||
bound the game, or do the rules?* — and **not** a bound for the engine to
|
||||
invent.
|
||||
- **F21 — dragging did not work until after the first note was saved.**
|
||||
Reported 2026-08-06: *"I could not drag and drop at the beginning but
|
||||
after I added the first comment it worked."* **`note`, and I could not
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue