{
  "type": "object",
  "properties": {
    "scene_index": {"type": "integer"},
    "shots": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "shot_index": {"type": "integer"},
          "changed": {"type": "boolean"},
          "revised_description": {
            "type": "string",
            "description": "changed=false면 원문 그대로, true면 한 찰나만 남긴 재작성본"
          },
          "reason": {
            "type": "string",
            "description": "changed=true면 간단 사유(한 문장), false면 빈 문자열"
          },
          "characters": {
            "type": "array",
            "items": {"type": "string"},
            "description": "이름 배열 (entity name 또는 description 의 raw 표현). 다운스트림 lookup 호환을 위해 항상 채울 것 — visible-human-action 인 shot 에서 빈 배열 금지."
          },
          "character_ids": {
            "type": "array",
            "items": {"type": "string"},
            "description": "short_id 배열 (Entity map 매핑 성공한 경우만). 매핑 실패 시 빈 배열 허용."
          }
        },
        "required": ["shot_index", "changed", "revised_description", "reason"],
        "additionalProperties": false
      }
    }
  },
  "required": ["scene_index", "shots"],
  "additionalProperties": false
}
