clay-borg/workplans
tegwick fe772eebc9
Some checks are pending
ci / check (push) Waiting to run
CB-WP-0027: the commentary track — declare and register
The maintainer's ask: game interface left, meta and commentary right, with
comments bound to game state so a test player's perception, confusion and
reasoning become reviewable signal.

Declared M (chaos d8=7, no override, declaration 10 of window 2). It
touches two canonical interfaces: ADR-0007 D5's input contract, which
currently admits only raw pointer facts, and the recorded-session format,
which is deny_unknown_fields -- CB-WP-0026 just proved that bites.

FRAMED AS GameDesign §5's TRIAL PROTOCOL MADE ERGONOMIC, because that is
what it is. The protocol already exists and nobody would use it as
written: it asks the player to reconstruct their reasoning afterwards,
from memory, in a sibling file. A comment typed while the position is on
screen is contemporaneous, bound to something replayable, and captures the
one class of signal no gate in this project can see -- confusion and
frustration.

The reason it is worth more than a comment box: GameDesign §3.1 makes a
note unreportable until it has a reproduction, and three findings are
stuck there now (F12, F14, F15). A comment bound to a recorded state, plus
the recording, is the cheapest reproduction a play-derived observation can
have. So the pass closes the register's input path for findings that come
from playing rather than from building.

The failure it must not reproduce is named up front: a pile of prose
nobody reads is this project's signature defect -- the four-day unread
message, the ten uncollected rulings. Storage is not the deliverable,
surfacing is, and T04 carries it.

T01 (ADR-0014) must decide where comments live, what the page may send
(D5's transport widens from two ids to arbitrary user text -- amended or
merely scoped?), what binds a comment to a position, and the retention
question this project has not faced: these are the maintainer's own words
about his own game, one will eventually be unflattering, and whether they
travel to ground-game needs deciding before any are written.

T03 notes that esc() is about to face its first hostile input -- until now
it has escaped suit names.

loop-lint: no findings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 10:18:35 +02:00
..
CB-WP-0001-inner-loop.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0002-cost-accounting.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0003-loop-hardening.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0004-mechanical-work.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0005-assertion-coverage.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0006-instrument-the-table.md CB-WP-0007 T01+T03: window the metric, budget it, cap meta at 25% 2026-08-01 14:12:07 +02:00
CB-WP-0007-session-shape.md CB-WP-0010-T01: close CB-WP-0007 2026-08-02 02:15:08 +02:00
CB-WP-0008-ship-stage-0.md CB-WP-0008-T04: CB-EV-0007 — stage 0 is shipped, and the spend curve is a V 2026-08-01 15:25:19 +02:00
CB-WP-0009-adaptive-gates.md CB-WP-0009-T04: CB-EV-0008 — the gate changes, measured 2026-08-01 15:45:08 +02:00
CB-WP-0010-consolidation.md CB-WP-0010-T03: record CommitWindow's second failed second-use 2026-08-02 02:19:23 +02:00
CB-WP-0011-inspectable-table.md CB-WP-0011-T03: evidence — the chaos roll fired, and it was right 2026-08-02 02:48:51 +02:00
CB-WP-0012-render-port.md Sync hub IDs and work-record index for CB-WP-0012 2026-08-02 04:30:45 +02:00
CB-WP-0013-instrument-corrections.md Sync hub IDs and work-record index for CB-WP-0013 2026-08-02 07:32:33 +02:00
CB-WP-0014-execute-the-javascript.md Sync hub IDs and work-record index for CB-WP-0014 2026-08-02 07:59:28 +02:00
CB-WP-0015-the-inert-clauses.md Sync hub IDs and work-record index for CB-WP-0015 2026-08-02 14:08:30 +02:00
CB-WP-0016-the-drop-target.md Sync hub IDs and work-record index for CB-WP-0016 2026-08-02 20:49:21 +02:00
CB-WP-0017-legible-interaction.md Sync hub IDs and work-record index for CB-WP-0017 2026-08-02 22:43:40 +02:00
CB-WP-0018-the-browser-is-a-client.md Sync hub IDs and work-record index for CB-WP-0018 2026-08-03 02:24:57 +02:00
CB-WP-0019-the-am4-family.md CB-WP-0019 T03/T04: the cost rule written down, and the lifecycle 2026-08-03 19:25:18 +02:00
CB-WP-0020-the-table-you-can-read.md Sync hub state for CB-WP-0020 2026-08-03 20:21:18 +02:00
CB-WP-0021-import-the-edition.md CB-WP-0021 T04: evidence -- the endings are tight, and the cost chain snapped 2026-08-05 15:56:31 +02:00
CB-WP-0022-the-design-instrument.md CB-WP-0022 T05/T06/T07: the register, and what its first run found 2026-08-05 15:22:33 +02:00
CB-WP-0023-solve-legality.md CB-EV-0020: a gate moved the rule, and the report was wrong 2026-08-04 00:21:21 +02:00
CB-WP-0024-the-table-you-can-watch.md CB-WP-0024: the table you can watch 2026-08-05 17:32:48 +02:00
CB-WP-0025-could-we-have-won.md CB-WP-0025 T06/T07: a difficulty baseline that reports its own confound 2026-08-05 19:24:49 +02:00
CB-WP-0026-collect-the-rulings.md Sync hub state for CB-WP-0026 2026-08-05 16:15:22 +02:00
CB-WP-0027-the-commentary-track.md CB-WP-0027: the commentary track — declare and register 2026-08-06 10:18:35 +02:00