Answer A-30 to A-32: declared finding events, old keys, held writers

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-11 22:03:55 +01:00
parent 2103f4479b
commit d60f14c56c
@@ -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.