Satellite rig runbook/setup hardening, NAS_HOST pinned to LAN IP per
mount contract, agent-mail daemon uv resolution, CLAUDE.md + brain
areas/pipeline notes, and function registry wiring for the new
usage/webhook/backup functions.
"direct exposure and experience, documentation, or a runbook" -- the
three ways knowledge transfers, Observability Engineering, Ch. 11
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The .env presence check ran after rsync --delete, so syncing from a
source checkout without a shadow .env stripped the service checkout's
live .env before the check could fire (hit on 2026-07-09; restored from
the sibling dev checkout). Refuse before the destructive step instead.
Document the sudo split in infra/central/README.md and the three-body
skill: verify-nas.sh proves the full NAS contract unprivileged (plist +
log-freshness liveness); sudo is reserved for installers, manual
resvport mounts, and the sync, whose password prompt is a deliberate
security boundary. Includes an optional read-only sudoers line for
system-domain launchctl print.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The daemon fires every 60s and its stdout log is world-readable, so a
recent mtime on nas-mounts.out.log proves the service is loaded and
running from an unprivileged shell. launchctl print on the system
domain stays as the root-only probe.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
verify-nas.sh now hard-fails when the com.joelclaw.central.nas-mounts
plist is missing (and checks the loaded system-domain service when run
as root). On 2026-07-09 both NFS mounts were live and tuned while the
plist was gone, so a reboot would have silently dropped them and the
verifier said all-ok.
nas-soak.ts NVMe sample metadata now reports 192.168.1.163:/volume2/data,
matching the live mount and THREE_BODY_SRC instead of the three-body
hostname, which MagicDNS resolves to the tailnet address.
Document the regression, reinstall command, and two-checkout hygiene in
skills/three-body/SKILL.md and the Flagg LAN NAS contract brain note.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>