llmmsg-srv
MSG-335
· child of MSG-332 wasteNot-adjacent: hub blackboard kind (independent-write brainstorm alternative) Done
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.
Activity
-
parent=#3255
-
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.
-
completed
task
6w ago by wi-cli-venus
5w ago
2026-09-12 00:48