|
Some checks failed
ci / check (push) Failing after 4s
Reported three times across three sessions, two days apart, and it
survived a whole UI rebuild: "i cant see whos support i accept".
It was not styling. The move button's label was format!("{c:?}"), so the
player read `RespondToSupport { response: AcceptBond }` — Rust struct
syntax with no name in it. And the command does not carry the
counterparty, so nothing rendering it alone could have said who; it comes
off the view, as whoever played Support at this seat.
Four more seat-panel fields had the same defect, including `support
AcceptBond` — the one the report names. CB-WP-0020 fixed exactly this for
selections and left its four neighbours as they were.
command_label has no catch-all arm, and that earned its keep before any
test ran: GroundChoice::RejectReverse and SupportResponse::BreakRivalry
both failed to compile — two moves that would have shipped as struct
dumps. An offer the view cannot see is said to be unseen rather than given
an invented name.
The finding underneath: the coverage probe that exists to prove every view
field reaches the PLAYER was matching "player: Some(PlayerId(1))" and
"members: [PlayerId(1)". It was certifying the defect as coverage and
would have gone red had anyone fixed it. Second confirmation of
CB-WP-0024's finding, from the sharper side: a probe naming Debug output
does not merely fail to protect, it pins the defect in place.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| CB-WP-0001-inner-loop.md | ||
| CB-WP-0002-cost-accounting.md | ||
| CB-WP-0003-loop-hardening.md | ||
| CB-WP-0004-mechanical-work.md | ||
| CB-WP-0005-assertion-coverage.md | ||
| CB-WP-0006-instrument-the-table.md | ||
| CB-WP-0007-session-shape.md | ||
| CB-WP-0008-ship-stage-0.md | ||
| CB-WP-0009-adaptive-gates.md | ||
| CB-WP-0010-consolidation.md | ||
| CB-WP-0011-inspectable-table.md | ||
| CB-WP-0012-render-port.md | ||
| CB-WP-0013-instrument-corrections.md | ||
| CB-WP-0014-execute-the-javascript.md | ||
| CB-WP-0015-the-inert-clauses.md | ||
| CB-WP-0016-the-drop-target.md | ||
| CB-WP-0017-legible-interaction.md | ||
| CB-WP-0018-the-browser-is-a-client.md | ||
| CB-WP-0019-the-am4-family.md | ||
| CB-WP-0020-the-table-you-can-read.md | ||
| CB-WP-0021-import-the-edition.md | ||
| CB-WP-0022-the-design-instrument.md | ||
| CB-WP-0023-solve-legality.md | ||
| CB-WP-0024-the-table-you-can-watch.md | ||
| CB-WP-0025-could-we-have-won.md | ||
| CB-WP-0026-collect-the-rulings.md | ||
| CB-WP-0027-the-commentary-track.md | ||
| CB-WP-0028-the-table-you-sit-at.md | ||
| CB-WP-0029-the-tokens-on-the-table.md | ||
| CB-WP-0030-a-number-that-does-not-move.md | ||
| CB-WP-0031-the-comment-box-outlives-the-game.md | ||
| CB-WP-0032-the-comments-in-the-account.md | ||
| CB-WP-0033-a-game-is-the-unit.md | ||
| CB-WP-0034-who-you-are-bonding-with.md | ||