Health Ready
Deep readiness check.
ready = database AND engine (the hard dependencies) → HTTP 503 when false, so an orchestrator healthcheck (Railway) refuses to promote a build whose startup failed (FAILURE-SURFACE P0-4: the old contract was HTTP 200 with ready: false in the body, which promoted broken builds).
checks.warm is reported to every caller: True when the warm-up is disabled, its readiness gate (Settings.concept_expander_warm_ready_gate_seconds, 0 = off by default) is 0, THIS process's warm run has finished, or the gate's time cap has elapsed. It turns ready false, and the answer into a 503, ONLY for the orchestrator's deploy healthcheck (_is_deploy_healthcheck: Railway probes from healthcheck.railway.app, at the start of a deployment only), because holding traffic promotion is the gate's one purpose. A process restarted after a crash takes traffic with no healthcheck at all, so every other reader is asking about a process that is already serving and gets ready: true with checks.warm: false. The wait is bounded by the cap in every case, including a warm run that never starts. See _resolve_warm_check.
checks.embedding is a LIVE vendor call (cached 60 s — see _probe_embedding). It does NOT gate ready: a dead embedding vendor yields HTTP 200 with degraded: true so the fix for a vendor outage can still be deployed during the outage, and external probes alert on degraded instead. Probes must assert ready && !degraded.
Request
- Base URL: https://core.mnemoverse.com
- URL: https://core.mnemoverse.com/api/v1/health/ready
- Auth: none required
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.