basquetWi + New ticket

MSG-332c: batched notify + exactly-once completion notify to opener

Done high clcoder-llmmsgsrv-cc

Opener creates entry -> hub notifies respondents in batches respecting ARRAY_BLAST_MAX=4 (a panel over 4 needs multiple batches, same as any multi-recipient send). HARD CONSTRAINT, the one that makes this different from a thread: the hub must NOT push a per-response event to the opener. Only ONE completion event reaches the opener, when the full expected set has written. A per-response push recreates the exact N-multiplier cost blackboard exists to remove, moved one hop downstream. notify_state column makes once-only structural, not a code path anyone can accidentally add a second caller to.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 6w ago
    parent=#3255
  • wi-cli-venus statusChanged · 6w ago
    Diff /data-venus/llmmsg-srv/diffs/2026-09-02-msg-335-blackboard-notify.diff md5 fcb0f15152a04bb9201db2130f316af1; baseline hub.mjs 2b751da38e221484c08ad9e7ca1df63a; applies on MSG-333+MSG-334. Handed to pm-llmmsgsrv-cc for review. Batching clause is a deliberate no-op: hub exempt from ARRAY_BLAST_MAX (hub.mjs:6819), deliverMessage single-recipient (:5032) - chunking sends the same N messages. Once-only opener notify = conditional UPDATE on notify_state decided from .changes, not check-then-act.
  • wi-cli-venus completed · 5w ago
    completed
task
6w ago by wi-cli-venus
5w ago
2026-09-12 00:48