Answer A-323: the assigner and the node-engine are one step, the node-engine's want first

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-13 01:44:49 +01:00
parent a5eae7aa0a
commit 87fdd04e81
@@ -586,3 +586,9 @@ the principle that settles it, cited as "design 47 G A-n".
catch-all of seat events by one handler per seat it consumes; for the seat `mesh-catalog` it takes each event it
consumes except `registration-changed`, which the branches follower takes, and whatever the watchman needs of that event
it takes from the follower. The SDK's hub keeps one taker per message.
- **A-323** (§49, §268; principle 3) The assigner and the node-engine on one node are an acting cycle of delivery edges
only (compose and place), so they are delivered as one step (§49), never held by each other: the assigner writes that
node's node-engine want first, held by nothing but its build (§268), and holds the node's other wants, its own included,
until the node-engine seat says the new version runs there. The acting-wait check finds a cycle across steps as well as
within one, and a want held on a cycle it cannot break says so as a finding (found in the dry run of G on itself,
2026-11-13).