9b9f0625c9
ssh exiting 0 is not proof the capture is usable — the inspect script can emit nothing and both refresh scripts would mv that over a good system-details.txt and report 'ok (0 bytes)'. Every reader tests the snapshot with -s, so the writer was producing an artifact its own readers call invalid: a guard whose test disagrees with its writer's contract has quietly stopped guarding. Prompted by brokkr-smithy-dev hitting the same shape from the other side (a -s test against a sentinel written with touch, a precondition that could never pass). - empty capture -> refused, previous snapshot kept, host counted as failed (exit 1) - capture under 1/4 of the previous -> promoted but flagged, since a host can legitimately shed services and the script should not guess - header + CLAUDE.md contract lines corrected to say what is actually guaranteed - verified red (empty inspect -> FAIL, snapshot intact, rc=1) then green (real host -> ok 6727 bytes)
nh3-dev
NH3-site developer box — 10.100.10.50 (WireGuard-reachable from the NH3
subnet). General-purpose dev VM that hosts agent-fleet sidecars and live Claude
Code sessions; not a Docker-stack host in the stacks/ sense.
Reach: ssh 10.100.10.50 (as lkraven), or the dedicated agent identity
ssh -i ~/.ssh/infra-ops_ed25519 infra-ops@10.100.10.50 (NOPASSWD sudo).
infra-ops bootstrapped here 2026-06-04 (see [reference_infra_ops_sudo_identity]
in auto-memory). Note: Claude Code sessions often run natively on this box, so
local Bash already executes here — no SSH-to-self needed for non-privileged work.
What runs here
- NH3 egress proxy — RETIRED 2026-09-06 (replaced by headscale exit nodes;
danteddisabled, config.retired). Was: durable internal-only SOCKS5socks5h://10.100.10.50:1080(dante, ACL'd to the WG net). Residential egress for colo services gated on their datacenter IP (e.g. YouTube bot-gate). Runbook + setup committed; consumers point*_PROXYat it. - ttyd fleet driver-seat — web/iPad seat into the zellij
Claudesession (ttyd behind Caddy; OSC52 clipboard shim). User systemd services under~/.config. - mead-hall — Bifrost tool-provider sidecar (
:5173), CI-deployed fromvh/mead-hall. - bloom_music dev —
~/development/bloom_music; itsweb/test harness uses Playwright headless Chromium for OSMD browser-geometry assertions. - The Booth — ephemeral media drop board (
:8090,booth.service), from eshpfiservices/booth/. Lets CC sessions surface A/B renders + smoke results (and browser uploads for pickup) to the operator; 24h TTL, Homepage-linked. Since 2026-09-09 it also carries asks — a session poses a multiple-choice question in a booth, the operator answers a radio form + notes in the browser, and the pick lands as an answer sidecar the session reads (booth ask/booth answer --wait). ⚠ TheboothCLI is on PATH via~/.local/bin/booth→services/booth/scripts/booth, symlinked 2026-09-09; before that it was on no PATH at all, so every session following the global link-board convention was hittingcommand not foundunless it used the full path.~/.zshenvputs~/.local/binin PATH for non-interactivessh nh3-dev '<cmd>'too. - jackdaw-compose — JackDAW AI Composer
/composebackend (:8787,jackdaw-compose.service), a thin statelessbun server/index.tsfrom~/development/jackdaw→ LiteLLMgen. Origin-gated (INV-BK04/BK05), reached same-origin via the:4500bench's/composeproxy. Hosted for jackdaw-dev (their code; the model endpoint + key live in server env only — unit is0600, not committed).
Box-wide Playwright / Chromium (2026-06-04)
Available to every user/project on this box — no per-home playwright install:
- System shared-libs: apt-installed via
playwright install-deps chromium(Debian-12 set + xvfb), global. - Browser binaries: shared
/opt/ms-playwright(chromium-1223 + headless-shell + ffmpeg), root-owned, world-readable. Installed viainfra-ops. - Discovery:
PLAYWRIGHT_BROWSERS_PATH=/opt/ms-playwrightset globally in/etc/environment(PAM/all sessions) +/etc/profile.d/playwright-browsers.sh(login shells). A project justnpm i playwright(skip-browser-download is fine) and resolves the shared binary; verified launching headless from/optas a normal user. - To add more browsers / bump:
ssh infra-ops@10.100.10.50 'sudo env PLAYWRIGHT_BROWSERS_PATH=/opt/ms-playwright npx -y playwright install <browser>'.
Notes
- PFI-owned Linux — in scope for
infra-opsmanagement (apt, systemctl, service lifecycle). Added to the fleet bootstrap's Tier 1. - OS: Debian 12 (bookworm). See
system-details.txtfor the latest snapshot (scripts/refresh-server-info.sh nh3-dev). - Not in the colo Docker-stack topology — no
/opt/docker/composedeploy target; workloads are systemd services + dev checkouts. - Retired (2026-06-08):
volva.service+heid.serviceuser systemd units removed. Heid/Volva were re-architected from Python systemd daemons (volva run/heid runpollers) into Claude Code session orchestrators (heid commit12aa5a9); the~/development/volvadir + venvs are gone.volva.servicehad been crash-looping203/EXEC. Cleanup done by infra-ops at heid's request.