rdmsm4x-changelog-20260902-0128-tyrell-build6-hub-daemon-exit75-selfscan-cli
rdmsm4x — Tyrell 0.2.0 build 6 on all six hosts; hub daemon 8fd31b1 (bind-race exit, self-inventory, agent-permissions CLI)
2026-09-02 01:05 → 2026-09-02 01:28:05 EDT · rdmsm4x · Claude Code (session tyrell-c5), unattended
Second iteration of the overnight loop (first: build 5, see the 01:03 changelog).
Changed
- tyrelld (
8fd31b1): on EADDRINUSE during a restart it writes one stderr line and exits 75; launchd's KeepAlive starts a fresh process. In-process rebinding was tried and rejected on measurement: after one failureECS0HTTPServer.start()reported.readyon a port another process still held (alive-but-deaf). FiledISSUE-20260902-06for ecs0lib's owner. - tyrelld server role now runs the launch inventory like every client, so the hub's own fleet row stops being three days stale (in progress since 01:23).
- install_service.zsh waits for 43117/43118 to close
after
bootoutand verifies for 30 s. Rollout: exit 0, Step 4 PASS on attempt 2, exactly one "daemon started" event (the 00:55 rollout produced three). tyrell agent-permissions[--json] [--role ROLE] [--actionable-only]— the CLI adapter FEAT-20260831-11 claimed on 08-31 but never committed. First run: 153 findings, antigravity's grants orphaned (its Caskroom path changed) — a real defect surfaced by the tool on its first use.- App build 6 on 6/6 hosts via the canary pipeline
(probe PASS, receipt accepted, fleet
pending=none failed=none) and local install (hash matched). Spokes: app running, 6 fleet rows each, hub bootstrap 0.5–0.7 s.
Measured while getting there
- A loopback placeholder (
nc -l 127.0.0.1 PORT) never conflicts with a wildcard reuse listener — the first "passing" bind test had tested nothing. A wildcard placeholder does conflict. - Copying a fresh DB file next to a previous run's
-wal/-shmcorrupts it on open (quick_check: "2nd reference to page"); the daemon then traps silently in release insidecounts(host:)—ISSUE-20260902-07.
Tickets
Resolved: ISSUE-20260902-05, FEAT-20260831-11, TASK-20260902-03. Opened: ISSUE-20260902-06 (ecs0lib), ISSUE-20260902-07. Still open, prioritised in SESSION-STATE.md: FEAT-20260902-01 (rescan cadence; needs the daytime spoke daemon rollout).
Undo
Hub daemon:
install_service.zsh --server --binary "~/Library/Application Support/Tyrell/releases/a1ed2fe/tyrelld"
(or 7662e97). App: per-host rollback dirs under
/Applications/.tyrell-rollbacks/.
No secrets recorded.