to-be 27: the three gaps answered — root is a node setting, the mesh's writes need no module-visible reservation, resolution is the controller's at composition

This commit is contained in:
2026-09-26 17:44:38 +02:00
parent e38814962d
commit db142ffa26
@@ -365,3 +365,29 @@ Each phase ends at a check that holds, so none of them leaves a mechanism half-r
- The layout a node's default root uses beneath it, beyond one directory per assignment.
- Whether a module provider's answer can change without the provider being asked, for example a
provider moving. The rule so far is that it cannot, and moving is re-resolving.
## The three gaps, answered (2026-09-26, operator)
**Where the root comes from.** A node setting, fixed at installation; a node that states none
gets the default under `/var/lib`. (The adopted-machine placement stays as proposed: a
per-assignment placement for data that must sit where it already is — mssql is novox's live
case.)
**What sits beneath it — dissolved, not decided.** The question assumed the mesh's own
writes (`/var/lib/mesh/<module>`: sealed credentials, composed bindings) need a
module-visible reservation. They do not: a module *requires* a `host-path` and receives a
location; what the mesh writes for the module is the mesh's plumbing, placed where the mesh
chooses and mounted in — never part of the module's contract. One reservation per
requirement, `<root>/<module>/<name>`.
**Resolution happens in the controller, at declaration composition.** The node receives
concrete paths exactly as today — the wire format and the host's apply do not change for
this. What changes is that no *manifest* carries a path; the controller resolves
requirement → location against the node's root setting. (The host still needs issue 126's
fix — volumes in the spec comparison — or a resolved path change cannot reach a running
container.)
**Retirement order** stays per-module data migration with verification, smallest and
empties first, the mail spool and the store last — the novox session's six-module window
(mesh-catalog #97, hq 126) is the worked example, hazard included.