clay-borg/workplans/CB-WP-0045-the-table-names-what-it-shows.md
tegwick df65e2dee1 Sync hub state for CB-WP-0045
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 18:39:08 +02:00

104 lines
4.1 KiB
Markdown

---
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 `<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.