← ClaudeAtlas

ainb-fleetdaemonslisted

Runtime-health view of the four fleet daemons — phone bridge, notifyd, ATC, and the fleet auto-continue daemon — in one table. Each row reports state (running / stopped / unknown), pid, uptime, last activity, error count, and a HEALTH reason that distinguishes a clean stop from a crash (stale heartbeat) or a pid-recycle. Use this when you need to answer "are my background daemons actually alive?" — not just installed, but serving. Default output: a fixed-width text table. Pass --format json for tooling.
stevengonsalvez/agents-in-a-box · ★ 22 · AI & Automation · score 78
Install: claude install-skill stevengonsalvez/agents-in-a-box
# ainb fleet:daemons — daemon health view The runtime-health answer for the fleet's four background daemons. Reads the on-disk liveness signals each daemon already maintains and renders one typed row per daemon. The same aggregator (`fleet::daemons::collect`) backs the TUI Daemons screen, so the CLI and the TUI can never drift. This is the question `ainb fleet bridge status` could never answer: that verb reports only **install** state. `daemons` reports whether the process is actually **running and serving** right now — a crashed-but-installed bridge shows `stopped` with a stale-heartbeat reason here. ## The four daemons | daemon | id | how it's probed | |---|---|---| | **phone bridge** | `bridge` | heartbeat file (`~/.agents-in-a-box/daemons/bridge.json`) + pid-identity cross-check | | **notifyd** | `notifyd` | PID-file liveness + bound Unix socket + sqlite DB file present | | **ATC** | `atc` | mode-dependent: in `full`, the most-recently-beating instance's `heartbeat-state.json` (timer-driven; no resident pid); in `lite`, the scan loop's own heartbeat + pid | | **fleet daemon** | `fleet-daemon` | heartbeat file + pid-identity cross-check — **conditional row**, see below | Rows are emitted in this exact order (bridge, notifyd, ATC, then the fleet daemon when it has a row), even when every daemon is stopped — so "everything stopped" is a legible table, never an empty one. **The fleet daemon is a conditional row.** ATC is the fleet's supervisor and the standalone daemon