diff --git a/docs/plans/2026-10-20_case2-rows.md b/docs/plans/2026-10-20_case2-rows.md index 5e8a720bc..85e6fe2ec 100644 --- a/docs/plans/2026-10-20_case2-rows.md +++ b/docs/plans/2026-10-20_case2-rows.md @@ -1519,9 +1519,26 @@ completion against members, and each refusal's fixed line. A parity test runs C2 case table through the browser's tag reader and asserts the same addressees for every case. The plugin test asserts the webui channel allows the three room verbs and still refuses others. +Amendment 1 (Sage sage-4156, 2026-10-24, from Fethry's fethry-0027 seam check). `room.read` +(`broker.mjs`, the `room.read` case) returns each message row with `ids` and `to`. It does not return the +stored citation-guard result that `thread.messages` adds, the `check` read from the message's +`action.allowed` event. It also skips `#withLast`, which adds `last` to each path cite. C2-10b's renderer +needs `check` for its scope badges and its forged-notice safety. Without it, an agent reply in the room +would not render the way it does in the thread. So: +- `packages/bus/src/broker.mjs` joins the files owned, for this change only. `room.read` attaches `check` + to each entry by the same event lookup `thread.messages` uses, and dispatches through `#withLast` on the + same condition (a library project with `last` configured). Move the lookup into one helper that both verbs + call, so the two can't drift. No other verb, field or refusal changes, and `room.open` and `room.send` + stay as they are. +- New bus tests: a guard-checked agent reply read through `room.read` carries the same `check`, and the + same `last` on its path cites, as the same message read through `thread.messages`. An unchecked row + carries no `check`. A human row merged across two threads still shows once with both addressees. +- The seam keeps exactly the three room calls. It makes no extra `thread.messages` calls. +- The bus suite joins the gate. No old test changes for this amendment. + ### Out of scope -The broker verbs (C2-09b). Agents seeing each other's replies (C2-16). Library pages (C2-11b). Her sign-in +The broker verbs (C2-09b), apart from amendment 1's `room.read` fields. Agents seeing each other's replies (C2-16). Library pages (C2-11b). Her sign-in from her machine waits on SSO (#412) or Jason's interim ruling (design 10 step 5). ### Gate