Design 47 G: the lead's answers A-353 to A-362 (G's start) #608
@@ -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:<seat>.<verb>`); 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.
|
||||
|
||||
Reference in New Issue
Block a user