bus: decisions read follow-up tests, seen-then-resolve, list-before-503 and full rows (#1560)

Row 67 round 2 (rebase only), owner Filbert, candidate manifest 4387c8d5 on f38b7f46.
Approved by Dewey (27648) and Darkwing (27649); round 1 by Dewey (27452) and
Darkwing (27627). Sage's gate green 01:58-02:03Z.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-11 21:03:37 -05:00
co-authored by Claude Opus 5.5
parent d7922dfc96
commit 189410ed09
4 changed files with 91 additions and 15 deletions
+4 -1
View File
@@ -861,7 +861,10 @@ export class Broker {
return this.#trail(s, identifier(a.subject));
}
// Row 57 (#1546): the Inbox's "Routed to roles" and "Recent" lists, for human and
// reader sessions only. Each row is what trail gives the same session for that id.
// reader sessions only. Each row is inbox's view of the decision: the `decisions` row trail
// gives the same session for that id, with blocking as a boolean, plus `authorization` from
// the raise's `action.allowed` event, which trail also gives. A `recent` row adds `closed`,
// the decision's closing `decision_events` row, as trail gives it.
case 'decisions': {
if (!s.human && !s.reader) fail('human-required');
keys(a, ['list'], ['list']);