Some checks failed
ci / check (push) Failing after 3s
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>
16 KiB
16 KiB
Work Records — clay-borg
Generated by
statehub fix-consistency(CUST-WP-0061-T04, work-record stage 3). Do not edit by hand — edit the source file/block listed for each record and re-run fix-consistency to refresh this index. Archived workplans are omitted; closed decisions/intakes/engagements stay listed so recently-resolved work is still visible. [auto]
| Kind | ID | Status | Lane | Source |
|---|---|---|---|---|
| workplan | CB-WP-0001 | done | — | workplans/CB-WP-0001-inner-loop.md |
| workplan | CB-WP-0002 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| workplan | CB-WP-0003 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| workplan | CB-WP-0004 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| workplan | CB-WP-0005 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| workplan | CB-WP-0006 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| workplan | CB-WP-0007 | done | — | workplans/CB-WP-0007-session-shape.md |
| workplan | CB-WP-0008 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
| workplan | CB-WP-0009 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
| workplan | CB-WP-0010 | done | — | workplans/CB-WP-0010-consolidation.md |
| workplan | CB-WP-0011 | done | — | workplans/CB-WP-0011-inspectable-table.md |
| workplan | CB-WP-0012 | done | — | workplans/CB-WP-0012-render-port.md |
| workplan | CB-WP-0013 | done | — | workplans/CB-WP-0013-instrument-corrections.md |
| workplan | CB-WP-0014 | done | — | workplans/CB-WP-0014-execute-the-javascript.md |
| workplan | CB-WP-0015 | done | — | workplans/CB-WP-0015-the-inert-clauses.md |
| workplan | CB-WP-0016 | done | — | workplans/CB-WP-0016-the-drop-target.md |
| workplan | CB-WP-0017 | done | — | workplans/CB-WP-0017-legible-interaction.md |
| workplan | CB-WP-0018 | done | — | workplans/CB-WP-0018-the-browser-is-a-client.md |
| workplan | CB-WP-0019 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| workplan | CB-WP-0020 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| workplan | CB-WP-0021 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| workplan | CB-WP-0022 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| workplan | CB-WP-0023 | done | — | workplans/CB-WP-0023-solve-legality.md |
| workplan | CB-WP-0024 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| workplan | CB-WP-0025 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| workplan | CB-WP-0026 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| workplan | CB-WP-0027 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| workplan | CB-WP-0028 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| workplan | CB-WP-0029 | done | — | workplans/CB-WP-0029-the-tokens-on-the-table.md |
| workplan | CB-WP-0030 | done | — | workplans/CB-WP-0030-a-number-that-does-not-move.md |
| workplan | CB-WP-0031 | done | — | workplans/CB-WP-0031-the-comment-box-outlives-the-game.md |
| workplan | CB-WP-0032 | done | — | workplans/CB-WP-0032-the-comments-in-the-account.md |
| task | CB-WP-0001-T01 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T02 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T03 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T04 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T05 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T06 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T07 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T08 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0001-T09 | done | — | workplans/CB-WP-0001-inner-loop.md |
| task | CB-WP-0002-T01 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T02 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T03 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T04 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T05 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T06 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0002-T07 | done | — | workplans/CB-WP-0002-cost-accounting.md |
| task | CB-WP-0003-T01 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T02 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T03 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T04 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T05 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T06 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T07 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T08 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T09 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T10 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0003-T11 | done | — | workplans/CB-WP-0003-loop-hardening.md |
| task | CB-WP-0004-T01 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0004-T02 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0004-T03 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0004-T04 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0004-T05 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0004-T06 | done | — | workplans/CB-WP-0004-mechanical-work.md |
| task | CB-WP-0005-T01 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T02 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T03 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T04 | cancel | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T05 | cancel | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T06 | cancel | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T07 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0005-T08 | done | — | workplans/CB-WP-0005-assertion-coverage.md |
| task | CB-WP-0006-T01 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T02 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T03 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T04 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T05 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T06 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T07 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T08 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0006-T09 | done | — | workplans/CB-WP-0006-instrument-the-table.md |
| task | CB-WP-0007-T01 | done | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0007-T02 | cancel | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0007-T03 | done | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0007-T04 | cancel | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0007-T05 | cancel | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0007-T06 | cancel | — | workplans/CB-WP-0007-session-shape.md |
| task | CB-WP-0008-T01 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
| task | CB-WP-0008-T02 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
| task | CB-WP-0008-T03 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
| task | CB-WP-0008-T04 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
| task | CB-WP-0009-T01 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
| task | CB-WP-0009-T02 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
| task | CB-WP-0009-T03 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
| task | CB-WP-0009-T04 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
| task | CB-WP-0010-T01 | done | — | workplans/CB-WP-0010-consolidation.md |
| task | CB-WP-0010-T02 | done | — | workplans/CB-WP-0010-consolidation.md |
| task | CB-WP-0010-T03 | done | — | workplans/CB-WP-0010-consolidation.md |
| task | CB-WP-0011-T01 | done | — | workplans/CB-WP-0011-inspectable-table.md |
| task | CB-WP-0011-T02 | done | — | workplans/CB-WP-0011-inspectable-table.md |
| task | CB-WP-0011-T03 | done | — | workplans/CB-WP-0011-inspectable-table.md |
| task | CB-WP-0012-T01 | done | — | workplans/CB-WP-0012-render-port.md |
| task | CB-WP-0012-T02 | done | — | workplans/CB-WP-0012-render-port.md |
| task | CB-WP-0012-T03 | done | — | workplans/CB-WP-0012-render-port.md |
| task | CB-WP-0012-T04 | done | — | workplans/CB-WP-0012-render-port.md |
| task | CB-WP-0012-T05 | done | — | workplans/CB-WP-0012-render-port.md |
| task | CB-WP-0013-T01 | done | — | workplans/CB-WP-0013-instrument-corrections.md |
| task | CB-WP-0013-T02 | done | — | workplans/CB-WP-0013-instrument-corrections.md |
| task | CB-WP-0013-T03 | done | — | workplans/CB-WP-0013-instrument-corrections.md |
| task | CB-WP-0013-T04 | done | — | workplans/CB-WP-0013-instrument-corrections.md |
| task | CB-WP-0014-T01 | done | — | workplans/CB-WP-0014-execute-the-javascript.md |
| task | CB-WP-0014-T02 | done | — | workplans/CB-WP-0014-execute-the-javascript.md |
| task | CB-WP-0014-T03 | done | — | workplans/CB-WP-0014-execute-the-javascript.md |
| task | CB-WP-0015-T01 | done | — | workplans/CB-WP-0015-the-inert-clauses.md |
| task | CB-WP-0015-T02 | done | — | workplans/CB-WP-0015-the-inert-clauses.md |
| task | CB-WP-0015-T03 | done | — | workplans/CB-WP-0015-the-inert-clauses.md |
| task | CB-WP-0016-T01 | done | — | workplans/CB-WP-0016-the-drop-target.md |
| task | CB-WP-0016-T02 | done | — | workplans/CB-WP-0016-the-drop-target.md |
| task | CB-WP-0016-T03 | done | — | workplans/CB-WP-0016-the-drop-target.md |
| task | CB-WP-0017-T01 | done | — | workplans/CB-WP-0017-legible-interaction.md |
| task | CB-WP-0017-T02 | done | — | workplans/CB-WP-0017-legible-interaction.md |
| task | CB-WP-0017-T03 | done | — | workplans/CB-WP-0017-legible-interaction.md |
| task | CB-WP-0017-T04 | done | — | workplans/CB-WP-0017-legible-interaction.md |
| task | CB-WP-0018-T01 | done | — | workplans/CB-WP-0018-the-browser-is-a-client.md |
| task | CB-WP-0018-T02 | done | — | workplans/CB-WP-0018-the-browser-is-a-client.md |
| task | CB-WP-0018-T03 | done | — | workplans/CB-WP-0018-the-browser-is-a-client.md |
| task | CB-WP-0018-T04 | done | — | workplans/CB-WP-0018-the-browser-is-a-client.md |
| task | CB-WP-0019-T01 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| task | CB-WP-0019-T02 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| task | CB-WP-0019-T03 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| task | CB-WP-0019-T04 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| task | CB-WP-0019-T05 | done | — | workplans/CB-WP-0019-the-am4-family.md |
| task | CB-WP-0020-T01 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0020-T02 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0020-T03 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0020-T04 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0020-T05 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0020-T06 | done | — | workplans/CB-WP-0020-the-table-you-can-read.md |
| task | CB-WP-0021-T01 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0021-T02 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0021-T03 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0021-T04 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0021-T05 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0021-T06 | done | — | workplans/CB-WP-0021-import-the-edition.md |
| task | CB-WP-0022-T01 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T02 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T03 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T04 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T05 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T06 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0022-T07 | done | — | workplans/CB-WP-0022-the-design-instrument.md |
| task | CB-WP-0023-T01 | done | — | workplans/CB-WP-0023-solve-legality.md |
| task | CB-WP-0023-T02 | done | — | workplans/CB-WP-0023-solve-legality.md |
| task | CB-WP-0023-T03 | done | — | workplans/CB-WP-0023-solve-legality.md |
| task | CB-WP-0024-T01 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| task | CB-WP-0024-T02 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| task | CB-WP-0024-T03 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| task | CB-WP-0024-T04 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| task | CB-WP-0024-T05 | done | — | workplans/CB-WP-0024-the-table-you-can-watch.md |
| task | CB-WP-0025-T01 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T02 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T03 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T04 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T05 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T06 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0025-T07 | done | — | workplans/CB-WP-0025-could-we-have-won.md |
| task | CB-WP-0026-T01 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| task | CB-WP-0026-T02 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| task | CB-WP-0026-T03 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| task | CB-WP-0026-T04 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| task | CB-WP-0026-T05 | done | — | workplans/CB-WP-0026-collect-the-rulings.md |
| task | CB-WP-0027-T01 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| task | CB-WP-0027-T02 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| task | CB-WP-0027-T03 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| task | CB-WP-0027-T04 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| task | CB-WP-0027-T05 | done | — | workplans/CB-WP-0027-the-commentary-track.md |
| task | CB-WP-0028-T01 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T02 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T03 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T04 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T05 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T06 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T07 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0028-T08 | done | — | workplans/CB-WP-0028-the-table-you-sit-at.md |
| task | CB-WP-0029-T01 | done | — | workplans/CB-WP-0029-the-tokens-on-the-table.md |
| task | CB-WP-0029-T02 | done | — | workplans/CB-WP-0029-the-tokens-on-the-table.md |
| task | CB-WP-0029-T03 | done | — | workplans/CB-WP-0029-the-tokens-on-the-table.md |
| task | CB-WP-0029-T04 | done | — | workplans/CB-WP-0029-the-tokens-on-the-table.md |
| task | CB-WP-0030-T01 | done | — | workplans/CB-WP-0030-a-number-that-does-not-move.md |
| task | CB-WP-0030-T02 | done | — | workplans/CB-WP-0030-a-number-that-does-not-move.md |
| task | CB-WP-0030-T03 | done | — | workplans/CB-WP-0030-a-number-that-does-not-move.md |
| task | CB-WP-0030-T04 | done | — | workplans/CB-WP-0030-a-number-that-does-not-move.md |
| task | CB-WP-0031-T01 | done | — | workplans/CB-WP-0031-the-comment-box-outlives-the-game.md |
| task | CB-WP-0032-T01 | done | — | workplans/CB-WP-0032-the-comments-in-the-account.md |