From cc4da43b3c956cd8a5f7c6935af4122b11f49b82 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 23:41:03 +0100 Subject: [PATCH 1/2] Answer A-321: the watchman awaits a followed state by its seat and keeps seeded keys until the holder is read Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 4 ++++ 1 file changed, 4 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 8b0a1686..31865d98 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 @@ -578,3 +578,7 @@ the principle that settles it, cited as "design 47 G A-n". `cmd/mesh-host/recovery_integration_test.go` is that form), and the whole undo end to end belongs to the test lab (the operator, 2026-11-12: paused until its performance is fixed), not to a check and not to a live node. No check fetches or starts real builds. +- **A-321** (A-210, A-303; principles 3 and 7) The watchman awaits a followed state by its seat and state + (`mesh-wants`, `wants`) and resolves the bucket name at each use through the process reader's holder accessor; a start + never waits for a holder. A seeded pulse, stuck key or finding of a bucket not yet resolved is kept, and closed only + after the late read of the resolved bucket. From 78fedf86aa81e71d604c643491457be498c666d4 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 23:46:10 +0100 Subject: [PATCH 2/2] Answer A-322: the watchman takes seat events per seat, the branches follower takes registration-changed Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 4 ++++ 1 file changed, 4 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 31865d98..bac1be9a 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 @@ -582,3 +582,7 @@ the principle that settles it, cited as "design 47 G A-n". (`mesh-wants`, `wants`) and resolves the bucket name at each use through the process reader's holder accessor; a start never waits for a holder. A seeded pulse, stuck key or finding of a bucket not yet resolved is kept, and closed only after the late read of the resolved bucket. +- **A-322** (A-298, A-321; principle 7) A message on a process's event hub has one taker. The watchman replaces its + 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.