diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index ad86fa8f..44d56edc 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -1766,3 +1766,20 @@ which stay with him. Each item names who decided it and what happened. never a file path or env name; the business is `--business`, else the live bus host's business; `rolesDir` is the checkout's `roles/`. +84. **A Console refusal forgets only what the refusing source owns + (2026-10-10, #1554).** Row 53's rule in + `packages/webui/src/public/bus.js` drops every kept read on any + refusal. That was right while every kept read came from the bus. + Row 54 adds Queue, Business and Settings reads that don't use the + bus, so on a Console with no bus each palette open (inbox and tasks + refused `not-configured`) drops the queue rows. Dewey found it in + row 54 round 2. + - Ruling: a bus refusal (403, `not-configured` or `no-bus-host` + from a bus read) forgets the bus reads and the Inbox count. A + `queue-refused` forgets the queue reads, and a business refusal + forgets the business read. The banner and the code in mono stay + as they are. + - Not a row 54 blocker: nothing the refused source owns stays on + screen, so fail-closed holds. It becomes a queue row after the Q14 + hold ends, with a test that a bus refusal keeps queue rows and a + queue refusal drops them.