Design 47: the bus module is wanted like any module, and only a put replaces its server (issue 774, the operator 2026-11-03)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
@@ -845,6 +845,17 @@ backup holder backs up nothing, and the have says so.
|
||||
fingerprint, the digest, the phase and the health after the module's start window. A failed apply is loud,
|
||||
retried by the next change of the want or the composition, never by a clock, and fixed forward (ADR 0360 §8,
|
||||
ADR 0539 §9).
|
||||
- **The bus module is wanted like any module; its server moves only by a put.** "The bus moves" (ADR 0539 §15,
|
||||
ADR 0546 §8) means its server is replaced. So the assigner writes the bus module's want by the same rules as
|
||||
every module's, and the node agent applies what that want brings (its files, its processes' bus accounts and
|
||||
secrets, its tools) while it keeps the server's container as it runs. Only a want written by a put, on the
|
||||
operator's warrant after the streams' snapshot, replaces the server. mesh-sdk names the resources the bus's
|
||||
server holds, so the assigner and the node agent read one list; a node agent that does not know the list yet is
|
||||
never sent a want for the bus module, so the node agent's hold is delivered before the assigner's change. Until
|
||||
then nothing writes the bus module's process accounts, and its tools that write to the bus fail (issue 774, the
|
||||
operator, 2026-11-03). How it is checked: a node agent unit test applies a bus module's new want and shows the
|
||||
server's container untouched and the tools' account written; an assigner unit test writes the bus module's want
|
||||
by the rules and holds the server's replacement for a put.
|
||||
- **Every want is owed.** The watchman mirrors every want as a pulse owed by that node's agent until its have
|
||||
names the want's fingerprint, so a node that does not move is a stall (ADR 0539 §19).
|
||||
- **A move a person must allow is judged by the node and asked by the assigner.** The node agent applies ADR 0377
|
||||
|
||||
Reference in New Issue
Block a user