Answer A-317: the assigner's main process alone writes a proposal's candidates
mesh/delivery merged: source.main moved to novox/hq@1de7bc38c8d9
mesh/check checking 5c766b7c8ce2 on 1de7bc38c8d9

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 22:54:24 +01:00
parent 294a30b82b
commit 5c766b7c8c
@@ -543,3 +543,8 @@ the principle that settles it, cited as "design 47 G A-n".
defines the two properties itself and a fixture holds them to the want's), made by the same code that writes wants. The node-engine's shadow builds such a module from that
entry and its `added` parts; a module with artifacts the candidate gives no parts is held, saying so. Nothing reads
the builder's states or asks the registry for it.
- **A-317** (A-316; principles 1 and 7) A proposal's candidates have one writer, the assigner's main process (the
passer), which holds the heard builds and released versions: on hearing a proposal it writes each node's candidate
with `added` filled, as `layAgain` does. The verbs' tool process writes the proposal alone and no candidate, so no
node-engine sees a candidate before its parts. If a verb's answer needs the candidates, it waits on the passer's write
(an event or the state's watch), never a timer.