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.