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:
2026-09-21 12:11:50 +02:00
parent a211aecdfa
commit ee67f69ef4
9 changed files with 166 additions and 12 deletions
+11
View File
@@ -13,6 +13,7 @@ code:
- mesh-lab test/integration/mesh.test.ts (a bare machine becomes a mesh)
updated: 2026-09-21
decisions:
- 02-DECISIONS/0088-the-foundation-filters-before-anything-listens.md
- 02-DECISIONS/0004-a-node-and-how-it-joins.md
- 02-DECISIONS/0078-the-store-and-broker-are-modules.md
- 02-DECISIONS/0079-the-foundation-seats-are-named-after-their-servers.md
@@ -157,6 +158,16 @@ a real machine with a network; the sealed case is the lab, and the lab places im
Reproducibility comes from pinning the identity of a thing rather than carrying its bytes, which
is what keeps the bundle small enough for a person to read and check.
## Filtered from its first resource
The bundle installs the packet filter and loads a base ruleset before the store and broker come
up ([ADR 0088](../../02-DECISIONS/0088-the-foundation-filters-before-anything-listens.md)): drop by
default, keep loopback, replies, ping, ssh, the bus and the registry, and the container runtime's
networks through the forward chain. It is written into the same table the filter module derives,
so that module replaces it wholesale once it can. **Checked** by the installer's bundle test
(order and rules) and by the genesis bed, which probes the machine from outside for the length of
the install: the store's port never answers, the bus's does.
## Raising it
The order, from [research 011](../../01-RESEARCH/011-the-module-graph/worked-provider.md):