Skip to content

health.ready

Can this process serve traffic: the registry and the index it built at start-up, already resident, and how the layer read. Only local initialisation — never an external provider, a database or another service, because a readiness check that probes a dependency fails a deployment for something that is not this process.

Can this process serve traffic: the registry and the index it built at start-up, already resident, and how the layer read. Only local initialisation — never an external provider, a database or another service, because a readiness check that probes a dependency fails a deployment for something that is not this process.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCP—
HTTPGET /api/v1/ready operationId health.ready
command line—

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · Readiness

The answer to "can this process serve traffic": the local initialisation a request would need, and nothing beyond this process. A readiness check that grew a dependency probe fails a deployment because an unrelated service is down.
propertytyperequireddescription
capabilities integer yes How many capabilities the registry holds; zero would mean nothing to serve.
commit string yes The commit this executable was built from, or unknown; the same value health.live answers.
dirty boolean | null no Whether the build's tree was dirty; null when the build did not know.
layer reference yes Whether the layer read cleanly. A degraded layer is still served — the diagnostics are the point — so this reports rather than refuses.
objects integer yes How many objects the index holds. Read from the index this process built at start-up: it is already in memory, and reading it walks nothing.
ready boolean yes Whether every part below is in place.
reasons array no Every reason this answer is not a plain yes, as code: words. lease_lost and stale make ready false: another process holds this checkout's lease, or this one serves code that is gone. layer_degraded does not: the layer is served with its diagnostics, and a client decides whether that is enough.
stale string | null no Why this process is serving code that is no longer on disk: the executable it was started from has been replaced or removed since. Present, ready is false — a server answering with yesterday's code says so in the place it says it is ready, to a client holding nothing but this answer (I1502).
version string yes This executable's version.
JSON Schema
{
  "$defs": {
    "HealthStatus": {
      "description": "Where one dimension of the system stands. Ordered by severity, so the worst check\ndecides the whole.",
      "oneOf": [
        {
          "const": "ok",
          "description": "The engine that decides this dimension is satisfied.",
          "type": "string"
        },
        {
          "const": "warn",
          "description": "Nothing is broken and something is worth looking at.",
          "type": "string"
        },
        {
          "const": "fail",
          "description": "The engine that decides this dimension is not satisfied.",
          "type": "string"
        },
        {
          "const": "unknown",
          "description": "This process cannot decide it, and says so rather than reporting `ok`.",
          "type": "string"
        }
      ]
    }
  },
  "description": "The answer to \"can this process serve traffic\": the local initialisation a request\nwould need, and nothing beyond this process. A readiness check that grew a dependency\nprobe fails a deployment because an unrelated service is down.",
  "properties": {
    "capabilities": {
      "description": "How many capabilities the registry holds; zero would mean nothing to serve.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "commit": {
      "description": "The commit this executable was built from, or `unknown`; the same value `health.live`\nanswers.",
      "type": "string"
    },
    "dirty": {
      "description": "Whether the build's tree was dirty; `null` when the build did not know.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "layer": {
      "$ref": "#/$defs/HealthStatus",
      "description": "Whether the layer read cleanly. A degraded layer is still served — the diagnostics\nare the point — so this reports rather than refuses."
    },
    "objects": {
      "description": "How many objects the index holds. Read from the index this process built at\nstart-up: it is already in memory, and reading it walks nothing.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "ready": {
      "description": "Whether every part below is in place.",
      "type": "boolean"
    },
    "reasons": {
      "description": "Every reason this answer is not a plain yes, as `code: words`. `lease_lost` and\n`stale` make `ready` false: another process holds this checkout's lease, or this one\nserves code that is gone. `layer_degraded` does not: the layer is served with its\ndiagnostics, and a client decides whether that is enough.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "stale": {
      "description": "Why this process is serving code that is no longer on disk: the executable it was\nstarted from has been replaced or removed since. Present, `ready` is false — a server\nanswering with yesterday's code says so in the place it says it is ready, to a client\nholding nothing but this answer (I1502).",
      "type": [
        "string",
        "null"
      ]
    },
    "version": {
      "description": "This executable's version.",
      "type": "string"
    }
  },
  "required": [
    "ready",
    "version",
    "commit",
    "capabilities",
    "objects",
    "layer"
  ],
  "title": "Readiness",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directcovered1default
httpcovered1default

Searches the titles and descriptions of every page this site publishes.