The one resolver answers machine names only via address=/<fqdn>/<ip> with local=/internal/, so an AAAA query gets NXDOMAIN. musl (Alpine) treats that as final: n8n on ace crash-loops with getaddrinfo ENOTFOUND novox.internal since it was restarted onto the one resolver. Adds host-record=<fqdn>,<ip> per machine, which makes AAAA answer NOERROR/no data — what the per-machine resolvers gave from /etc/hosts before. Reproduced and verified with a throwaway dnsmasq 2.93. Controller catalogue tests pass; module check ok.
The one resolver answers machine names only via `address=/<fqdn>/<ip>` with `local=/internal/`, so an AAAA query gets NXDOMAIN. musl (Alpine) treats that as final: n8n on ace crash-loops with `getaddrinfo ENOTFOUND novox.internal` since it was restarted onto the one resolver. Adds `host-record=<fqdn>,<ip>` per machine, which makes AAAA answer NOERROR/no data — what the per-machine resolvers gave from /etc/hosts before. Reproduced and verified with a throwaway dnsmasq 2.93. Controller catalogue tests pass; module check ok.
The resolver answered a machine's name only by wildcard, which says there is no such name when
asked for an IPv6 address; musl reads that as final, so Alpine containers could not find a
machine at all. A host record per machine answers that the name exists and has none, as the
hosts file the per-machine resolvers read used to.
Deliverynovox/mesh-catalog@20603b63e673 — 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 dnsmasq, sent nowhere; no bus step; 2 wait(s) for a person
tier 0: dnsmasq
ace: waits for a person: dnsmasq
novox: waits for a person: dnsmasq
dnsmasq waits for a person: its policy records (module)
dnsmasq provides wildcard-resolution: its consumers are sent again after it
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#71 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/mesh-catalog@20603b63e673` — **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 dnsmasq, sent nowhere; no bus step; 2 wait(s) for a person
- tier 0: dnsmasq
- ace: waits for a person: dnsmasq
- novox: waits for a person: dnsmasq
- dnsmasq waits for a person: its policy records (module)
- dnsmasq provides wildcard-resolution: its consumers are sent again after it
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#71 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.
The one resolver answers machine names only via
address=/<fqdn>/<ip>withlocal=/internal/, so an AAAA query gets NXDOMAIN. musl (Alpine) treats that as final: n8n on ace crash-loops withgetaddrinfo ENOTFOUND novox.internalsince it was restarted onto the one resolver. Addshost-record=<fqdn>,<ip>per machine, which makes AAAA answer NOERROR/no data — what the per-machine resolvers gave from /etc/hosts before. Reproduced and verified with a throwaway dnsmasq 2.93. Controller catalogue tests pass; module check ok.Delivery
novox/mesh-catalog@20603b63e673— 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 dnsmasq, sent nowhere; no bus step; 2 wait(s) for a person
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.