{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Review Report",
  "description": "Structured multi-dimensional review output from the Review or Critic agent.",
  "type": "object",
  "required": [
    "asset_path",
    "asset_type",
    "status",
    "overall_score",
    "dimensions",
    "summary"
  ],
  "properties": {
    "asset_path": {
      "type": "string",
      "description": "Relative path to the reviewed asset."
    },
    "asset_type": {
      "type": "string",
      "enum": ["script", "image", "video"],
      "description": "Type of asset being reviewed."
    },
    "status": {
      "type": "string",
      "enum": ["PASS", "NEEDS_REVISION", "FAIL"],
      "description": "Overall verdict. PASS: score >= 3.5 and no dimension below 2.5. NEEDS_REVISION: score >= 2.5 but a dimension below 2.5. FAIL: score < 2.5."
    },
    "overall_score": {
      "type": "number",
      "minimum": 0,
      "maximum": 5,
      "description": "Weighted average score across all dimensions (0-5)."
    },
    "dimensions": {
      "type": "array",
      "description": "Individual scored dimensions.",
      "items": {
        "type": "object",
        "required": ["name", "score", "feedback"],
        "properties": {
          "name": {
            "type": "string",
            "description": "Dimension name, e.g. 'Camera Articulation', 'Format Compliance'."
          },
          "score": {
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "description": "Score for this dimension (0-5)."
          },
          "feedback": {
            "type": "string",
            "description": "Specific feedback for this dimension with concrete examples."
          }
        }
      }
    },
    "summary": {
      "type": "string",
      "description": "One-paragraph overall assessment."
    },
    "action_items": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Specific items to fix if NEEDS_REVISION or FAIL. Empty for PASS."
    }
  }
}
