Now:mesh-dns-resolver becomes a replicated mesh seat (the glossary's first bench), held on the anchor and the home server, each holder on record and added by seat <name> --add. Every machine's /etc/resolv.conf lists every holder's private address, its own first on a holder, and no public resolver. Evidence: musl asks all nameservers at once and takes the first reply, so ADR 0196's public fallback answered NXDOMAIN for the anchor's mesh name from the home server's Alpine build agent, 6/6, and every build there failed.
Next, decided, not built: resolv.conf becomes the node-uplink holder's file and resolv-conf / node-resolver-config retire (with ADR 0220's dependency); /etc/hosts and /etc/hostname become one seat's, node-hostname, held by the hosts module renamed hostname.
Also: supersedes 0196 in part (dated note on 0196); pointer notes on 0194, 0199, 0220; to-be 08 and 26 amended; glossary bench; issue 262 names the host-record test now added.
Implemented by novox/mesh-controller (feat/the-mesh-has-two-resolvers) and novox/mesh-catalog (feat/the-mesh-has-two-resolvers). Checks: records.py, index.py, cycle.py pass.
Decision of 2026-10-05.
**Now:** `mesh-dns-resolver` becomes a replicated mesh seat (the glossary's first bench), held on the anchor and the home server, each holder on record and added by `seat <name> --add`. Every machine's `/etc/resolv.conf` lists every holder's private address, its own first on a holder, and no public resolver. Evidence: musl asks all nameservers at once and takes the first reply, so ADR 0196's public fallback answered NXDOMAIN for the anchor's mesh name from the home server's Alpine build agent, 6/6, and every build there failed.
**Next, decided, not built:** resolv.conf becomes the `node-uplink` holder's file and `resolv-conf` / `node-resolver-config` retire (with ADR 0220's dependency); `/etc/hosts` and `/etc/hostname` become one seat's, `node-hostname`, held by the `hosts` module renamed `hostname`.
Also: supersedes 0196 in part (dated note on 0196); pointer notes on 0194, 0199, 0220; to-be 08 and 26 amended; glossary `bench`; issue 262 names the host-record test now added.
Implemented by novox/mesh-controller (feat/the-mesh-has-two-resolvers) and novox/mesh-catalog (feat/the-mesh-has-two-resolvers). Checks: records.py, index.py, cycle.py pass.
musl asks every listed nameserver at once and takes the first reply, so ADR
0196's public fallback answered NXDOMAIN for mesh names in every Alpine build
on the home server. Decide two mesh resolvers and no public line now; record
resolv.conf moving to the uplink's holder and /etc/hosts with /etc/hostname
moving to one hostname seat as the next steps. Amend to-be 08 and 26.
Deliverynovox/hq@178994ee0dae — held since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/hq#115 merged; its head was not heard by this owner, so it is made from the forge's word
2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@178994ee0dae` — **held** since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on.
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/hq#115 merged; its head was not heard by this owner, so it is made from the forge's word
- 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Decision of 2026-10-05.
Now:
mesh-dns-resolverbecomes a replicated mesh seat (the glossary's first bench), held on the anchor and the home server, each holder on record and added byseat <name> --add. Every machine's/etc/resolv.conflists every holder's private address, its own first on a holder, and no public resolver. Evidence: musl asks all nameservers at once and takes the first reply, so ADR 0196's public fallback answered NXDOMAIN for the anchor's mesh name from the home server's Alpine build agent, 6/6, and every build there failed.Next, decided, not built: resolv.conf becomes the
node-uplinkholder's file andresolv-conf/node-resolver-configretire (with ADR 0220's dependency);/etc/hostsand/etc/hostnamebecome one seat's,node-hostname, held by thehostsmodule renamedhostname.Also: supersedes 0196 in part (dated note on 0196); pointer notes on 0194, 0199, 0220; to-be 08 and 26 amended; glossary
bench; issue 262 names the host-record test now added.Implemented by novox/mesh-controller (feat/the-mesh-has-two-resolvers) and novox/mesh-catalog (feat/the-mesh-has-two-resolvers). Checks: records.py, index.py, cycle.py pass.
7ed15f0216to4f1300fd48Delivery
novox/hq@178994ee0dae— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.