CB-WP-0046: the rule the placement encodes, and a log that names its rules
Some checks failed
ci / check (push) Failing after 4s
Some checks failed
ci / check (push) Failing after 4s
CB-WP-0045 left "nothing explains what a scope does" open and gave a FALSE reason: that scoping is our Variant so no printed sentence exists. The H2 package ships Rules_Text.csv -- twenty-two passages of player-facing rules -- and nothing in clay-borg had ever read the file. A wrong reason for an open item is worse than an open item; it retires the question. Filed as F26 against ground-game: a package that adds a FILE is invisible where one that adds a column is not. The scope rule now renders under the table in the edition's own words, only when a non-global scope is in play, matched by heading rather than row number, and absent (never paraphrased) if the edition drops it. The trial log stamps its variant on the begin marker -- a session property, not an eighth column -- read off state.variant rather than the --variant flag, because a bare `state.variant = v` leaves H2 inert and a flag-stamped log would put false provenance on real player words. An unstamped log reports `unrecorded`, never `ground-darvo-r0`. Six mutations, six red. The sixth is the finding: every trials.py fixture built its marker out of BEGIN, so nine checks followed BEGIN away from what hotseat.rs writes and stayed green while real logs broke. A fixture built from the constant under test cannot test the constant -- the control is now a literal, asserted from both sides. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
df65e2dee1
commit
de25c4cae0
10 changed files with 986 additions and 12 deletions
|
|
@ -53,9 +53,30 @@ kinds, states and metrics: [`GameDesign.md`](GameDesign.md). Reported by
|
|||
| F21 | degenerate | note | — | — | 2026-08-06 | clay-borg |
|
||||
| F23 | inconsistent | applied | decisions/ADR-0017-chaos-window-2-verdict.md | counterexample | 2026-08-07 | clay-borg |
|
||||
| F22 | underdetermined | withdrawn | games_ground::edition::supply_tests::play_never_exceeds_the_components_the_box_holds | counterexample | 2026-08-07 | clay-borg |
|
||||
| F26 | inert | raised | `crates/cb-render-html/src/lib.rs::a_scoped_table_says_what_a_scope_does` | counterexample | 2026-08-08 | ground-game |
|
||||
|
||||
<!-- design-register:end -->
|
||||
|
||||
- **F26 — a package that adds a FILE is invisible, where a package that
|
||||
adds a column is not.** `h2-scoped-problem-stress` ships
|
||||
`Rules_Text.csv` — twenty-two passages of player-facing rules, including
|
||||
the one passage that says what a `stress_scope` does. No reader in
|
||||
clay-borg mentioned the file, so `edition-check` could not call it stale
|
||||
(a file nothing reads is not out of date, it is unseen) and no gate
|
||||
could call it unread. The rule the table's whole layout encodes sat in
|
||||
the repo, reachable by no player, for the entire measured life of H2.
|
||||
|
||||
**Inert rather than underdetermined**: nothing is ambiguous about the
|
||||
rule and the engine implements it correctly — the text simply could not
|
||||
fire. Third instance of F18's shape and the first where the unit is a
|
||||
file, which is why it is filed separately instead of folded in.
|
||||
|
||||
Raised against `ground-game` because the actionable half is theirs: a
|
||||
package's manifest should name its own files, so that a consumer reading
|
||||
none of them is a detectable state. clay-borg now reads the one passage
|
||||
it needed (CB-WP-0046); the other twenty-one remain unread and that is
|
||||
the standing evidence.
|
||||
|
||||
- **F11 — SOLVE offered where it cannot act.** Offered on a face-down
|
||||
Problem, or with no matching suit in hand; inert every time. Ruled
|
||||
GROUND-WP-0002 T02, implemented CB-WP-0023 as GR-P05. `applied` — the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue