CB-WP-0037 T01: F18 gets a reproduction, and F24 falls out of it
Some checks failed
ci / check (push) Failing after 4s
Some checks failed
ci / check (push) Failing after 4s
F18 was the only open finding clay-borg owns, the only register row lacking a reproduction, and the only off-target metric. It is also understated: it reads as display data, but among the 14 unvendored files are DARVO.csv (mandatory_effect, advance), Relations.csv (formation, breaking) and Scenarios.csv — rules the engine already implements from a secondary source and has never checked against the primary one. The reproduction records column reads AT THE ACCESSOR rather than counting them from the source: a list beside the code would be a second copy of a fact the get calls already carry, and grepping would over-count because six column names are shared between vendored files. The first version was wrong in this repo's signature way — it watched Table::at only, so it called visibility, required_solution and point_value unread when the engine reads all three through problems_of's own index lookups. Correct about the accessor, wrong about the engine: the ADR-0018 family, committed inside the artifact built to measure it. Problems.csv went 7/13 to 10/13 once the manual reader was recorded too. F24 raised: solution_deck() is a Rust literal that never opens Solutions.csv. It agrees today, which is the point — the engine is right by maintenance coincidence rather than by reading. Role `default`, with a test that goes red the moment either side moves. open, lacking a reproduction: 1 -> 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
bd9e168af5
commit
e5b805c185
3 changed files with 328 additions and 2 deletions
|
|
@ -45,7 +45,8 @@ kinds, states and metrics: [`GameDesign.md`](GameDesign.md). Reported by
|
|||
| F15 | underdetermined | note | — | — | 2026-08-05 | clay-borg |
|
||||
| F16 | inconsistent | withdrawn | games/ground/examples/difficulty.rs | counterexample | 2026-08-05 | clay-borg |
|
||||
| F17 | degenerate | raised | games/ground/examples/attack-value.rs | counterexample | 2026-08-06 | ground-game |
|
||||
| F18 | inert | raised | — | — | 2026-08-06 | clay-borg |
|
||||
| F18 | inert | raised | `games/ground/src/edition.rs::card_text_tests::the_engine_reads_only_part_of_what_it_vendored` | counterexample | 2026-08-06 | clay-borg |
|
||||
| F24 | inert | raised | `games/ground/src/edition.rs::card_text_tests::the_hardcoded_deck_still_matches_the_edition` | default | 2026-08-07 | clay-borg |
|
||||
| F19 | degenerate | applied | crates/cb-render-html/src/lib.rs::overhead_table | counterexample | 2026-08-06 | clay-borg |
|
||||
| F20 | inert | applied | crates/cb-render-html/src/lib.rs::ending_page | counterexample | 2026-08-06 | clay-borg |
|
||||
| F21 | degenerate | note | — | — | 2026-08-06 | clay-borg |
|
||||
|
|
@ -201,6 +202,17 @@ kinds, states and metrics: [`GameDesign.md`](GameDesign.md). Reported by
|
|||
sees `Clarify` where the card reads *"Ask What Happened — Invite a
|
||||
concrete account before judging."* **`inert`**: the data exists and
|
||||
cannot fire, because nothing reads it. **Ours, and CB-WP-0028 fixes it.**
|
||||
- **F24 — the draw pile is a Rust literal.** `solution_deck()` builds six
|
||||
of each suit from an array and never opens `Solutions.csv`, whose `suit`
|
||||
and `quantity` columns say the same thing. **They agree today** — 24
|
||||
rows, six per suit — so nothing is wrong now, and that is the point:
|
||||
the engine is right by maintenance coincidence rather than by reading.
|
||||
**`inert`**: the data exists and cannot fire. Role `default`, not
|
||||
`counterexample` — the reproduction is green *because* the two agree,
|
||||
which is the state GameDesign §1.3 says to expect from a documented
|
||||
provisional choice, and it turns red the moment either side moves.
|
||||
**Ours.** CB-WP-0037 T02 deletes the literal.
|
||||
|
||||
- **F15 — the rules define one game, not a series.** `OutcomeView` gives
|
||||
`personal` (per seat), `group_success` (per table) and `winners`. Summing
|
||||
the first and counting the third answer different questions, and GROUND
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue