clay-borg/trials
tegwick edab11c0e4
Some checks failed
ci / check (push) Failing after 3s
CB-WP-0033: a game is the unit
make trials reported "positions unreachable: 4, target 0 — the recording
exists but the position moved". All four were false. A recording holds one
hash, the final state, and reachability asked whether the note's hash was
in that file — so a mid-game note could never match, and a post-game note
from any but the last game could not either. Instance 8 of the ADR-0018
family: vary only WHEN a note was written and the answer flips, with
nothing having moved.

The root cause was not the metric. play again reused state belonging to a
game: it overwrote the previous game's recording (data loss), never
cleared the journal (game 2's log opened with game 1's commands), and so a
note's command index pointed into a recording without those commands.
Fixing reachability alone would have gone green while a session still
destroyed its own evidence.

A note now binds by (game, after) — an index into the recording's own
commands list, which a reader can replay to. The hash keeps a job as the
integrity check at the end of a game, where it can actually fail. Game 1
keeps the path it was given, so GameDesign §5's documented invocation is
unchanged; later games get -2, -3 and nothing is overwritten. Legacy
5-column logs stay readable and are reported as legacy, never as orphans —
an unsubstantiated orphan claim is the defect being fixed.

All three fixes mutation-proven, including at the call site via a real
two-game session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 17:41:11 +02:00
..
2026-08-06-2213.md fix: a click target wearing a drag affordance made the controls look dead 2026-08-06 22:25:06 +02:00
2026-08-06-2213.yaml fix: a click target wearing a drag affordance made the controls look dead 2026-08-06 22:25:06 +02:00
2026-08-06-2230.md fix: the controls sit below the log, and ending a session greys the page 2026-08-06 22:38:32 +02:00
2026-08-06-2230.yaml CB-WP-0029: the tokens on the table — declare and register 2026-08-07 09:45:41 +02:00
2026-08-06-2252.yaml CB-WP-0029 T01-T03: components you can count, and a supply that does not bind 2026-08-07 09:54:20 +02:00
2026-08-07-1252.yaml CB-WP-0031: the comment box outlives the game 2026-08-07 13:08:56 +02:00
2026-08-07-1558.md CB-WP-0032: the comments in the account 2026-08-07 16:09:36 +02:00
2026-08-07-1558.yaml CB-WP-0033: a game is the unit 2026-08-07 17:41:11 +02:00
2026-08-07-1612.md CB-WP-0033: a game is the unit 2026-08-07 17:41:11 +02:00
2026-08-07-1612.yaml CB-WP-0033: a game is the unit 2026-08-07 17:41:11 +02:00