From f6cb279eeaec21e0f3bb734cf93a07ea2c47d051 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 22:45:27 +0100 Subject: [PATCH 1/3] Answer A-316: a candidate carries the parts of the modules it adds Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 4d4b555d..6a2e9bcf 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -536,3 +536,9 @@ the principle that settles it, cited as "design 47 G A-n". check gives the test. Each fetched build is started the way every module is, by the node-engine's own apply of a want on the test's bus, under the module's own account; the test starts no bare process. Where the seat does not answer, the test fails, saying which build it could not fetch and why; it never skips. +- **A-316** (§379, §421, §628, A-312; principles 2 and 7) A node-engine composes a candidate only from what its asker + gives it, as it composes a want. The assigner's candidate `.` gains `added`: by module, for each + module the candidate adds to that node without a want there, the `version` and `parts` the want it would write + carries, in the want's own forms and made by the same code. 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. -- 2.54.0 From 294a30b82b7a066aae35775d270684de1568bccd Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 22:46:38 +0100 Subject: [PATCH 2/3] A-316: the assigner's seat defines the two properties itself, held to the want's by a fixture Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 6a2e9bcf..d2e448a4 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -539,6 +539,7 @@ the principle that settles it, cited as "design 47 G A-n". - **A-316** (§379, §421, §628, A-312; principles 2 and 7) A node-engine composes a candidate only from what its asker gives it, as it composes a want. The assigner's candidate `.` gains `added`: by module, for each module the candidate adds to that node without a want there, the `version` and `parts` the want it would write - carries, in the want's own forms and made by the same code. The node-engine's shadow builds such a module from that + carries, in the same wire forms (the seat format reuses nothing across repositories, so the assigner's seat + 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. -- 2.54.0 From 5c766b7c8ce2dde4d895be3595488f3eb31c7596 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 22:54:24 +0100 Subject: [PATCH 3/3] Answer A-317: the assigner's main process alone writes a proposal's candidates Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index d2e448a4..05362ad0 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -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. -- 2.54.0