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:
2026-11-03 01:37:31 +01:00
parent 4d4524cda3
commit ae4c90f990
@@ -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