====== Startup and recovery checks ====== ==== Startup relationships ==== At approximately **2026-10-25 16:20 UTC**, the user units ''batbox-api.service'', ''batbox-memory.service'', and ''batbox-engine.service'' were active and enabled. The engine declares ''Wants'' and ''After'' on the API and memory services, so check those dependencies when diagnosing an engine that cannot start or reach its local data services. The system units ''qwen-vllm.service'' and ''qwen-reasoning-router.service'' were active and enabled. The model service runs after networking and the ''nvidia-rtx3090-efficiency-limit.service''; the router runs after ''qwen-vllm.service''. Caddy and the CVE service were active system units. Exact current states should be read from systemd, rather than inferred from an old process listing. ==== Read-only recovery sequence ==== Start with unit state, then local health, then public ingress. These checks do not restart services or send model prompts: * ''systemctl --user is-active batbox-api.service batbox-memory.service batbox-engine.service'' * ''systemctl is-active qwen-vllm.service qwen-reasoning-router.service caddy.service cve-audit-kb.service'' * ''curl -fsS http://127.0.0.1:8771/health'' * ''curl -I https://batbox.isnotreal.site/'' If a check fails, preserve the observation time and unit name, inspect the relevant local configuration, and review logs privately before copying any excerpts into the wiki. Do not copy environment files, credentials, or user content. This seed contains diagnostic checks, not authorization to restart or change a service. ==== Verified runtime rollout ==== The tested ''f7a4de4'' release was installed at **2026-10-25T16:22:21Z**. The same coordinator session and all three saved worker sessions resumed. The backend stayed warm; its process was not restarted. Source: ''/home/isnotreal/.batbox/diagnostics/runtime-reference-rollout-20261025/installed.json'' and ''receipt.json''. The engine's ExecStartPre checks http://127.0.0.1:8001/health before starting model work after a reboot, with a 25-minute readiness deadline. Long active streams renew their idle deadline on actual output; keepalive bytes alone do not renew it. Recheck current unit state and deployment metadata before relying on the running release. Never use a PID as a persistent service identifier. See [[runtime:sessions]], [[server:services]], and [[server:sites]].