ADRs 0087 and 0088; issues 031, 035 and 054 resolved; designs 05, 07 and 18 amended
A seeded file is created once (0087); the foundation filters before anything listens (0088); a machine becomes the last thing it was told (design 05). Each says how it is checked.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
layer: to-be
|
||||
status: in-progress
|
||||
code: [mesh-host]
|
||||
updated: 2026-08-31
|
||||
updated: 2026-09-21
|
||||
decisions:
|
||||
- 02-DECISIONS/0019-how-this-repository-works.md
|
||||
- 02-DECISIONS/0004-a-node-and-how-it-joins.md
|
||||
@@ -367,4 +367,17 @@ of the reason to manage a machine.
|
||||
silently incomplete.
|
||||
|
||||
**A partial host does archives and refuses users**: an archive needs a filesystem and a way to
|
||||
fetch; a user needs a user database the host is allowed to write.
|
||||
fetch; a user needs a user database the host is allowed to write.
|
||||
|
||||
## A machine becomes the last thing it was told
|
||||
|
||||
Every declaration is complete, so applying an old one is never wrong, only wasted — and under a
|
||||
flurry of pushes a machine spent minutes becoming things the mesh had moved past
|
||||
([issue 031](../../04-ISSUES/031-a-machine-becomes-each-thing-it-was-told-in-turn/00-report.md)).
|
||||
So the host looks at what is already waiting before it applies anything: it holds a small window
|
||||
of unacknowledged declarations, applies the newest, and sets the rest aside — each **reported as
|
||||
superseded**, naming the one applied instead, because silence would read as a machine that
|
||||
ignored an instruction and "applied" would be a lie. Applying stays one at a time; only seeing
|
||||
is not. **Checked** by the link's unit tests on the drain, and by the genesis bed's settle wait,
|
||||
which counts on a node catching up to the newest declaration rather than the oldest.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user