CB-WP-0045: the table names what it shows
Some checks failed
ci / check (push) Failing after 4s

Three reports from the 2026-08-08 sessions. H2 lands ("that seemed more
interesting"), two legibility gaps do not.

The number was only a FALLBACK for a missing title, so it showed exactly
when it was least useful. That was survivable while Problems sat in one
ordered row -- position WAS the number. CB-WP-0043 scattered them by
scope and took the implicit index with it, with nothing going red because
no test named the number.

DARVO.csv's mandatory_effect and Actions.csv's GROUND rules_text were
both vendored, both used only as tripwires, and neither ever reached the
player -- F18's shape again. The modes now explain themselves at the
point of choice, and NOT when no mode is on offer.

Tests assert the edition's own words verbatim (ADR-0015), the number over
every key in view.problems, and both halves of the mode explanation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-08 18:38:09 +02:00
parent d9b88d3140
commit fd76db4f71
7 changed files with 809 additions and 0 deletions

View file

@ -0,0 +1,102 @@
---
id: CB-WP-0045
kind: product
title: "The table names what it shows"
status: done
---
# 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
```
**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 `<details>`, 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 `<details>` are closed-by-default for DARVO, open for GROUND.**
Chosen, not measured; whether a player opens the closed one is untested.