From c8c6f4344d5aec09c2c7adbdf60acbc7ebb97171 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 09:56:12 +0100 Subject: [PATCH] Answer A-270 to A-272: the approvals state's key lifetime, the runner's approvals answer, the gate channel's path Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 7 +++++++ 1 file changed, 7 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 c3890583..8f94ea8e 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 @@ -340,3 +340,10 @@ the principle that settles it, cited as "design 47 G A-n". `mesh-build-go` reads the Go module from the `go.mod` it builds there, as it does for every build. - **A-269** (§509, §714; principles 7 and 8) A `pushed` message's `head` stands where a `merged` message's `merge` stands: pending refs, the newest load and the revision's head key on it alike. +- **A-270** (A-255, §677; principles 3 and 7) A holder's approvals state is declared with `key-ttl` beside §677's + 48 hours and 64 MiB, since its bound keys `unanswered.` need it; the validator refuses a holder of a marked + verb whose approvals state lacks it. +- **A-271** (A-265, §677; principle 7) The tool runner's `approvals` answer has the form of `AnswerSeat`'s, read from + the runner's own record of the calls its gate holds; it keeps no `call.` keys of its own for it. +- **A-272** (§677, ADR 0596; principle 1) The `GateChannel` over `process.Conn` asks and reads an ask only through + mesh-sdk's `operatorchannelclient` on the seat `operator-channel`, never through the router's bucket.