{
  "entities": [
    {
      "short_id": "",
      "name": "후드티1",
      "entity_type": "outlook",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 11
    },
    {
      "short_id": "C01",
      "name": "수리영",
      "entity_type": "character",
      "visible_shot_count": 30,
      "prompt_id_count": 42,
      "required_ref_count": 29,
      "generated_refs": 4
    },
    {
      "short_id": "C02",
      "name": "혜수",
      "entity_type": "character",
      "visible_shot_count": 7,
      "prompt_id_count": 10,
      "required_ref_count": 6,
      "generated_refs": 2
    },
    {
      "short_id": "C03",
      "name": "인우",
      "entity_type": "character",
      "visible_shot_count": 3,
      "prompt_id_count": 7,
      "required_ref_count": 3,
      "generated_refs": 2
    },
    {
      "short_id": "C04",
      "name": "김형사",
      "entity_type": "character",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 2
    },
    {
      "short_id": "C05",
      "name": "민숙",
      "entity_type": "character",
      "visible_shot_count": 4,
      "prompt_id_count": 5,
      "required_ref_count": 3,
      "generated_refs": 3
    },
    {
      "short_id": "C06",
      "name": "한국인 남성",
      "entity_type": "character",
      "visible_shot_count": 4,
      "prompt_id_count": 7,
      "required_ref_count": 4,
      "generated_refs": 2
    },
    {
      "short_id": "C07",
      "name": "남자 직원",
      "entity_type": "character",
      "visible_shot_count": 1,
      "prompt_id_count": 2,
      "required_ref_count": 1,
      "generated_refs": 2
    },
    {
      "short_id": "C08",
      "name": "한국인 여성",
      "entity_type": "character",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 3
    },
    {
      "short_id": "C09",
      "name": "검은 맹견",
      "entity_type": "character",
      "visible_shot_count": 2,
      "prompt_id_count": 3,
      "required_ref_count": 1,
      "generated_refs": 1
    },
    {
      "short_id": "C10",
      "name": "낯선 남자",
      "entity_type": "character",
      "visible_shot_count": 2,
      "prompt_id_count": 1,
      "required_ref_count": 1,
      "generated_refs": 2
    },
    {
      "short_id": "C11",
      "name": "한국인 남성 (각성 상태)",
      "entity_type": "character",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 1,
      "generated_refs": 2
    },
    {
      "short_id": "C12",
      "name": "검은 고양이",
      "entity_type": "character",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "L01",
      "name": "숲속 범죄 현장",
      "entity_type": "location",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L02",
      "name": "도시 뒷골목 범죄 현장",
      "entity_type": "location",
      "visible_shot_count": 2,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L03",
      "name": "다세대 빌라 옥탑방 외부 옥상·현관 앞",
      "entity_type": "location",
      "visible_shot_count": 5,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L04",
      "name": "옥탑방 내부",
      "entity_type": "location",
      "visible_shot_count": 10,
      "prompt_id_count": 5,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L05",
      "name": "해안가 도로",
      "entity_type": "location",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L06",
      "name": "유기견 보호원",
      "entity_type": "location",
      "visible_shot_count": 1,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L08",
      "name": "대형 마트 매장 내부",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L09",
      "name": "대형 마트 외부·앞",
      "entity_type": "location",
      "visible_shot_count": 2,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L10",
      "name": "옥탑방 건물 외부 계단",
      "entity_type": "location",
      "visible_shot_count": 1,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L11",
      "name": "옥탑방 건물 주변 골목·담장",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L12",
      "name": "해안가 버스정류장",
      "entity_type": "location",
      "visible_shot_count": 2,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L13",
      "name": "경찰서 사무실 내부",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L14",
      "name": "경찰서 외부",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L15",
      "name": "마트 총무과·CCTV실",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L16",
      "name": "PC방",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L17",
      "name": "포구·갯바위",
      "entity_type": "location",
      "visible_shot_count": 2,
      "prompt_id_count": 2,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L18",
      "name": "바다 위 어선 갑판",
      "entity_type": "location",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L19",
      "name": "어선 조타실 내부",
      "entity_type": "location",
      "visible_shot_count": 1,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "L20",
      "name": "바다·안개 해역과 어선 외관",
      "entity_type": "location",
      "visible_shot_count": 2,
      "prompt_id_count": 1,
      "required_ref_count": 0,
      "generated_refs": 0
    },
    {
      "short_id": "P03",
      "name": "석창포 잎",
      "entity_type": "prop",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P04",
      "name": "약초 달이는 냄비",
      "entity_type": "prop",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P05",
      "name": "휴대전화",
      "entity_type": "prop",
      "visible_shot_count": 5,
      "prompt_id_count": 10,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P08",
      "name": "전단지",
      "entity_type": "prop",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P09",
      "name": "원형 표식",
      "entity_type": "prop",
      "visible_shot_count": 4,
      "prompt_id_count": 7,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P10",
      "name": "구겨진 낡은 사진",
      "entity_type": "prop",
      "visible_shot_count": 4,
      "prompt_id_count": 10,
      "required_ref_count": 4,
      "generated_refs": 1
    },
    {
      "short_id": "P11",
      "name": "욕실 거울",
      "entity_type": "prop",
      "visible_shot_count": 1,
      "prompt_id_count": 2,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P12",
      "name": "액자 속 사진",
      "entity_type": "prop",
      "visible_shot_count": 1,
      "prompt_id_count": 2,
      "required_ref_count": 1,
      "generated_refs": 1
    },
    {
      "short_id": "P13",
      "name": "백팩",
      "entity_type": "prop",
      "visible_shot_count": 2,
      "prompt_id_count": 4,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P14",
      "name": "백팩에 매달린 인형",
      "entity_type": "prop",
      "visible_shot_count": 1,
      "prompt_id_count": 3,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P15",
      "name": "살인사건 현장 사진",
      "entity_type": "prop",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P16",
      "name": "서류 뭉치",
      "entity_type": "prop",
      "visible_shot_count": 0,
      "prompt_id_count": 0,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P17",
      "name": "메모지",
      "entity_type": "prop",
      "visible_shot_count": 1,
      "prompt_id_count": 2,
      "required_ref_count": 0,
      "generated_refs": 1
    },
    {
      "short_id": "P18",
      "name": "지도",
      "entity_type": "prop",
      "visible_shot_count": 1,
      "prompt_id_count": 1,
      "required_ref_count": 1,
      "generated_refs": 1
    }
  ],
  "safety_diff": {
    "broad_required_union": [
      "C01",
      "C02",
      "C03",
      "C04",
      "C05",
      "C06",
      "C07",
      "C08",
      "C09",
      "C10",
      "C11",
      "C12",
      "L01",
      "L02",
      "L03",
      "L03B01",
      "L03B02",
      "L03B03",
      "L04",
      "L04B02",
      "L04B04",
      "L04B05",
      "L04B07",
      "L04B08",
      "L04B09",
      "L05",
      "L06",
      "L06B01",
      "L08",
      "L08B02",
      "L09",
      "L09B01",
      "L10",
      "L10B01",
      "L11",
      "L12",
      "L13",
      "L14",
      "L14B01",
      "L15",
      "L15B01",
      "L16",
      "L17",
      "L18",
      "L18B01",
      "L18B02",
      "L19",
      "L19B02",
      "L20",
      "P03",
      "P04",
      "P05",
      "P08",
      "P09",
      "P10",
      "P11",
      "P12",
      "P13",
      "P14",
      "P15",
      "P16",
      "P17",
      "P18"
    ],
    "required_refs_only": [
      "C01",
      "C02",
      "C03",
      "C05",
      "C06",
      "C07",
      "C09",
      "C10",
      "C11",
      "L03B01",
      "L03B02",
      "L03B03",
      "L04B02",
      "L04B04",
      "L04B05",
      "L04B07",
      "L04B08",
      "L04B09",
      "L06B01",
      "L08B02",
      "L09B01",
      "L10B01",
      "L14B01",
      "L15B01",
      "L18B01",
      "L18B02",
      "L19B02",
      "P10",
      "P12",
      "P18"
    ],
    "audit_set": [
      "C04",
      "C08",
      "C12",
      "L01",
      "L02",
      "L03",
      "L04",
      "L05",
      "L06",
      "L08",
      "L09",
      "L10",
      "L11",
      "L12",
      "L13",
      "L14",
      "L15",
      "L16",
      "L17",
      "L18",
      "L19",
      "L20",
      "P03",
      "P04",
      "P05",
      "P08",
      "P09",
      "P11",
      "P13",
      "P14",
      "P15",
      "P16",
      "P17"
    ],
    "audit_set_with_t2i_usage": [
      "C08",
      "C12",
      "L01",
      "L02",
      "L03",
      "L04",
      "L05",
      "L12",
      "L17",
      "L20",
      "P05",
      "P09",
      "P11",
      "P13",
      "P14",
      "P17"
    ],
    "gate_blocking_ids": [],
    "warnings": {
      "out_of_scope_prompt_id_ids": [
        "L01",
        "L02",
        "L03",
        "L04",
        "L05",
        "L12",
        "L17",
        "L20"
      ],
      "prompt_id_only_prop_ids": [
        "P05",
        "P09",
        "P11",
        "P13",
        "P14",
        "P17"
      ],
      "expected_text_only_prompt_id_ids": [
        "C08",
        "C12"
      ]
    }
  },
  "gate": {
    "passed": true,
    "input_status": {
      "shot_selection": "ok",
      "shot_director": "ok",
      "scene_director": "ok",
      "shot_validator": "ok",
      "scene_detail": "ok"
    },
    "fail_reasons": [],
    "reason": "필수 입력 정상 + GATE blocking 집합 비어있음 (materialization risk 0) — broad union 제거 안전"
  },
  "project_id": "76212b49-bf96-45fb-8c56-cd8d8ae02dda",
  "episode_id": "f44339e6-1bd1-4d10-8a8f-2e30e5a1d36d",
  "cross_check": {
    "db_selected_still_id_count": {
      "C06": 7,
      "L01": 1,
      "L03": 1,
      "C05": 5,
      "L04": 5,
      "P09": 7,
      "C01": 42,
      "C09": 3,
      "P05": 10,
      "L05": 1,
      "C10": 1,
      "P13": 4,
      "P14": 3,
      "C02": 10,
      "L12": 1,
      "C12": 1,
      "P11": 2,
      "P12": 2,
      "C07": 2,
      "P17": 2,
      "P18": 1,
      "P10": 10,
      "L17": 2,
      "C03": 7,
      "L20": 1,
      "C08": 1,
      "L02": 1,
      "C11": 1
    },
    "checkpoint_prompt_id_count": {
      "C01": 42,
      "C02": 10,
      "C03": 7,
      "C05": 5,
      "C06": 7,
      "C07": 2,
      "C08": 1,
      "C09": 3,
      "C10": 1,
      "C11": 1,
      "C12": 1,
      "L01": 1,
      "L02": 1,
      "L03": 1,
      "L04": 5,
      "L05": 1,
      "L12": 1,
      "L17": 2,
      "L20": 1,
      "P05": 10,
      "P09": 7,
      "P10": 10,
      "P11": 2,
      "P12": 2,
      "P13": 4,
      "P14": 3,
      "P17": 2,
      "P18": 1
    },
    "id_set_divergence": []
  },
  "db_step_run_status": {
    "shot_selection": "completed",
    "shot_director": "completed",
    "scene_director": "completed",
    "shot_validator": "completed",
    "scene_detail": "completed"
  }
}