From 402ac3bfda9134ad3265a0bc1fa68f017b06d760 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 3 Nov 2026 01:44:38 +0100 Subject: [PATCH] Design 47: the assigner writes the bus module's want only to a node agent that keeps the server, and the test says so Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL --- .../01-to-be/47-delivery-from-commit-to-delivered.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md index 4effc640..8fe20575 100644 --- a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md +++ b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md @@ -850,12 +850,14 @@ backup holder backs up nothing, and the have says so. 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 + server holds, so the assigner and the node agent read one list; the assigner writes the bus module's want only to a + node agent whose have says it keeps the server (the version it reports), so the node agent's keeping of the server + 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. + by the rules, holds the server's replacement for a put, and writes none to a node agent whose have does not say it + keeps the server. - **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