{
  "schemaVersion": 1,
  "plane": "runtime",
  "documentationUrlTemplate": "https://docs.example.com/errors/{code}",
  "notes": "Public Runtime error catalog stub (Wave 32.5). Codes are stable machine contracts; messages may localize. No secrets.",
  "errors": [
    {
      "code": "validation.failed",
      "httpStatus": 400,
      "retryable": false,
      "summary": "Request validation failed.",
      "documentationUrl": "https://docs.example.com/errors/validation.failed"
    },
    {
      "code": "runtime.unauthorized",
      "httpStatus": 401,
      "retryable": false,
      "summary": "Missing or invalid Runtime credential / tenant context.",
      "documentationUrl": "https://docs.example.com/errors/runtime.unauthorized"
    },
    {
      "code": "runtime.forbidden",
      "httpStatus": 403,
      "retryable": false,
      "summary": "Operation forbidden (revoked / suspended / expired / not activatable).",
      "documentationUrl": "https://docs.example.com/errors/runtime.forbidden"
    },
    {
      "code": "runtime.not_found",
      "httpStatus": 404,
      "retryable": false,
      "summary": "Entity not found in tenant scope.",
      "documentationUrl": "https://docs.example.com/errors/runtime.not_found"
    },
    {
      "code": "runtime.conflict",
      "httpStatus": 409,
      "retryable": false,
      "summary": "Resource conflict (e.g. license bound to another device).",
      "documentationUrl": "https://docs.example.com/errors/runtime.conflict"
    },
    {
      "code": "runtime.rate_limited",
      "httpStatus": 429,
      "retryable": true,
      "summary": "Runtime rate limit exceeded.",
      "documentationUrl": "https://docs.example.com/errors/runtime.rate_limited"
    },
    {
      "code": "runtime.signing_failed",
      "httpStatus": 503,
      "retryable": true,
      "summary": "Signing key unavailable; fail-closed.",
      "documentationUrl": "https://docs.example.com/errors/runtime.signing_failed"
    },
    {
      "code": "runtime.not_implemented",
      "httpStatus": 501,
      "retryable": false,
      "summary": "Contract stub until handler is implemented.",
      "documentationUrl": "https://docs.example.com/errors/runtime.not_implemented"
    },
    {
      "code": "floating.pool_exhausted",
      "httpStatus": 409,
      "retryable": true,
      "summary": "Floating pool has no free seats.",
      "documentationUrl": "https://docs.example.com/errors/floating.pool_exhausted"
    },
    {
      "code": "floating.seat_conflict",
      "httpStatus": 409,
      "retryable": false,
      "summary": "Floating seat holder / idempotency conflict.",
      "documentationUrl": "https://docs.example.com/errors/floating.seat_conflict"
    },
    {
      "code": "floating.seat_not_found",
      "httpStatus": 404,
      "retryable": false,
      "summary": "Floating seat not found.",
      "documentationUrl": "https://docs.example.com/errors/floating.seat_not_found"
    },
    {
      "code": "floating.unauthorized",
      "httpStatus": 401,
      "retryable": false,
      "summary": "Floating AuthN / tenant context missing.",
      "documentationUrl": "https://docs.example.com/errors/floating.unauthorized"
    },
    {
      "code": "floating.forbidden",
      "httpStatus": 403,
      "retryable": false,
      "summary": "Floating operation forbidden.",
      "documentationUrl": "https://docs.example.com/errors/floating.forbidden"
    },
    {
      "code": "floating.degraded",
      "httpStatus": 503,
      "retryable": true,
      "summary": "Floating assist degraded; fail-closed for new checkout.",
      "documentationUrl": "https://docs.example.com/errors/floating.degraded"
    },
    {
      "code": "offline.unauthorized",
      "httpStatus": 401,
      "retryable": false,
      "summary": "Offline AuthN / tenant context missing.",
      "documentationUrl": "https://docs.example.com/errors/offline.unauthorized"
    },
    {
      "code": "offline.issue_failed",
      "httpStatus": 400,
      "retryable": false,
      "summary": "Offline request verification or issue failed.",
      "documentationUrl": "https://docs.example.com/errors/offline.issue_failed"
    },
    {
      "code": "offline.signing_failed",
      "httpStatus": 503,
      "retryable": true,
      "summary": "Offline signing key unavailable.",
      "documentationUrl": "https://docs.example.com/errors/offline.signing_failed"
    },
    {
      "code": "offline.not_found",
      "httpStatus": 404,
      "retryable": false,
      "summary": "Offline entity or request not found.",
      "documentationUrl": "https://docs.example.com/errors/offline.not_found"
    },
    {
      "code": "config.not_found",
      "httpStatus": 404,
      "retryable": false,
      "summary": "Runtime config document / revision missing.",
      "documentationUrl": "https://docs.example.com/errors/config.not_found"
    },
    {
      "code": "config.scope_mismatch",
      "httpStatus": 400,
      "retryable": false,
      "summary": "Config tenant/product/environment/device mismatch.",
      "documentationUrl": "https://docs.example.com/errors/config.scope_mismatch"
    },
    {
      "code": "config.version_unsupported",
      "httpStatus": 400,
      "retryable": false,
      "summary": "Config formatVersion unsupported.",
      "documentationUrl": "https://docs.example.com/errors/config.version_unsupported"
    },
    {
      "code": "config.crypto_unavailable",
      "httpStatus": 503,
      "retryable": true,
      "summary": "Config KMS/KeyProvider unavailable (fail-closed).",
      "documentationUrl": "https://docs.example.com/errors/config.crypto_unavailable"
    },
    {
      "code": "config.invalid_request",
      "httpStatus": 400,
      "retryable": false,
      "summary": "Runtime config invalid request.",
      "documentationUrl": "https://docs.example.com/errors/config.invalid_request"
    }
  ]
}
