The runtime serves a bundle its module's state (hq ADR 0201) #48

Merged
mesh-admin merged 4 commits from feat/module-state-on-the-bus into main 2026-10-04 01:43:38 +00:00
Contributor

novox/hq ADR 0201.

  • mesh/state.get|put|delete|keys|watch on the stdio channel, from the buckets the membership issues by the module's own names.
  • A watch hands the current values (none that is deleted — the server sends delete markers among them, measured) then every change, each as a mesh/state request naming the watch by its request id; the watch is answered once the current values are delivered; it stops when the child exits.
  • Refused with the reason, before anything is sent: a state not issued, a reader's write, a key the bus cannot hold, a value with a credential-named field. (The bus alone answers a refused write with a timeout.)

Tests over a real bus: a raw-protocol bundle as owner and reader; the TypeScript SDK through the runtime with two watches, one narrowed. Full suite green (-p 1).

Note: running the suite needs @novox/mesh-sdk installed in node-tools; the fixtures here used the 0.1.7 tarball from the mesh-sdk PR.

novox/hq ADR 0201. - `mesh/state.get|put|delete|keys|watch` on the stdio channel, from the buckets the membership issues by the module's own names. - A watch hands the current values (none that is deleted — the server sends delete markers among them, measured) then every change, each as a `mesh/state` request naming the watch by its request id; the watch is answered once the current values are delivered; it stops when the child exits. - Refused with the reason, before anything is sent: a state not issued, a reader's write, a key the bus cannot hold, a value with a credential-named field. (The bus alone answers a refused write with a timeout.) Tests over a real bus: a raw-protocol bundle as owner and reader; the TypeScript SDK through the runtime with two watches, one narrowed. Full suite green (`-p 1`). Note: running the suite needs `@novox/mesh-sdk` installed in node-tools; the fixtures here used the 0.1.7 tarball from the mesh-sdk PR.
mesh-admin added 4 commits 2026-10-04 00:51:03 +00:00
mesh/state.get, put, delete, keys and watch on the stdio channel, from the
buckets the membership issues. A watch hands the current values without
deletions, then every change, and is answered once the current values are
delivered. Refused with the reason: state not issued, a reader's write, a
value with a credential-named field — the bus alone would answer a refused
write with a timeout.
mesh-admin merged commit 328550f920 into main 2026-10-04 01:43:38 +00:00
mesh-admin deleted branch feat/module-state-on-the-bus 2026-10-04 01:43:38 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-tools#48