Test 36 is proven by each module's integration test and one rehearsal; no check starts real builds

The operator, 2026-11-12: an integration test mocks every external dependency and tests the internal wiring.
Withdraws section 637 and A-315 (A-320).

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 23:21:12 +01:00
parent 4d7fc66110
commit dec17874ab
3 changed files with 11 additions and 4 deletions
@@ -1658,9 +1658,10 @@ list:
point while the reverted manifest declares no catch-up tool), and only then are the reverted
assigner and gate wanted; a module delivered during milestone G keeps its fingerprint while they wait; no want goes
to a fingerprint older than the trunk's; the operator is asked again only for an ask raised after the restore
point. A revert whose restore point is missing is held, naming it. Proved with the real builds of the indexer, the
assigner and the gate from before milestone G, not fixtures, started by their fingerprints in the artifact store
(whole, in `mesh-host`: checker, gate, assigner, indexer, node-engine, backup holder, bus module; design 47 G §405).
point. A revert whose restore point is missing is held, naming it. Proved in two parts (the operator, 2026-11-12): each module's integration test proves its own wiring
of the undo with every other module a stand-in (the node-engine's: wants held until the restore and the catch-up,
a missing restore point held, naming it), and the whole undo is rehearsed once on the first node of milestone G's
delivery, before the rest; no check starts real builds.
37. **Nothing is delivered ahead.** Research 085's milestone is delivered with no part delivered ahead of it, read
from its delivery record (ADR 0656, How it is checked).
38. **A newer indexer is reached.** A merged revision naming a newer indexer gives, from the running indexer, a catalog
@@ -327,7 +327,7 @@ for several build maps is answered once, and the maps' names for it are given in
- §636 **The private network module's name is its own manifest's.** (§428) `overlay.Name` stays the `module` the private network package's (`overlay`)
computed manifest names itself; mesh-networking removes the fixed `mesh-provisioner` alone, read from the seat
list's holder of `mesh-provisioner`. [the node-engine's map, RQ-11.] How it is checked: the code review.
- §637 **Test 36 reads the builds of before G through the registry seat.** (§405, §555, §610) Test 36's run, in the
- §637 **Withdrawn (the operator, 2026-11-12; A-320).** **Test 36 reads the builds of before G through the registry seat.** (§405, §555, §610) Test 36's run, in the
check the running checker makes of G (ADR 0667 §2), fetches the builds of before G and the recovery module by their
fingerprints through the seat `oci-artifact-registry`, read-only, under the checker's account, its manifest naming
the fetch in `invokes`, granted by §610's default. [the node-engine's map, RQ-12.] How it is checked: test 36 runs in that check.
@@ -571,3 +571,9 @@ the principle that settles it, cited as "design 47 G A-n".
- **A-319** (§698, A-312; principles 1 and 7) The node-engine's `entry-again` asks again every entry cache the
node-engine keeps, its own composer's and its shadow's, so an entry once answered not-found in the shadow is taken in
on the same act; the shadow re-answers its candidates on that answer. No cache is polled.
- **A-320** (the operator, 2026-11-12: "an integration test is not an e2e test, it should still mock all external
dependencies, but test the internal wiring"; withdraws §637 and A-315) The check runs each module's unit and
integration tests and nothing more. Test 36 is proven in two parts: each module's integration test proves its own
wiring of the undo with every other module a stand-in (the node-engine's existing test at
`cmd/mesh-host/recovery_integration_test.go` is that form), and the whole undo is rehearsed once on the first node of
G's delivery, before the rest. No check fetches or starts real builds.