clay-borg/specs
tegwick d30938b259
Some checks failed
ci / check (push) Failing after 3s
CB-WP-0047: all four boards, and every mode named on the page
The modes were already implemented; nothing had ever COMPARED them. The
scenarios were not implemented at all: edition::deal has taken a
scenario_id since it was written and the only caller passed the literal
"SCN_01", so 15 of 20 Problem cards had never been dealt by anything.
The seam was the whole mechanism and it sat unused, with nothing red
because nothing asked.

Scenario is now state (serde default SCN_01, so all 26 recordings replay
unchanged), selected by preset `scn-03-4p` with `standard-Np` still
meaning SCN_01, and by --scenario/SCENARIO= accepting ids, numbers or
titles, validated against the edition rather than a pattern.

The threshold now comes off the Scenario card, closing F25's hardcoded
5/7/9. The first version of that control was worthless and mutation said
so: all four scenarios print 5/7/9, so reverting to the bands left it
green. Split threshold_from() so it can be handed a card that disagrees.

The header read `scoring CommonProblem` where the Mode card is titled
COMMON PROBLEM, PERSONAL EDGE -- the defect CB-WP-0034 deleted from the
move buttons, still standing on the line that says what winning means.
The coverage probe was matching that Debug output and went red when it
was fixed: third instance (CB-WP-0024, CB-WP-0034). Page now carries the
premise, the mode's rules text, and the tiebreak.

scenario-panel plays 4x3x3. Findings: SCN_01 and SCN_02 are the same
board (identical cells, pinned by a characterisation test); SCN_04 is
the hard board at 2p (52% vs 67/73%, the only deck needing two Repair);
and group success is EXACTLY equal across all three modes in all 36
cells, because greedy never reads state.mode -- filed F27, the two
competitive modes are scoring lenses over cooperative play.

F28: SHARED GROUND's mastery subtracts penalties from the claimed COUNT
where the mode card's shared score is claimed VALUE. Raised, not fixed;
scoring is ground-game's to rule on.

Also fixes design.py reporting a backticked path as no reproduction.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 20:51:46 +02:00
..
ArchitectureBlueprint.md specs/Ornamentation.md: what a game is besides its rules 2026-08-07 21:16:34 +02:00
ArchitectureRuntime.md T01: audit every InnerLoop rule, and make the checkable ones executable 2026-07-31 09:16:00 +02:00
ChaosRollHistory.md ADR-0021: the chaos roll is retired, and the condition that retired it was wrong 2026-08-08 15:51:52 +02:00
CostAccounting.md CB-WP-0004 T04: fact registry and make facts-check — DFD gets a gate 2026-07-31 10:24:39 +02:00
FindingRegister.md CB-WP-0047: all four boards, and every mode named on the page 2026-08-08 20:51:46 +02:00
GameDesign.md CB-WP-0030: a control for the wrong-subject family 2026-08-07 11:35:41 +02:00
GameKernel.md CB-WP-0019 T01/T02: AM-4b asks what a contributor acquires 2026-08-03 19:04:54 +02:00
GroundRules.md CB-WP-0026: collect the rulings -- ten answers that arrived and were never applied 2026-08-05 16:13:37 +02:00
InnerLoop.md ADR-0021: the chaos roll is retired, and the condition that retired it was wrong 2026-08-08 15:51:52 +02:00
InnerLoopReference.md ADR-0017: window 2's verdict — the mechanism worked, my account of it did 2026-08-07 10:55:54 +02:00
MetricsAndScenarios.md CB-WP-0023: SOLVE is legal only where it can do something 2026-08-04 00:18:40 +02:00
Ornamentation.md CB-WP-0037 done: T03 classification and T04 evidence 2026-08-08 00:33:24 +02:00
OrnamentRegister.md CB-WP-0037 done: T03 classification and T04 evidence 2026-08-08 00:33:24 +02:00
Positioning.md CB-RES-0009: extensive form is the lingua franca 2026-08-08 14:57:25 +02:00
RetrospectiveAnalysis.md CB-WP-0025 T05: the search works, and it falsified this pass's own 2026-08-05 19:10:25 +02:00
SessionShape.md CB-WP-0013-T01: SH-3 refuses a window that cannot carry a rate 2026-08-02 07:23:04 +02:00
Taxonomy.md CB-WP-0041 done: ADR-0020 refuses the port, and T02 is why 2026-08-08 15:35:03 +02:00