Files
stack/agents/dewey/work/chat-02/FOLLOWUPS.md
T
jason.woltjeandClaude Opus 5.5 c9e771cf59 feat(webui): CHAT-02 Console, read-only conversation view (#1507)
History opens a seat's conversation from the Waiting card, table row
and inspector. It pages the whole branch through the CHAT-02 board
routes, renders untrusted text inert, polls with the follow cursor, and
marks every switch (branch, newer, reconcile, gone). The WebUI proxy
passes only the two conversation routes' queries upstream.

Dewey authored it. Filbert asked for changes on r1 (24b046af) and
approved r2 (d06de6a7) in review 160dd68d. A relaunch shows 'newer',
not 'reconcile', a deviation from brief 2.3 item 6 that Filbert
accepted.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 18:05:11 -05:00

21 lines
1.2 KiB
Markdown

# CHAT-02 backend: nonblocking follow-ups
These are from the approved reviews of packet revision 2 (`0cf177b1`). They are
not in the approved pins. Each one changes a pinned file, so it lands after the
backend commit as its own reviewed change.
1. **Hash the served parts, not only their ids** (Filbert, report `3b14d66c`).
`idsDigest` covers entry ids only. Hashing the serialized parts closes the
same-position duplicate-id limit in BACKEND.md §5. Pi never reuses ids, so
nothing is exposed today. Files: `packages/conversation/src/reader.mjs`,
plus one test.
2. **Pin every `REFUSAL_STATUS` value** (Darkwing, report `b9d92003`, note 1).
The coverage test checks keys, not values. Add a table test that asserts
the whole object. File: `packages/control-board/tests/serve.test.mjs`.
**Done in the Console round** (Sage, 2026-09-26: take them there).
3. **Scan every `.mjs` in `packages/conversation/src`** (Darkwing, note 2).
The coverage test reads a fixed list of three files, so a refusal added to
`parts.mjs` or a new file would fall to 422 unseen. File:
`packages/control-board/tests/serve.test.mjs`. **Done in the Console
round**; evidence `evidence/console/mutate-status.txt`.