Health checks
Health checks answer one operator question fast: is this BMO runtime healthy, and if not, which subsystem is degraded? The feature exposes one shared posture family across CLI, TUI, HTTP, native agent tools, and MCP without changing the legacy liveness route.
Surfaces
Section titled “Surfaces”| Surface | Purpose |
|---|---|
bmo config show-health | Shell/operator readout; attempts live local attach, falls back only when no compatible runtime is available, and returns attached-runtime read failures explicitly |
/health | Live in-process TUI readout using the shared text renderer |
GET /v1/health/posture | Canonical JSON posture (passing / warning / critical) |
get_health_check_status | Native agent parity surface |
bmo_get_health_check_status | MCP parity twin |
GET /v1/health | Liveness-only smoke route, intentionally not the full posture family |
What the posture contains
Section titled “What the posture contains”- Aggregate lifecycle status:
passing,warning, orcritical - Explicit truth boundary:
sourceandruntime_attached - Per-subsystem rows with sticky-holding warnings
- Bounded recent failure count and metadata-only recent ring
- Shutdown-phase visibility when present
Truth boundary
Section titled “Truth boundary”The shell surface can run out of process, so it tells the truth about that:
source = "live_runtime"when it attached to a compatible local runtimesource = "detached_projection"when no live runtime was available
That prevents a fresh shell process from being mistaken for live subsystem evidence from another process.