docs(spikes): restore dns-hostname-mechanism spike doc lost from main - #543
docs(spikes): restore dns-hostname-mechanism spike doc lost from main#543norrietaylor wants to merge 1 commit into
Conversation
The 2026-06-20 DNS-hostname (*.localhost) spike merged in #487 is absent from main — a later sdd-spec stale-base derivation reverted it (the same class as norrietaylor/spectacles#317). Restore it verbatim from the #487 merge (6cc2dde); #500 adopts its *.localhost finding. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143kv2BRrRqGxmVwwHskQtS
📝 WalkthroughWalkthroughAdds ChangesDNS Hostname Mechanism Spike
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/spikes/2026-06-20-dns-hostname-mechanism.md`:
- Around line 242-246: Update the startup probe warning in the
dns-hostname-mechanism doc so the remediation includes the stub-resolver step as
well as enabling systemd-resolved. In the startup probe section that references
minimald-probe.localhost and tracing::warn!, make the remedy distro-aware or
mention both commands so Debian 12 and Arch users also repoint /etc/resolv.conf
to the systemd-resolved stub, ensuring *.localhost remains resolvable.
- Around line 48-54: The section claims that the Docker probe "faithfully
models" Debian 12 and Arch Linux behavior, but the empirical testing only
demonstrates one scenario (systemd-resolved inactive producing NXDOMAIN). Revise
the language at the point where "faithfully models" is used (around Finding A at
lines 90-95 and line 52) to distinguish between direct empirical observation and
documented defaults. Replace the broader modeling claim with more precise
language such as "This scenario (systemd-resolved inactive) matches the resolver
configuration defaults of Debian 12 and Arch Linux, which ship the binary but do
not enable the service" to ground the claim explicitly in the documented
evidence referenced later (lines 119-140) rather than implying the Docker
environment directly proves behavior on those distributions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: c12b408d-5a8b-4d89-b518-0f6f9ae3e346
📒 Files selected for processing (1)
docs/spikes/2026-06-20-dns-hostname-mechanism.md
| Does `*.localhost` wildcard hostname resolution work rootlessly (no per-invocation | ||
| root) on common Linux distributions targeted by `minimald` users — Ubuntu 22.04+, | ||
| Fedora 38+, Debian 12 (stable), and Arch Linux? Or does the alternative | ||
| `*.min.local` domain approach require a one-time resolver configuration step |
There was a problem hiding this comment.
*.min.internal may be better unless we are specifically hoping to integrate to mDNS/Bonjour?
There was a problem hiding this comment.
Great catch and just in the nick of time.
The bot fleet had diverged from the spec.
Claude says
The networking spec's plan is R5 "PTask hostnames in host DNS" → B5 "
*.localhost+ host-side proxy (or one-time/etc/resolver)" (plus a named gvproxy-webproxy + macOS PAC-file path), tagged "Needs decision (DNS) — zero-root path exists".
The load-bearing piece is the host-side proxy doing hostname→PTask routing, with resolution host-side — so it's systemd-agnostic (our sandboxes and microVMs have no systemd, and per the spec they never need to resolve anything; the host does). The TLD (.localhostvs.min.internal) is then just proxy/resolver config, not the mechanism.
We diverged in #500/#546 by narrowing B5 down to a systemd-resolved probe (R3.4), which both drops the host-side proxy and breaks in the no-systemd runtime. Re-aligning #500 to the spec's B5 host-side-proxy model —.min.internalis fully viable under it if preferred.
There was a problem hiding this comment.
There was a problem hiding this comment.
Adopting .min.internal per your call. Under the B5 host-side egress proxy the TLD is a free label (proxy routes by Host: header, no resolver), so no mDNS/Bonjour tie-in — .min.internal is the cleaner, semantically-honest choice for internal PTask services. Swapping it across the proxy/registry/tests/spec in #546 now.
|
__ |
The
docs/spikes/2026-06-20-dns-hostname-mechanism.mdspike (the*.localhost+ host-proxy DNS decision) merged in #487 is missing frommain— a later sdd-spec stale-base derivation reverted it (same class as norrietaylor/spectacles#317; cf. the #529 cleanup). #500 adopts this spike's finding, so the doc should be present.Restored verbatim from the #487 merge commit
6cc2dde. Docs-only.🤖 Generated with Claude Code
Summary by CodeRabbit
.localhostwith systemd-resolved configuration guidance for Linux distributions.