Admission saturation is no longer exposed as a dedicated routing signal
After the deferred-bootstrap change, the real admission limit is enforced by the ingress semaphore in src/ingress/sv1_ingress.rs, while src/api/routes.rs still derives /api/
health from handoff queue capacity, stats.len(), and global ProxyState. Because src/translator/downstream/accept_connection.rs drains the handoff queue into background init
tasks, the queue can look healthy even when ingress has already stopped admitting more downstreams.
This is not a liveness bug: a saturated proxy can still be healthy. The problem is that there is no endpoint that cleanly tells infrastructure “this task is alive, but it is
not currently willing to accept more miners.” If operators or load balancers need a routing/readiness signal that tracks real admission saturation, /api/health is no longer
sufficient on its own.
Admission saturation is no longer exposed as a dedicated routing signal
After the deferred-bootstrap change, the real admission limit is enforced by the ingress semaphore in src/ingress/sv1_ingress.rs, while src/api/routes.rs still derives /api/
health from handoff queue capacity, stats.len(), and global ProxyState. Because src/translator/downstream/accept_connection.rs drains the handoff queue into background init
tasks, the queue can look healthy even when ingress has already stopped admitting more downstreams.
This is not a liveness bug: a saturated proxy can still be healthy. The problem is that there is no endpoint that cleanly tells infrastructure “this task is alive, but it is
not currently willing to accept more miners.” If operators or load balancers need a routing/readiness signal that tracks real admission saturation, /api/health is no longer
sufficient on its own.