From d60f14c56ced3cf29313d5be018d61fb103ce923 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 22:03:55 +0100 Subject: [PATCH] Answer A-30 to A-32: declared finding events, old keys, held writers Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- 03-DESIGN/01-to-be/47-milestones/G-20-lead-answers.md | 7 +++++++ 1 file changed, 7 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 37135cfa..dc09c31d 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 @@ -114,3 +114,10 @@ names the principle that settles it, and is cited as "design 47 G A-n". judged afresh, uses one mesh-sdk form of the writer that observes from its own state: it seeds what it holds from the state's keys before it starts, keeps them under its own lock, and its `Observe` answers them, so no part writes that adapter (the watchman's copy moves there; the assigner, builder and indexer use it). +- **A-30** (§383, §686; principle 3) Every module whose writer publishes declares the events it says + (`finding-written`, `finding-cleared`, `findings-stated`) in its manifest; none publishes an event it does not declare. +- **A-31** (A-14, A-22; principles 3 and 7) A module whose old finding keys end in no kind it owns (gitea's package + registry, distribution) deletes those old keys once at its start, in its own code, so no stale finding stays; the + writer's rule is unchanged. +- **A-32** (A-29; principle 7) A part that keeps its open findings in memory (artifact-store-tools, mesh-config, + distribution, gitea's package registry) uses the held writer of A-29, so a restart neither drops nor rewrites them.