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 d7dc1185..5f83a2be 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 @@ -3,7 +3,7 @@ layer: to-be status: in-progress design: 47 milestone: G -updated: 2026-11-12 +updated: 2026-11-13 decisions: - "ADR 0667" --- @@ -715,3 +715,22 @@ the principle that settles it, cited as "design 47 G A-n". runs healthy from the holder's have, also while a newer build of the bus module waits for the operator's yes: the running build serves the bus state, so a consumer that needs none of the new build's forms is not held; a consumer whose new form only the new build reads still waits for it by its edge of kind 4 (§50). +- **A-353** (G's start, found 2026-11-13 after its merge; principles 3 and 7) While its catalog half is unread, a tool + runner's approval gate lets through the first-view calls the catalog half is read by (the seat mesh-catalog's + `registrations`, `revision` and `entry`, the seat mesh-delivery's `source`, and their owners' first-view tools) and + holds every other call as today, so the runner that serves the indexer's tools can answer the reads it waits on; the + rule lives once, in mesh-sdk's approval gate. +- **A-354** (G's start; deb88b17 "grants keeps its read of modules until W8"; principles 3 and 7) The indexer keeps + serving the first view `modules` in its current form until grants reads the catalog half, so grants issues new + rights once G's indexer runs; the two move together in the same release as W8. +- **A-355** (G's start; principle 5) Every G part builds from main before any is placed: the watchman's go.mod + requires and replaces the seats it imports (nodebuildimage, nodebuildnode), as every module's go.mod does. +- **A-356** (G's start, the forge; principle 7) G's gitea is built by G's mesh-build-node, which is therefore delivered + before gitea; no lock file is kept for a mesh package that the build runtime exempts. +- **A-357** (§47 kind 6; principles 3 and 7) A package's `calls` names every seat verb its code calls on a module's + behalf, in the `invokes` form (`seat:.`); mesh-sdk's Go package adds `seat:mesh-catalog.registrations`, + `seat:mesh-catalog.revision`, `seat:mesh-catalog.entry` and `seat:mesh-delivery.source`, and the indexer derives an + edge of kind 6 from such a call word against the verb's server exactly as from `invokes`, so every module built + against the SDK is delivered after the running versions that serve its start. +- **A-358** (§47; principle 7) The tool runner keeps `invokes: "*"`, its role of forwarding any call; what its own start + needs comes to it through the SDK's `calls` (A-357), as for every module.