Files
unsupportedpastels 70147917c1 fix(gateway): a busy gateway can't be retired through the dashboard idle route
The gateway mounts the dashboard app on its own listener. There the idle
proof read only a standalone serve child's ledgers, never the gateway
runner, so with an agent running GET /api/health/idle answered idle and
POST /api/health/retirement prepare/commit took the retirement fence.
Afterwards dashboard RPCs, cron ticks and new admissions were refused
until restart while the gateway kept running.

When the app is mounted on a gateway (app.state.gateway_runner set), the
idle route now reports idle false with reason gateway_owns_lifecycle and
the retirement route refuses every action with the same reason, without
touching the fence. The gateway keeps retiring through its own idle exit.
Standalone serve behavior is unchanged.

Refs #145171 (EP-15)
2026-11-05 17:44:06 -05:00
..
…
…
…