--- id: CB-WP-0045 kind: product title: "The table names what it shows" status: done state_hub_workstream_id: "4191bea7-f1ea-40b9-a957-600dabb298e2" --- # Purpose ``` structural tier S (rendering only -- no rule, no dependency, no budget, no artifact contract moved) declared tier S ``` First declaration after [ADR-0021](../decisions/ADR-0021-the-chaos-roll-is-retired.md) retired the chaos roll. ## The reports Three sessions, `make trials` (notes now bind per game — ADR-0019 holds: `g1+0`, `g2+35`, `g3+44`): > *"Ok, that seemed more interesting and we lost."* / *"We did it this > time."* — 2026-08-08 1818 The H2 dynamics land. Two things do not: > *"The GROUND and DARVO logic is far from self explanatory. That needs to > be improved."* — 2026-08-08 1818 > *"As the cards are now located differently on the table i cant tell which > is problem 1, which 2 and so on."* ## The numbering defect [CB-WP-0043] caused Every move label says **"Problem 7"**. The number was rendered on the card only as a **fallback for a missing title** — so it appeared exactly when it carried least information, and was absent whenever the card was identifiable enough to be worth pointing at. That was survivable while Problems sat in one ordered row: **position was the number**. [CB-WP-0043](CB-WP-0043-a-problem-sits-where-its-stress-lands.md) scattered them by scope, deleted the row, and took the implicit index with it — without anything going red, because no test named the number. **A rendering change removed a fact the page had been carrying positionally.** Not the ADR-0018 family (nothing computes the wrong subject); the nearer relative is CB-WP-0024 — a fact held by presentation alone does not survive the presentation changing. ## The legibility defect: vendored and never shown `DARVO.csv` carries `mandatory_effect` per stage. `Actions.csv` carries `rules_text` for the three GROUND modes. **Both were vendored, both were used only as tripwires, and neither ever reached the player.** The seat panel said `DARVO Reverse`; the move buttons offered `GR` / `OU` / `ND`. **F18's shape once more**: the edition's own words were present in the repo and could not fire. The player was asked to choose between three modes at the point where the action card has already left the screen. ## Task: put the number and the words on the table ```task id: CB-WP-0045-T01 status: done priority: high state_hub_task_id: "bba3d8cb-7aa2-4bee-b97f-6ff8681dbec2" ``` **Controls:** - **every Problem on the table shows its number** — asserted over `view.problems.keys()`, so a card that renders without one goes red whatever the fixture holds; - **the explanation is the edition's sentence, not our paraphrase** — the DARVO test re-reads `DARVO.csv` and asserts a prefix of `mandatory_effect` appears verbatim (ADR-0015); - **the GROUND modes explain themselves where they are chosen** — present when `ChooseGroundMode` is legal, and **absent when it is not**. An always-on wall of rules is how a player stops reading them, so the negative half is asserted too; - both explanations are `
`, so the account can be closed. **Done 2026-08-08.** 78 tests pass; `make all` green; verified against a live `make ground VARIANT=h2` page — badges `1 2 3 4 …` and the header reading `rules h2-scoped-problem-stress`. ## Not done here - **Nothing explains what a *scope does*.** H2 is the variation under study, the marker now says *whose* Problem it is and where it sits — and no text on the page says that a scoped Problem presses only the owner's bond network. The player can see the placement and still not know the rule it encodes. This is the largest remaining gap and it is a `ground-game` question first: the scope rule is ours (Variant), not the edition's, so there is no vendored sentence to render. - **The trial log header does not record the variant.** A note from an H2 session and a note from a baseline session are indistinguishable in the log, which is a real problem now that both are being played. - **The `
` are closed-by-default for DARVO, open for GROUND.** Chosen, not measured; whether a player opens the closed one is untested.