From 2eb897699fed48b07cfaae2f736841858bf6006d Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 23:28:59 +0100 Subject: [PATCH] Answer A-96: the builder says build.ended on its own stream Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md b/03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md index ac81f912..448de741 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md +++ b/03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md @@ -375,3 +375,9 @@ names the principle that settles it, and is cited as "design 47 G A-n". words, the node-engine following no view. Still owed in G: a restart composes the bus module and the indexer from the kept entries and wants while both are down, without waiting for every input (§683's purpose), and the `entry-not-found` finding (§614). +- **A-96** (§379, G-4's event table, §529, A-67; principles 1 and 7) The builder says `build.ended` itself, as a module + event on its own stream: a foundation part's old `streams` entry `mesh-delivery-builder-builds`, 7 days, kept last per + subject `build.ended..` (each escaped), its body the build log entry's `module`, `fingerprint`, + `made` (artifact → digest), `kept-on` and `branch`; the assigner `consumes` `mesh-delivery-builder.build.ended`. A + want's source revision is the one its pass's kept assignment graph revision was computed from (A-67), matched to + `version-released.source`; `parts` stay keyed `:`, the contract's comment corrected to say so.