R-293: a desk playtest is a record, not a scenario with rolls in it
Counting the readers that had broken on their own format turned up one nothing had caught. docs/scenarios holds scenarios, eight playtest records and two art prompt sheets, and every guard treated all three as scenarios -- harmless for citations and skill spellings, false for reachability. Six quotations across passes 4, 6 and 7 were checked as live rolls, so a record of a session already played could fail the build over a skill nobody can reach. Planting Science (Physics) in pass 4 fails before the split and passes after; the same skill in CLEAN_GROUND still fails. Classified by the document's own H1, not its filename, because tools/scenario-* naming is what swept a tools file into this corpus in R-268. An unclassified document is fatal: an allowlist that silently drops what it does not recognise would take a new scenario out of reachability checking on the day it was written. 89 rolls across 18 files becomes 83 across 8. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6171d1e9b9
commit
daf77f4aac
@@ -6894,3 +6894,39 @@ refused, 19 guards green.
|
||||
Wrong. `beatsIn` returns every marker and `measure()` filters the quoted one — Anomaly Lore at
|
||||
line 758, Act Three's quotation of the format. 22 markers, 21 real beats. Both figures were
|
||||
right and the disagreement was mine.
|
||||
|
||||
## R-293 — a record of a session is not a scenario
|
||||
|
||||
The fifth self-reference case, and the only live one: counting the readers that had broken on
|
||||
their own format turned up a sixth that nothing had ever caught. `docs/scenarios/` holds three
|
||||
kinds of document — the scenarios, eight desk playtest records, and two art prompt sheets —
|
||||
and every guard reading the corpus treated all three as scenarios. Harmless for citations and
|
||||
skill spellings. False for reachability.
|
||||
|
||||
check-rollable's claim is that **every clue a GM can put behind a roll is reachable by somebody
|
||||
at the table.** A playtest report quoting `` `[CUS: Anomaly Lore — what a peg is]` `` to say
|
||||
which beat a roll hung off had that quotation held to the claim. Six such quotations across
|
||||
passes 4, 6 and 7 were being checked as live rolls, and a record of a session already played
|
||||
could fail the build over a skill nobody can reach. Measured: planting `Science (Physics)` in
|
||||
pass 4 gives *"a clue is behind a roll nobody present can make"* before the split and passes
|
||||
after it, while the same skill in CLEAN_GROUND still fails. 89 rolls across 18 files becomes
|
||||
83 across 8.
|
||||
|
||||
**Classified by the document's own H1, not its filename**, because `tools/scenario-*` naming is
|
||||
what swept a tools file into this corpus in R-268. A generator has no H1 and is a scenario by
|
||||
construction.
|
||||
|
||||
**An unclassified document is fatal.** An allowlist that silently drops what it does not
|
||||
recognise would take a new scenario out of reachability checking on the day it was written —
|
||||
the fail-open this session has spent its whole length removing. `classifiedFiles()` is called
|
||||
by check-scenarios, the first guard over the corpus, so the message arrives at the right guard,
|
||||
and it names the corpus rather than a guard because it runs inside whichever one asked first.
|
||||
|
||||
**Two things I had wrong on the way**, both caught by insisting on a measurement. The first
|
||||
probe used `Demolition` and passed everywhere, which looked like the guard being blind; it is
|
||||
reachable, and the playtest files have no cast marker so they were being checked against the
|
||||
whole duty roster rather than the declared six. The claim "would have failed the build" was
|
||||
hypothetical until a skill nobody on the roster reaches proved it. And the first version of the
|
||||
new test ended in `assert.ok(… || true)` — a tautology that passes on anything, which is the
|
||||
decoration this suite exists to refuse. Mutation-checked after removing it: making
|
||||
`playableFiles` stop excluding records turns it red.
|
||||
|
||||
Reference in New Issue
Block a user