{
  "type": "object",
  "properties": {
    "queryId": {
      "type": "string",
      "description": "Server-side ID of this review query. With async=true, pass it to council_result."
    },
    "status": {
      "type": "string",
      "enum": [
        "running",
        "complete",
        "failed"
      ],
      "description": "Only present on async reviews: \"running\" means poll council_result with the queryId."
    },
    "synthesis": {
      "type": "string",
      "description": "Verdict-first moderator synthesis: ## Council Verdict (SHIP/NO-SHIP), ## Confirmed Findings (2+ reviewers agree), ## Dissents, ## Reviewer Verdicts. Absent while an async review is still running."
    },
    "consensusScore": {
      "type": [
        "number",
        "null"
      ],
      "description": "Cross-reviewer agreement score on the 0-100 scale. Absent while an async review is still running."
    },
    "perModelResponses": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Each reviewer model's raw independent review, keyed by model name. Absent while an async review is still running."
    },
    "modelMapping": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Anonymous reviewer label (M1..Mn) to model name mapping \u2014 how dissents are attributed."
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "modelId",
          "message"
        ],
        "additionalProperties": false
      },
      "description": "Per-reviewer failures, if any."
    },
    "focus": {
      "type": "string",
      "enum": [
        "bugs",
        "security",
        "performance",
        "architecture",
        "all"
      ],
      "description": "The review focus this synthesis was produced under."
    }
  },
  "required": [
    "focus"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}