CB-WP-0029 T04: evidence — and chaos window 2 closes with nothing to
Some checks failed
ci / check (push) Failing after 3s

evaluate

CB-EV-0027.

The supply is never exceeded, and the link row explains why: GR-L01's two
slots per seat ARE the twelve link tokens, the same constraint written
twice. Nothing was designed to make that true; it fell out.

The Focus/Blame check was wrong and I caught it -- fifth instance of the
family CB-EV-0019 named (a number computed correctly about the wrong
subject) and the FIRST caught before leaving the repo, rather than by an
adversarial reviewer or the maintainer. That is one data point, not a
trend. What differed is that this pass read its own output and asked what
exactly it had compared. The family still has no control: facts-check
catches copies that disagree and nothing catches a correct computation
over the wrong subject.

The height limit went 460 -> 500, and the evidence argues why that is a
correction and not a concession. 460 was a number picked while fixing the
unplayable table -- no derivation. 500 has one: ~800px viewport less ~120
header and ~150 controls leaves ~530, and the version that broke dragging
declared 620. An underived limit is a measurement defect; replacing it
with a derived one is CB-WP-0021 T06's rule applied rather than evaded. A
later pass wanting 560 has to move the viewport budget, not the number.

CHAOS WINDOW 2 IS CLOSED. Twelve declarations, zero 8s, zero overrides.
Its retirement condition -- retire if an override changes nothing twice
running -- was untestable from the first declaration to the last, and
CB-EV-0024, 0025 and 0026 each said so; this is the fourth and final.
Window 1 at d4: 12 declarations, 2 overrides, both changed the outcome.
Window 2 at d8: 12, 0, none.

The verdict this supports is that d8 bought rarity by spending evidence --
stronger than "the rate is too low", because the rate was chosen without
asking what sample size the retirement condition needs. Recording that
changes how the loop constrains its own operation, which is a tier-M
trigger in its own right, so it is OUTSTANDING and named rather than
bundled here. Leaving it implicit is exactly how ground-game's ten rulings
went uncollected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-07 09:55:47 +02:00
parent 631fb41fc2
commit a170458762
2 changed files with 186 additions and 2 deletions

View file

@ -2,7 +2,7 @@
id: CB-WP-0029
kind: product
title: "The tokens on the table: components you can count, and a supply the engine may not respect"
status: active
status: done
state_hub_workstream_id: "fb3d3c80-3798-4d0f-91ce-b8ea45943328"
---
@ -228,7 +228,7 @@ as a standing control.
```task
id: CB-WP-0029-T04
status: todo
status: done
priority: medium
state_hub_task_id: "29858777-6f8f-4d8e-90d0-cb193b7f4d29"
```
@ -243,3 +243,22 @@ state_hub_task_id: "29858777-6f8f-4d8e-90d0-cb193b7f4d29"
- **The window-2 verdict is due** (§The window closes here) — name it as
outstanding if the closing pass has not run.
- **Quote CB-WP-0028's cost by re-running the instrument.**
**Done 2026-08-07.**
[CB-EV-0027](../evidence/CB-EV-0027-the-tokens-on-the-table.md).
- **The supply is never exceeded**, and the link row explains why a supply
can need no enforcement: GR-L01's two slots per seat *are* the twelve
tokens, the same constraint written twice.
- **The Focus/Blame check was wrong and I caught it** — fifth instance of
the wrong-subject family, and **the first caught before leaving the
repo**. One data point, not a trend; the family still has no control.
- **The height limit went 460 → 500 as a correction.** 460 had no
derivation; 500 does. An underived limit is a measurement defect, and
replacing it is CB-WP-0021 T06's rule applied, not evaded.
- **Whether the tracks change what a player sees coming is untested** and
only play tests it.
- **Chaos window 2 is closed: twelve declarations, zero overrides.** Its
retirement condition was untestable from first to last. **The verdict is
the next thing this loop owes itself**, and it is a tier-M pass because
recording it changes how the loop constrains its own operation.