The pointers back from what yesterday's records changed, which I missed twice
Three records were left describing a mechanism a new record had moved, and a reader arrives at them by following a citation: 0066 still said a routed name is written into every container after 0148 replaced that with resolution; 0016 still read as though the lab were the test bed after 0149; and issues 109 and 135 said nothing about 0148 ending the copying that 135's own fix made comparable. Each was a citation leading to the wrong answer in a record that was not wrong about anything it decided. This is the second time in one session. The playbook rule I added last round did not stop it, so the convention is now written where the record conventions live, with the shape to use and three worked examples — and with the honest note that it is NOT machine-checked and cannot be from `extends:` alone: 102 records extend another, 87 have no back-reference, and that is correct, because extending usually means building on a context. Making it mechanical means a record declaring the relationship in frontmatter, which is a schema change and is not mine to decide. Also: designs 18 and 20 claimed `updated:` dates from before I edited them, and 117's `fixed-by` gained the commit beside the record.
This commit is contained in:
@@ -59,3 +59,17 @@ container is made with are the same kind of input, read once at creation, and ar
|
||||
and is the stronger statement; it is also what the mesh's own resolver exists for.
|
||||
- Either way: what tells an operator that a container is running with an address the node no longer
|
||||
has? Nothing did.
|
||||
|
||||
## Answered at the cause (2026-09-30)
|
||||
|
||||
This was the first of three arrivals of one fact: a container is given the mesh's names when it is
|
||||
created and never looks again, so a name that moves afterwards is wrong inside it for as long as it
|
||||
runs. It arrived again as [issue 135](../135-a-containers-mesh-names-are-not-compared/00-report.md),
|
||||
whose fix made the names comparable — and that fix made the roster part of every container's identity,
|
||||
which arrived as [issue 151](../151-a-new-name-recreates-every-container-in-the-mesh/00-report.md).
|
||||
|
||||
[ADR 0148](../../02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md) ends the
|
||||
copying: a container resolves through its machine's resolver at the moment it asks. The shape this
|
||||
record reports then has nowhere to occur. It is gated on
|
||||
[issue 110](../110-a-container-on-the-runtimes-own-network-cannot-reach-the-resolver/00-report.md), so
|
||||
until that lands the mesh still copies and still compares.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
status: resolved
|
||||
opened: 2026-09-25
|
||||
located-in: [hq, mesh-catalog modules/showcase, mesh-sdk src/tools/index.ts, mesh-tools]
|
||||
fixed-by: hq ADR 0150 — a module's own code runs as supervised processes under the module's one account; designs 18 and 20 now cite it, and ADR 0047 carries a dated note pointing at it
|
||||
fixed-by: hq 83791f0 (PR 196) — ADR 0150: a module's own code runs as supervised processes under the module's one account; designs 18 and 20 now cite it, and ADR 0047 carries a dated note pointing at it
|
||||
amended-design:
|
||||
---
|
||||
|
||||
|
||||
@@ -68,3 +68,20 @@ container runtime's shape, not a choice; the answer is to recreate, which is wha
|
||||
that would rather re-read a roster from a file can already ask for one as a fact
|
||||
([ADR 0120](../../02-DECISIONS/0120-a-roster-fact-carries-its-format-as-a-template.md)) and restart on
|
||||
it.
|
||||
|
||||
## What replaced this fix (2026-09-30)
|
||||
|
||||
The fix here — putting the mesh's names into the digest the host compares, so a container whose names
|
||||
moved is recreated like one whose image moved — worked, and cost more than it was worth. It made the
|
||||
roster part of every container's identity, so one name moving replaced every container in the mesh: a
|
||||
module assigned on one machine restarted the store, the registry, the edge and mail on another
|
||||
([issue 151](../151-a-new-name-recreates-every-container-in-the-mesh/00-report.md)).
|
||||
|
||||
[ADR 0148](../../02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md) goes at
|
||||
the cause this record only described: **a copy taken at creation is stale the moment the roster moves,
|
||||
and detecting that is not as good as not copying.** A container resolves the mesh's names through its
|
||||
machine's resolver, at the moment it asks, so the fault this record reports cannot occur rather than
|
||||
being noticed a restart later.
|
||||
|
||||
Recorded here because this is where somebody arrives to find out why the digest carries names, and the
|
||||
answer is that it did, for two days short of a month, and stopped.
|
||||
|
||||
Reference in New Issue
Block a user