jschoubben
0231974226
Rebased onto main: ADR 0188 renumbered to 0201, and issue 202's evidence re-taken
...
The bundles refactor took 0188 on main while this waited in a pull request,
and the mesh's own code cites that one, so this record moves. Only the number
moved; the decision is the one taken on 2026-10-02, and the record says so.
Issue 202 re-checked against the refactored main: the fault stands, and the
test that surfaced it now fails one step earlier on issue 203's new credential
guard. Proven again past both — mint the credential, compose twice, and all
eight of dnsmasq's resources appear only with the setting set. ADR 0164 is
noted as the decision that answers half of it, and is not built.
2026-10-04 02:44:58 +02:00
jschoubben
92c029d10e
ADR 0189: the store keeps what the records name, and a maintenance step holds its writers still
...
Issue 108: the artifact store has never collected anything. Fifty-three
repositories on the machine that serves everything else, and the only outcome
of leaving it is a full disk reported as somebody else's failure.
The mesh decides what may go — from its own build records, so it never names
a digest it did not put there — and the store reclaims the bytes in a nightly
window with its server held still. Deletion on the one door takes nothing a
push did not already have.
Designs 18 and 20 amended; issue 108 resolved.
Also issue 202, found running the controller's suite: a module whose required
setting nobody set is left out of the machine in silence, and dnsmasq became
that module this morning.
2026-10-04 02:40:25 +02:00
jschoubben
2a60da821d
ADR 0188: a provider declares what it derives for each consumer, and the mesh tells both ends
...
Issue 124: a value the mesh's own rule produced reached neither end as a
statement. The object store's provisioner derived each consumer's bucket in
its own code; all three consumers transcribed the rule into their own
definitions, one of them wrong, and each of the three also named the machine
it happens to run on.
A served value may now name the consumer the mesh is serving. Design 27
amended; issue 124 resolved.
2026-10-04 02:40:06 +02:00
mesh-admin
8ca09c70d6
Merge pull request 'Issues 213 and 223 resolved' ( #347 ) from issues/213-223-resolved into main
2026-10-04 00:19:22 +00:00
jochen
db71b83711
Issues 213 and 223 resolved: the controller runs as a process, and genesis hands over to it
2026-10-04 02:19:09 +02:00
mesh-admin
9143d0b7c1
Merge pull request 'ADR 0200: genesis pivots to the controller as a container, and the first push hands it to a process' ( #346 ) from decision/0200-genesis-pivots-to-a-container-and-hands-over into main
2026-10-03 23:41:36 +00:00
jochen
24a51a8e53
ADR 0200: genesis pivots to the controller as a container, and the first push hands it to a process
2026-10-04 01:41:30 +02:00
mesh-admin
f0d7f91d90
Merge pull request 'Design 38: WP4c complete' ( #345 ) from design/38-wp4c-complete into main
2026-10-03 23:35:31 +00:00
jochen
8578a06ca8
Design 38: WP4c complete, no module's own code runs in a container
2026-10-04 01:35:16 +02:00
mesh-admin
86083f9c9d
Merge pull request 'Issues 215, 221, 222 resolved' ( #344 ) from issues/215-221-222-resolved into main
2026-10-03 23:29:38 +00:00
jochen
63d328147e
Issues 215, 221 resolved with live proof; 222 diagnosed and resolved
2026-10-04 01:29:32 +02:00
mesh-admin
fead0ea440
Merge pull request 'Issues 219-223 and design 38 WP4c built' ( #343 ) from issues/219-223-and-wp4c into main
2026-10-03 23:14:49 +00:00
jochen
df503d1cff
Issues 219, 220 resolved, 221 located, 222 and 223 opened; WP4c built and proven
2026-10-04 01:14:44 +02:00
mesh-admin
c2fc829822
Merge pull request 'Issues 211, 212, 214, 216, 217 resolved; 215's fix recorded' ( #342 ) from issues/211-217-resolved into main
2026-10-03 22:25:07 +00:00
jochen
8d8e5c9a7e
Issues 211, 212, 214, 216, 217 resolved with their proofs; 215's fix recorded
2026-10-04 00:24:53 +02:00
mesh-admin
affba60b79
Merge pull request 'Issues 219-221: the builder's ordering gaps' ( #341 ) from issues/219-221-the-builder into main
2026-10-03 22:16:13 +00:00
jochen
9ddbc4c68e
Issues 219-221: the builder's ordering gaps seen while rolling out issue 218
2026-10-04 00:16:08 +02:00
mesh-admin
a972db91f0
Merge pull request 'Issue 218 resolved: the runtime follows its membership, and a refused subscription is not fatal' ( #340 ) from issues/218-rollout into main
2026-10-03 22:14:10 +00:00
jochen
029698fdc8
Issue 218 resolved: the runtime follows its membership, and a refused subscription is not fatal
2026-10-04 00:14:04 +02:00
mesh-admin
895c2afad1
Merge pull request 'Issue 218: a mesh seat answered by a non-holder (located, fixed in mesh-controller#248)' ( #339 ) from issues/218-a-mesh-seat-answered-by-a-non-holder into main
2026-10-03 21:32:24 +00:00
jochen
4b8c5e3b11
Issue 218 located: the controller issued a mesh seat to every claimant; fixed in mesh-controller#248
2026-10-03 23:31:13 +02:00
mesh-admin
d362155401
Merge pull request 'Issue 218: a mesh seat is answered by a module on a machine that does not hold it' ( #338 ) from issues/218-a-mesh-seat-answered-by-a-non-holder into main
2026-10-03 21:25:27 +00:00
jochen
557760e537
Issue 218: a mesh seat is answered by a module on a machine that does not hold it
2026-10-03 23:25:17 +02:00
mesh-admin
6b1ebd1d4a
Merge pull request 'Issue 217: a refused announcement took down every container's runtime, and the console with it' ( #336 ) from issues/217-a-refused-announcement into main
2026-10-03 21:20:06 +00:00
mesh-admin
fa73a17ceb
Merge pull request 'Issues 211, 214, 215, 216 diagnosed' ( #335 ) from issues/211-214-216-diagnosed into main
2026-10-03 21:19:03 +00:00
jochen
08cea893bd
Issue 217: a refused announcement took down every container's runtime, and the console with it
2026-10-03 22:47:28 +02:00
jochen
04625d3e35
Issues 211, 214, 215, 216 diagnosed: root causes and the branches that fix them
2026-10-03 22:28:40 +02:00
mesh-admin
d7bb24b181
Merge pull request 'ADR 0198: a module's long-running code is launched by the node's runtime and reaches the bus through it' ( #334 ) from decision/0198-a-modules-long-running-code-is-launched-by-the-runtime into main
2026-10-03 20:21:04 +00:00
jochen
23d6e30b8a
ADR 0198: a module's long-running code is launched by the node's runtime and reaches the bus through it; research 022; design 38 WP4c plan
2026-10-03 22:20:53 +02:00
mesh-admin
2043e90f35
Merge pull request 'Issues 214–216: a plan losing its own controller, a module pinned silently, a bundle never delivered' ( #333 ) from issues/214-216-found-building-0192-0193 into main
2026-10-03 20:15:30 +00:00
jochen
c9418af42e
Issues 214–216: a plan losing its own controller, a module pinned silently, a bundle never delivered
2026-10-03 22:15:19 +02:00
mesh-admin
9c3e77999e
Merge pull request 'Design 38 WP4d: every served bundle launched and node-tools in Go, proven live on all four machines' ( #332 ) from design/38-wp4d-proven into main
2026-10-03 20:07:30 +00:00
jochen
6943843fff
Design 38 WP4d: every served bundle launched and node-tools in Go, proven live on all four machines
2026-10-03 22:07:20 +02:00
mesh-admin
34325d3566
Merge pull request 'ADR 0197: every tool announces itself on the bus, in the NATS services protocol' ( #331 ) from decision/0196-every-tool-announces-itself into main
2026-10-03 20:04:12 +00:00
jochen
fa9e94d863
Renumber to ADR 0197: 0196 landed first on main
2026-10-03 22:03:58 +02:00
jochen
1b34821aa0
ADR 0196: every tool announces itself on the bus in the NATS services protocol
2026-10-03 22:03:34 +02:00
jschoubben
50ddaf8408
Merge pull request 'ADR 0196: a node asks the mesh's resolver first, and a public one only when it is silent' ( #330 ) from decision/0196-nodes-ask-the-mesh-resolver-with-a-public-fallback into main
2026-10-03 20:01:05 +00:00
jschoubben
f5d518d256
ADR 0196: a node asks the mesh's resolver first, and a public one only when it is silent
...
ADR 0194 rejected sending every query to the mesh's resolver because a node with its tunnel down
would resolve nothing; a public resolver listed second answers exactly then. That drops the
systemd-resolved stub and the runtime's dns: containers copy the machine's resolvers. Narrows 0194;
amends connectivity §2.
2026-10-03 21:56:33 +02:00
jschoubben
577ddf0089
Merge pull request 'ADR 0194: the mesh has one resolver, and every node asks it for the mesh's names' ( #326 ) from decision/0194-the-mesh-has-one-resolver into main
2026-10-03 19:51:04 +00:00
jschoubben
13e28e6873
ADR 0194: the no-copies check allows each node's loopback stub
2026-10-03 21:51:03 +02:00
jschoubben
6b6ff76a19
ADR 0194: why every node needs a stub, and the systemd-resolved module that provides it
2026-10-03 21:50:33 +02:00
mesh-admin
8d5e6ef76f
Merge pull request 'ADR 0195: the mesh's tools are found by address, not announced whole; research 021; to-be 34 §3a' ( #329 ) from decision/0195-the-mesh-tools-are-found-by-address into main
2026-10-03 19:49:37 +00:00
jochen
77813f4613
ADR 0195: the mesh's tools are found by address, not announced whole; research 021; to-be 34 §3a
2026-10-03 21:49:26 +02:00
mesh-admin
4ee8e3905d
Merge pull request 'Issue 213: the controller is a Go program and still runs in a container' ( #328 ) from issues/213-the-controller-runs-in-a-container into main
2026-10-03 19:42:31 +00:00
jochen
216faec69e
Issue 213: what the container gives it, measured
2026-10-03 21:42:22 +02:00
jochen
e36b1a9e9c
Issue 213: the controller is a Go program and still runs in a container
2026-10-03 21:42:11 +02:00
mesh-admin
5886969c75
Merge pull request 'Issue 212: a toolchain rebuild keeps the SDK it cached' ( #327 ) from issues/212-a-toolchain-keeps-a-cached-sdk into main
2026-10-03 19:24:49 +00:00
jochen
5fa43ff755
Issue 212: a toolchain rebuild keeps the SDK it cached
2026-10-03 21:24:39 +02:00
jschoubben
1de4a5f25e
ADR 0194: the mesh has one resolver, and every node asks it for the mesh's names
...
Every resolution fault found on 2026-10-03 was a per-node copy disagreeing with the truth: a hosts
file read once, an operator's old line beside the mesh's, a node's resolver lent to a LAN. Every
tunnel already converges on one node. Retires node-dns-resolver for a mesh-scoped mesh-resolver;
nodes route only the mesh's suffix to it. Narrows 0121; amends connectivity §2 and the seats.
2026-10-03 21:21:49 +02:00
jschoubben
8a1fa37dce
Merge pull request 'ADR 0191: domains are a node's — the resolver holds each node's internal domain, nothing else' ( #323 ) from decision/0191-names-by-origin into main
2026-10-03 19:12:26 +00:00