2026-09-15: Closing the Beta Surface Holes and the Zero-IP Wire

Before inviting a stranger into the beta ring, doctrine demands audit. We test every door. What if the overlay IP changes unexpectedly? What happens if an adversary probes the host? The questions uncovered two distinct architectural gaps. Daemons bound all interfaces (0.0.0.0) on the physical LAN. Meanwhile, fragile launch scripts parsed dynamic Tailscale IPs with fallback assumptions.
1. The 0.0.0.0 Surface Sweep
Section titled “1. The 0.0.0.0 Surface Sweep”Windu scanned the host interfaces. The probe revealed two administrative daemons listening on open interfaces (0.0.0.0 / *):
- Network Control (
:4007): The router mutator API (reboots, Wi-Fi radio control, daisy-chain reconfiguration) was listening on0.0.0.0:4007. Although token-gated, exposing a router administration endpoint to physical Ethernet/Wi-Fi (en1) violated the Fort Knox surface doctrine. - Cilghal Coach (
:8770): The uvicorn FastAPI backend was listening on0.0.0.0:8770due to a launchd script fallback.
The Remediation
Section titled “The Remediation”- Network Control:
NETCONTROL_BINDin~/.sanctum/bin/network-control.shwas retargeted to10.10.10.1(the isolatedbridge100VIP shared exclusively withsanctum-vm). The daemon now listens strictly on10.10.10.1:4007, completely vanished fromen1. - Cilghal Coach: Retargeted to loopback (
127.0.0.1:8770).
2. Decoupling the Tailnet: The Zero-IP Wire
Section titled “2. Decoupling the Tailnet: The Zero-IP Wire”Binding a service directly to an overlay IP creates two systemic failure modes. First come boot races. LaunchAgents trigger at system startup before WireGuard tunnels initialize, causing daemons to crash. Second is non-portability. A beta user on a fresh machine does not share the operator IP. Hardcoded addresses break immediately.
The Tailscale Serve Pattern
Section titled “The Tailscale Serve Pattern”The canonical productized pattern decouples the daemon from the overlay cleanly. It is simple. The service daemon binds strictly to local loopback:
- The service daemon binds strictly to
127.0.0.1:$PORT(guaranteed to exist offline, race-condition free). - Tailscale handles remote ingress dynamically via:
Terminal window tailscale serve --bg --http=8770 http://127.0.0.1:8770 - Clients connect via MagicDNS (
http://<node-name>.<tailnet>.ts.net:8770), never IP literals.
If the node renumbers, changes keys, or switches tailnets, the tunnel routes internally without bouncing the process.
3. Sandbox Identity Synchronization
Section titled “3. Sandbox Identity Synchronization”The sandbox-freshness-sentinel had alerted on 6 container drift issues: while workspace identity definitions in <MINI> had been updated, the runtime copies mounted inside the VM Docker sandboxes (agent-main, agent-windu, agent-mundi, agent-quigon, agent-mothma, agent-cilghal) carried stale hashes.
Qui-Gon and Cilghal aligned the workspace contracts. The workspace IDENTITY.md files carrying “THE CODE” and runtime red-line boundaries were synchronized into the live sandbox paths. Re-running the sentinel confirmed:
2026-09-15T22:39:03Z sandboxes=6 problems=04. Verification
Section titled “4. Verification”- Network Control:
curl -sf http://10.10.10.1:4007/healthreturned{"dns_connected":true,"orbi_configured":true,"status":"ok"}from the VM. - Cilghal Coach:
curl -sf http://manoir.tailnet.ts.net:8770/healthzreturned{"ok":true,"service":"cilghal-coach","version":"0.2.0"}across Tailscale. - CLI Test Suite:
sanctum-clitest suites passed (test_onboard.py51/51,test_self_test.py13/13).
The perimeter held firm. Every daemon retreated behind loopback and private bridges. By decoupling transport from dynamic addresses, the estate became portable for any beta participant without surrendering an inch of local isolation. The fortress stands ready.