From c518e59b9b1ff7739de0ddc416d13276fd980ffb Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 05:44:06 +0100 Subject: [PATCH] Answer A-181: build.ended kept last per fingerprint, read whole at start Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md | 4 ++++ 1 file changed, 4 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 4428779f..26864c96 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 @@ -684,3 +684,7 @@ names the principle that settles it, and is cited as "design 47 G A-n". catalog seat's `catalog-revision` for the candidate `run-` (a candidate's revision, its subject naming it), reading the candidate's entries and fingerprints through the seat's `revision` verb with the candidate's group; `` is a random 12-hex id the runner makes, so two runs of one commit are two pipelines. +- **A-181** (amends A-100 and A-162; §556; principles 1 and 2) The builder's `build.ended` stream keeps the last + message per subject (one per fingerprint), and the assigner reads it whole at its start as §556 reads a kept + stream, then hears it; so what was built, and a failed build's error, survive its restart and it reads no builder + bucket. `assigner_put`'s fingerprint-prefix form goes: a put names the whole fingerprint.