From e0f23683b0ca6575dc5a4b0a72d0b9d802796aaf Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 05:54:17 +0100 Subject: [PATCH] Answer A-198 and A-199: the act's form in mesh-sdk; AdoptEvent for the candidates hook 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 84b032a9..01797517 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 @@ -76,3 +76,9 @@ the principle that settles it, cited as "design 47 G A-n". an unreachable tunnel, and every part of its health report (machine network, rewritten network, machine units, relogin needed, directory used as found, node account fallback). The watchman stops reading `node-engine.have` and `mesh-host.health` and raising those; it keeps only what it sees across parts. +- **A-198** (ยง677; principle 7; shared code is in mesh-sdk) The act's form, `ActDigest` and the ask's form move from + `operatorchannelclient` into mesh-sdk's `go/operatorask`, which the client re-exports, so the seat server in + `go/process` holds the gate with no import of mesh-contracts and no cycle between the two. +- **A-199** (A-185, A-193; principle 7) mesh-sdk's `ProcessReader` gains `AdoptEvent(seat, event, hear)`, a seat event + heard on the one subscription with no picture, made at once if no follower made it; meshcatalogclient's + `WireCandidatesProcess` adopts `catalog-revision` through it and hands each candidate revision to the hook.