{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://career-command-centre.local/schemas/run-result-v4.json",
  "title": "Career Centre Run Result",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "run_id", "status", "started_at", "completed_at", "request", "limits", "roles", "files", "validation_reports", "summary"],
  "properties": {
    "schema_version": {"const": "4.0"},
    "run_id": {"type": "string", "minLength": 1},
    "status": {"enum": ["SUCCESS", "SUCCESS_NO_PACK", "PARTIAL", "BLOCKED", "FAILED"]},
    "started_at": {"type": "string"},
    "completed_at": {"type": "string"},
    "request": {
      "type": "object",
      "additionalProperties": false,
      "required": ["search_requested", "application_packs_requested"],
      "properties": {
        "search_requested": {"type": "boolean"},
        "application_packs_requested": {"type": "array", "items": {"type": "string"}}
      }
    },
    "limits": {
      "type": "object",
      "additionalProperties": false,
      "required": ["max_displayed_roles", "max_apply_roles", "max_application_packs"],
      "properties": {
        "max_displayed_roles": {"type": "integer", "minimum": 1, "maximum": 20},
        "max_apply_roles": {"type": "integer", "minimum": 0, "maximum": 10},
        "max_application_packs": {"type": "integer", "minimum": 0, "maximum": 10}
      }
    },
    "roles": {
      "type": "array",
      "items": {"$ref": "role_dossier.schema.json"}
    },
    "files": {"type": "array", "items": {"type": "string"}},
    "validation_reports": {"type": "array", "items": {"type": "string"}},
    "summary": {"type": "string"}
  }
}
