Reconcile: adopt initialization's consolidated HQ as canonical, re-home this session's new work #24

Merged
jschoubben merged 177 commits from reconcile-init-into-main into main 2026-09-05 10:27:11 +00:00
Showing only changes of commit bd8f09d647 - Show all commits
@@ -1,8 +1,8 @@
--- ---
status: located status: fixed
opened: 2026-09-01 opened: 2026-09-01
located-in: [mesh-control] located-in: [mesh-control]
fixed-by: fixed-by: mesh-control 53eb000
amended-design: amended-design:
--- ---
@@ -68,3 +68,18 @@ declares none of it, and nothing complains, because a bind mount source is a str
arrangement being replaced, which put everything under one directory per service. Whether that is arrangement being replaced, which put everything under one directory per service. Whether that is
right here is a separate question, and a bigger one — it decides what a person backs up, and what right here is a separate question, and a bigger one — it decides what a person backs up, and what
survives a module being removed. survives a module being removed.
## Fixed
**All fourteen are declared**, across the forge, the mail system, the store and the object store —
each mount now resolves to a `directory` or to a file the module already names.
**And a manifest that does not declare one is refused**, where it is written. The manifests being
right today was a coincidence: nothing said they had to be, so the next volume somebody added
would have been undeclared again and nothing would have said so. A path under a declared directory
counts as declared, as do a module's own secrets, its grants, and what it receives.
Refused in the control plane rather than on the machine, which cannot tell the difference: by the
time the host sees the mount it is being asked to create a directory, which it is perfectly able to
do. The fault is in the manifest, so it is named at the manifest — the same argument as the action
refusal it now sits beside.