From ea4cb84ce1f2c661995ec0a93d7e25c72c7f2db1 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 05:30:07 +0100 Subject: [PATCH] Answer A-162: build.ended for every end, the assigner reads no builder bucket 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 5b6e7a07..accd1134 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 @@ -604,3 +604,7 @@ names the principle that settles it, and is cited as "design 47 G A-n". - **A-161** (§522, §81, §170; principle 1) An event carries what its hearers need to say it: `recovery-merged` gains `module` and `branch`, and a forge-made record's `record-opened` gains `repository`, `pull`, `commit` and `branch`, in their contracts and from their emitters; the teller makes no call per message. +- **A-162** (amends A-100; §575, A-94, ADR 0596; principle 1) The builder's `build.ended` is said for every end of a + build, carrying `outcome` (done or failed) and, when failed, `error`; the assigner's hold says "failed: " + from it and "is being built" while no `build.ended` of that fingerprint is heard. The assigner never reads the + builder's `builds` bucket; its read there (put.go:85, the manifest's `reads`) goes.