From 091551e05389733a31aae09db78d1cd5ef608182 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 06:10:54 +0100 Subject: [PATCH] Answer A-224: one approval gate in mesh-sdk for both gates 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 385335f4..ab58f8ba 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 @@ -173,3 +173,7 @@ the principle that settles it, cited as "design 47 G A-n". candidate's catalog half. An unanswered drop is said `call-unanswered` on a five-minute bound key's expiry. - **A-223** (corrects A-221; principle 8) A merged pull request's own branch is `head-branch`; `head` stays the head commit, as everywhere in the forge messages. +- **A-224** (ยง677, A-219; principle 7; code shared between modules is in mesh-sdk) The approval gate is one package, + mesh-sdk `go/approval`: the tool runner's gate (node-tools `internal/approval`) moves there and both the tool + runner and `go/process`'s seat server use it, each passing the operator channel as an interface (A-219); no second + gate is written.