{
  "status": "completed",
  "applicable_count": 4,
  "completed_count": 4,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "e0ce5a21cab5c061",
  "data": {
    "plans": {
      "bg_forest": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_back_alley": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_crime_scene": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_rooftop_unit": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S4_Shot1"
              ],
              "bg_id": "cb_rooftop_day_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "day_normal",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S10_Shot4",
                "S10_Shot5"
              ],
              "bg_id": "cb_rooftop_night_intrusion_door_ajar",
              "depends_on_bg": [
                "cb_rooftop_day_normal"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "night_intrusion_door_ajar_shadow",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S17_Shot1"
              ],
              "bg_id": "cb_rooftop_predawn_light_on",
              "depends_on_bg": [
                "cb_rooftop_night_intrusion_door_ajar"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "predawn_light_on_quiet",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S11_Shot2",
                "S11_Shot4"
              ],
              "bg_id": "cb_stairs_night_return_door_ajar",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_exterior_stairs_courtyard"
              ],
              "loc_id": "L11",
              "state_label": "night_return_door_ajar",
              "sub_location": "exterior_stairs_courtyard"
            },
            {
              "applies_to_shots": [
                "S13_Shot1",
                "S13_Shot3",
                "S13_Shot6"
              ],
              "bg_id": "cb_stairs_night_police_arrival_sirens",
              "depends_on_bg": [
                "cb_stairs_night_return_door_ajar"
              ],
              "depends_on_fp": [
                "fp_exterior_stairs_courtyard"
              ],
              "loc_id": "L11",
              "state_label": "night_police_arrival_sirens",
              "sub_location": "exterior_stairs_courtyard"
            },
            {
              "applies_to_shots": [
                "S5_Shot2",
                "S5_Shot5",
                "S5_Shot7"
              ],
              "bg_id": "cb_living_day_herb_tea_news",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_living_room_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "day_herb_tea_news",
              "sub_location": "living_room_kitchen"
            },
            {
              "applies_to_shots": [
                "S14_Shot9"
              ],
              "bg_id": "cb_living_night_clean_reset",
              "depends_on_bg": [
                "cb_living_day_herb_tea_news"
              ],
              "depends_on_fp": [
                "fp_living_room_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "night_clean_reset",
              "sub_location": "living_room_kitchen"
            },
            {
              "applies_to_shots": [
                "S18_Shot14"
              ],
              "bg_id": "cb_living_day_photo_vision",
              "depends_on_bg": [
                "cb_living_night_clean_reset"
              ],
              "depends_on_fp": [
                "fp_living_room_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "day_photo_face_distortion_vision",
              "sub_location": "living_room_kitchen"
            },
            {
              "applies_to_shots": [
                "S25_Shot3",
                "S25_Shot8",
                "S27_Shot1",
                "S27_Shot2"
              ],
              "bg_id": "cb_living_dusk_ransacked_window_open",
              "depends_on_bg": [
                "cb_living_day_photo_vision"
              ],
              "depends_on_fp": [
                "fp_living_room_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "dusk_ransacked_window_open_wind_door",
              "sub_location": "living_room_kitchen"
            },
            {
              "applies_to_shots": [
                "S12_Shot6"
              ],
              "bg_id": "cb_daughter_room_night_blood_footprints",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "night_blood_footprints_to_curtain",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S12_Shot9",
                "S12_Shot16"
              ],
              "bg_id": "cb_daughter_room_night_body_red_mark",
              "depends_on_bg": [
                "cb_daughter_room_night_blood_footprints"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "night_body_blood_red_mark",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S14_Shot4",
                "S14_Shot5"
              ],
              "bg_id": "cb_daughter_room_night_clean_reset",
              "depends_on_bg": [
                "cb_daughter_room_night_body_red_mark"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "night_clean_reset_toy_shifted",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S25_Shot4"
              ],
              "bg_id": "cb_daughter_room_dusk_red_mark_photo_pinned",
              "depends_on_bg": [
                "cb_daughter_room_night_clean_reset"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "dusk_ransacked_red_mark_photo_pinned",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot2"
              ],
              "bg_id": "cb_master_bedroom_dawn_waiting_empty",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_master_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "dawn_waiting_empty",
              "sub_location": "master_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot10"
              ],
              "bg_id": "cb_bathroom_day_mirror_red_mark_vision",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_bathroom"
              ],
              "loc_id": "L05",
              "state_label": "day_mirror_red_mark_vision",
              "sub_location": "bathroom"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_rooftop_exterior",
              "scope": "rooftop exterior with water tank, clothesline, platform, iron door and window",
              "sub_location": "rooftop_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_exterior_stairs_courtyard",
              "scope": "villa courtyard, street edge, exterior stairs and rooftop landing",
              "sub_location": "exterior_stairs_courtyard"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_living_room_kitchen",
              "scope": "small rooftop unit living room with kitchenette, table, TV, entry and window",
              "sub_location": "living_room_kitchen"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_daughter_bedroom",
              "scope": "daughter bedroom with bed, curtain, wall, backpack and toys",
              "sub_location": "daughter_bedroom"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_master_bedroom",
              "scope": "main bedroom with bed used for waiting overnight",
              "sub_location": "master_bedroom"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_bathroom",
              "scope": "compact bathroom with mirror and tiled wall",
              "sub_location": "bathroom"
            }
          ],
          "gen_order": [
            "fp_rooftop_exterior",
            "fp_exterior_stairs_courtyard",
            "fp_living_room_kitchen",
            "fp_daughter_bedroom",
            "fp_master_bedroom",
            "fp_bathroom",
            "cb_rooftop_day_normal",
            "cb_rooftop_night_intrusion_door_ajar",
            "cb_rooftop_predawn_light_on",
            "cb_stairs_night_return_door_ajar",
            "cb_stairs_night_police_arrival_sirens",
            "cb_living_day_herb_tea_news",
            "cb_living_night_clean_reset",
            "cb_living_day_photo_vision",
            "cb_living_dusk_ransacked_window_open",
            "cb_daughter_room_night_blood_footprints",
            "cb_daughter_room_night_body_red_mark",
            "cb_daughter_room_night_clean_reset",
            "cb_daughter_room_dusk_red_mark_photo_pinned",
            "cb_master_bedroom_dawn_waiting_empty",
            "cb_bathroom_day_mirror_red_mark_vision"
          ],
          "group_id": "bg_rooftop_unit",
          "rationale_summary": "옥상/계단/실내 주요 방을 분리하고, 피·붉은 원·정리됨·난장판 같은 사건상태는 별도 배경으로 체인화."
        }
      },
      "bg_coastal_road": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_animal_shelter_yard": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_commercial_street": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_supermarket": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S8_Shot4"
              ],
              "bg_id": "bg_store_sales_floor_dusk_busy_exit_visible",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_store_sales_floor"
              ],
              "loc_id": "L09",
              "state_label": "dusk_busy_exit_visible",
              "sub_location": "store_sales_floor"
            },
            {
              "applies_to_shots": [
                "S8_Shot5"
              ],
              "bg_id": "bg_entrance_exterior_dusk_neon_streetlamp",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_entrance_exterior"
              ],
              "loc_id": "L09",
              "state_label": "dusk_neon_streetlamp",
              "sub_location": "entrance_exterior"
            },
            {
              "applies_to_shots": [
                "S19_Shot1",
                "S19_Shot4",
                "S19_Shot6"
              ],
              "bg_id": "bg_entrance_exterior_morning_quiet_cctv_visible",
              "depends_on_bg": [
                "bg_entrance_exterior_dusk_neon_streetlamp"
              ],
              "depends_on_fp": [
                "fp_entrance_exterior"
              ],
              "loc_id": "L09",
              "state_label": "morning_quiet_cctv_visible",
              "sub_location": "entrance_exterior"
            },
            {
              "applies_to_shots": [
                "S20_Shot2",
                "S20_Shot5"
              ],
              "bg_id": "bg_security_office_day_cctv_dark_section",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_security_office"
              ],
              "loc_id": "L14",
              "state_label": "day_cctv_monitor_dark_section",
              "sub_location": "security_office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_store_sales_floor",
              "scope": "large supermarket sales floor near entrance and aisles",
              "sub_location": "store_sales_floor"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_entrance_exterior",
              "scope": "supermarket entrance frontage with streetlamp and exterior CCTV",
              "sub_location": "entrance_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_security_office",
              "scope": "administrative security office with CCTV workstation",
              "sub_location": "security_office"
            }
          ],
          "gen_order": [
            "fp_store_sales_floor",
            "fp_entrance_exterior",
            "fp_security_office",
            "bg_store_sales_floor_dusk_busy_exit_visible",
            "bg_entrance_exterior_dusk_neon_streetlamp",
            "bg_entrance_exterior_morning_quiet_cctv_visible",
            "bg_security_office_day_cctv_dark_section"
          ],
          "group_id": "bg_supermarket",
          "rationale_summary": "매장 내부, 외부 입구, 총무과는 별도 공간. 외부는 해질녘 전화와 아침 CCTV 확인 상태로 구분, 총무과는 어두운 CCTV 화면이 핵심."
        }
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S16_Shot3",
                "S16_Shot5"
              ],
              "bg_id": "bg_office_night_duty_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_office_interior"
              ],
              "loc_id": "L13",
              "state_label": "night_duty_normal",
              "sub_location": "office_interior"
            },
            {
              "applies_to_shots": [
                "S21_Shot5",
                "S21_Shot6"
              ],
              "bg_id": "bg_office_day_empty_case_photos_on_desk",
              "depends_on_bg": [
                "bg_office_night_duty_normal"
              ],
              "depends_on_fp": [
                "fp_office_interior"
              ],
              "loc_id": "L13",
              "state_label": "day_empty_case_photos_on_desk",
              "sub_location": "office_interior"
            },
            {
              "applies_to_shots": [
                "S21_Shot10"
              ],
              "bg_id": "bg_office_day_empty_location_result_on_monitor",
              "depends_on_bg": [
                "bg_office_day_empty_case_photos_on_desk"
              ],
              "depends_on_fp": [
                "fp_office_interior"
              ],
              "loc_id": "L13",
              "state_label": "day_empty_location_result_on_monitor",
              "sub_location": "office_interior"
            },
            {
              "applies_to_shots": [
                "S22_Shot2"
              ],
              "bg_id": "bg_exterior_entrance_day_bicycle_departure",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_exterior_entrance"
              ],
              "loc_id": "L15",
              "state_label": "day_bicycle_departure",
              "sub_location": "exterior_entrance"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_office_interior",
              "scope": "police office desks, duty monitor area, detective desk with documents",
              "sub_location": "office_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_exterior_entrance",
              "scope": "police station entrance exterior with bicycle parking and departure path",
              "sub_location": "exterior_entrance"
            }
          ],
          "gen_order": [
            "fp_office_interior",
            "fp_exterior_entrance",
            "bg_office_night_duty_normal",
            "bg_office_day_empty_case_photos_on_desk",
            "bg_office_day_empty_location_result_on_monitor",
            "bg_exterior_entrance_day_bicycle_departure"
          ],
          "group_id": "bg_police_station",
          "rationale_summary": "사무실 내부와 외부 입구 2개 공간. 내부는 밤 당직, 낮 사건사진, 좌표 모니터 표시를 플롯 핵심 상태로 분리."
        }
      },
      "bg_coastal_bus_stop": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_pc_room": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_harbor": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_open_sea": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S28_Shot1",
                "S28_Shot4",
                "S28_Shot5"
              ],
              "bg_id": "bg_deck_dusk_at_sea",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_boat_deck"
              ],
              "loc_id": "L19",
              "state_label": "dusk_at_sea",
              "sub_location": "boat_deck"
            },
            {
              "applies_to_shots": [
                "S29_Shot4",
                "S29_Shot6",
                "S29_Shot11"
              ],
              "bg_id": "bg_wheelhouse_dusk_red_circle_marks",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_wheelhouse"
              ],
              "loc_id": "L20",
              "state_label": "dusk_red_circle_marks",
              "sub_location": "wheelhouse"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_boat_deck",
              "scope": "small fishing boat open deck and exterior working area",
              "sub_location": "boat_deck"
            },
            {
              "depends_on_fp": [
                "fp_boat_deck"
              ],
              "fp_id": "fp_wheelhouse",
              "scope": "compact wheelhouse connected to the deck",
              "sub_location": "wheelhouse"
            }
          ],
          "gen_order": [
            "fp_boat_deck",
            "fp_wheelhouse",
            "bg_deck_dusk_at_sea",
            "bg_wheelhouse_dusk_red_circle_marks"
          ],
          "group_id": "bg_fishing_boat",
          "rationale_summary": "갑판과 조타실은 별도 공간이라 2개 평면. 조타실 벽의 붉은 원 표식은 반전 단서라 state_label에 반영."
        }
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "555eb292-9dca-4703-ae66-5fce2ebbb8da",
  "resolved_model": "gpt",
  "updated_at": "2026-05-07T06:43:34.354021+00:00",
  "project_config_snapshot": {}
}