clay-borg/tools
tegwick 7a78c58404 CB-WP-0018-T02: a game log the player can read
bot::Journal -- a shared list of Applied { actor, command, events } the
driver appends to via play_journaled; play delegates with None so
nothing existing changed. BotGame.events only appears after play
returns, which is no use to a page rendered mid-game.

Phrased with record::to_step, the recorder's vocabulary, so what the
player reads is what the scenario file will say, and all 29 GroundEvent
variants now render in words instead of Debug.

A command that produced no events says 'no effect'; the mutation
dropping that branch goes red. Honest limitation recorded: the reported
SOLVE case is resolved inside the system's resolve command, which does
produce events for other seats, so it shows as a selection with no claim
following rather than an explicit 'no effect'. Making it explicit would
mean the renderer deciding why a rule did nothing -- a second
implementation of the rules, which this task's control forbids.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 02:15:30 +02:00
..
cb-play CB-WP-0018-T02: a game log the player can read 2026-08-03 02:15:30 +02:00
cb-sim CB-WP-0015: the two inert clauses, AM-7 scaling and AM-8 N=10 2026-08-02 14:07:08 +02:00
cb-cost.py CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target 2026-08-02 07:30:14 +02:00
dep-weight.py CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target 2026-08-02 07:30:14 +02:00
facts.py CB-WP-0006 T07: implement K18, amend K14 2026-08-01 12:47:16 +02:00
gate-review.py CB-WP-0009-T02: gates.toml and make gate-review 2026-08-01 15:42:13 +02:00
loop-lint.py CB-WP-0009-T02: gates.toml and make gate-review 2026-08-01 15:42:13 +02:00
mutation-check.py CB-WP-0015: the two inert clauses, AM-7 scaling and AM-8 N=10 2026-08-02 14:07:08 +02:00
replay-test.py CB-WP-0006 T06: K10 replay bundles, --replay, and AM-7 re-earned 2026-08-01 11:05:37 +02:00
repo.py CB-WP-0004 T01: fix environment friction at the root 2026-07-31 10:13:52 +02:00
rule-coverage.py CB-WP-0006 T07: implement K18, amend K14 2026-08-01 12:47:16 +02:00
runtime-metrics.py Fix the AM-5 instrument to measure quietly; the breach was not real 2026-08-01 10:37:25 +02:00
size-metrics.py CB-WP-0006 T02: instrument AM-2; report AM-3 blocked, with the argument 2026-07-31 18:38:15 +02:00
status.py CB-WP-0014-T01/T02: execute the JavaScript — and find AM-4b blind 2026-08-02 07:56:02 +02:00
task-done.py chore: mark T01/T02 done (measured: $2.33 + $1.68, 46 responses, opus-5) 2026-07-31 10:18:34 +02:00