{
  "status": "completed",
  "applicable_count": 5,
  "completed_count": 5,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "e0ce5a21cab5c061",
  "data": {
    "plans": {
      "bg_forest": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_city_alley": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_outdoor_crime_scene": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_rooftop_villa_unit": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S4_Shot1"
              ],
              "bg_id": "bg_rooftop_exterior_day_overview",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "day_overview",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S10_Shot2",
                "S10_Shot4"
              ],
              "bg_id": "bg_rooftop_exterior_night_intrusion_door_shadow",
              "depends_on_bg": [
                "bg_rooftop_exterior_day_overview"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "night_intrusion_door_shadow",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S17_Shot1"
              ],
              "bg_id": "bg_rooftop_exterior_dawn_light_on_cat",
              "depends_on_bg": [
                "bg_rooftop_exterior_night_intrusion_door_shadow"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "dawn_light_on_cat",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S11_Shot2"
              ],
              "bg_id": "bg_courtyard_stairs_night_urgent_arrival",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_courtyard_stairs"
              ],
              "loc_id": "L05",
              "state_label": "night_urgent_arrival",
              "sub_location": "courtyard_stairs"
            },
            {
              "applies_to_shots": [
                "S11_Shot4"
              ],
              "bg_id": "bg_courtyard_stairs_night_half_open_door",
              "depends_on_bg": [
                "bg_courtyard_stairs_night_urgent_arrival"
              ],
              "depends_on_fp": [
                "fp_courtyard_stairs"
              ],
              "loc_id": "L05",
              "state_label": "night_half_open_door",
              "sub_location": "courtyard_stairs"
            },
            {
              "applies_to_shots": [
                "S13_Shot3",
                "S13_Shot4",
                "S13_Shot6"
              ],
              "bg_id": "bg_courtyard_stairs_night_police_siren",
              "depends_on_bg": [
                "bg_courtyard_stairs_night_half_open_door"
              ],
              "depends_on_fp": [
                "fp_courtyard_stairs"
              ],
              "loc_id": "L05",
              "state_label": "night_police_siren",
              "sub_location": "courtyard_stairs"
            },
            {
              "applies_to_shots": [
                "S5_Shot1",
                "S5_Shot6",
                "S5_Shot9"
              ],
              "bg_id": "bg_living_kitchen_day_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L06",
              "state_label": "day_normal",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S14_Shot8"
              ],
              "bg_id": "bg_living_kitchen_night_clean_restored",
              "depends_on_bg": [
                "bg_living_kitchen_day_normal"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L06",
              "state_label": "night_clean_restored",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S18_Shot13"
              ],
              "bg_id": "bg_living_kitchen_day_hallucination_photo",
              "depends_on_bg": [
                "bg_living_kitchen_night_clean_restored"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L06",
              "state_label": "day_hallucination_photo",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S24_Shot8"
              ],
              "bg_id": "bg_living_kitchen_dusk_ransacked_open_door",
              "depends_on_bg": [
                "bg_living_kitchen_day_hallucination_photo"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L06",
              "state_label": "dusk_ransacked_open_door",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S26_Shot1",
                "S26_Shot3"
              ],
              "bg_id": "bg_living_kitchen_night_ransacked_wind_door",
              "depends_on_bg": [
                "bg_living_kitchen_dusk_ransacked_open_door"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L06",
              "state_label": "night_ransacked_wind_door",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S12_Shot4",
                "S12_Shot7",
                "S12_Shot14"
              ],
              "bg_id": "bg_daughter_bedroom_night_blood_curtain_body",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L06",
              "state_label": "night_blood_curtain_body",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S14_Shot4",
                "S14_Shot5"
              ],
              "bg_id": "bg_daughter_bedroom_night_clean_restored_curtain_open",
              "depends_on_bg": [
                "bg_daughter_bedroom_night_blood_curtain_body"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L06",
              "state_label": "night_clean_restored_curtain_open",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S24_Shot4",
                "S24_Shot6"
              ],
              "bg_id": "bg_daughter_bedroom_dusk_ransacked_red_circle_photo",
              "depends_on_bg": [
                "bg_daughter_bedroom_night_clean_restored_curtain_open"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L06",
              "state_label": "dusk_ransacked_red_circle_photo",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot2"
              ],
              "bg_id": "bg_mother_bedroom_day_waiting_bed",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_mother_bedroom"
              ],
              "loc_id": "L06",
              "state_label": "day_waiting_bed",
              "sub_location": "mother_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot10"
              ],
              "bg_id": "bg_bathroom_day_red_circle_mirror",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_bathroom"
              ],
              "loc_id": "L06",
              "state_label": "day_red_circle_mirror",
              "sub_location": "bathroom"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_rooftop_exterior",
              "scope": "rooftop exterior with water tank, clothesline, window, and metal entry door",
              "sub_location": "rooftop_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_courtyard_stairs",
              "scope": "villa courtyard, steep cement stairs, rooftop landing, and police access",
              "sub_location": "courtyard_stairs"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_living_kitchen",
              "scope": "small rooftop unit living room with kitchenette, dining table, tv, window, entry",
              "sub_location": "living_kitchen"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_daughter_bedroom",
              "scope": "small bedroom with bed, curtain, window, backpack area, and wall for red circle",
              "sub_location": "daughter_bedroom"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_mother_bedroom",
              "scope": "bedroom with bed used for waiting through the night",
              "sub_location": "mother_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_courtyard_stairs",
            "fp_living_kitchen",
            "fp_daughter_bedroom",
            "fp_mother_bedroom",
            "fp_bathroom",
            "bg_rooftop_exterior_day_overview",
            "bg_rooftop_exterior_night_intrusion_door_shadow",
            "bg_rooftop_exterior_dawn_light_on_cat",
            "bg_courtyard_stairs_night_urgent_arrival",
            "bg_courtyard_stairs_night_half_open_door",
            "bg_courtyard_stairs_night_police_siren",
            "bg_living_kitchen_day_normal",
            "bg_living_kitchen_night_clean_restored",
            "bg_living_kitchen_day_hallucination_photo",
            "bg_living_kitchen_dusk_ransacked_open_door",
            "bg_living_kitchen_night_ransacked_wind_door",
            "bg_daughter_bedroom_night_blood_curtain_body",
            "bg_daughter_bedroom_night_clean_restored_curtain_open",
            "bg_daughter_bedroom_dusk_ransacked_red_circle_photo",
            "bg_mother_bedroom_day_waiting_bed",
            "bg_bathroom_day_red_circle_mirror"
          ],
          "group_id": "bg_rooftop_villa_unit",
          "rationale_summary": "Separate exterior stairs and interior rooms; states track intrusion, blood curtain body, clean reset, red circle hallucinations, and ransacking."
        }
      },
      "bg_coastal_road_bus_stop": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_animal_shelter": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S7_Shot2",
                "S7_Shot4"
              ],
              "bg_id": "bg_kennel_area_day_vaccination",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_kennel_area"
              ],
              "loc_id": "L08",
              "state_label": "day_vaccination",
              "sub_location": "kennel_area"
            },
            {
              "applies_to_shots": [
                "S7_Shot7"
              ],
              "bg_id": "bg_grooming_station_day_active",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_grooming_station"
              ],
              "loc_id": "L08",
              "state_label": "day_active",
              "sub_location": "grooming_station"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_kennel_area",
              "scope": "indoor shelter kennel aisle with cage fronts and treatment access",
              "sub_location": "kennel_area"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_grooming_station",
              "scope": "indoor shelter grooming table area for cutting and care work",
              "sub_location": "grooming_station"
            }
          ],
          "gen_order": [
            "fp_kennel_area",
            "fp_grooming_station",
            "bg_kennel_area_day_vaccination",
            "bg_grooming_station_day_active"
          ],
          "group_id": "bg_animal_shelter",
          "rationale_summary": "Kennel vaccination shots and grooming scissors shot need distinct indoor work zones; both are daytime active shelter states."
        }
      },
      "bg_large_market": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S8_Shot1",
                "S8_Shot5"
              ],
              "bg_id": "cb_market_entrance_exterior_dusk_neon_busy",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_market_entrance_exterior"
              ],
              "loc_id": "L09",
              "state_label": "dusk_neon_busy",
              "sub_location": "market_entrance_exterior"
            },
            {
              "applies_to_shots": [
                "S19_Shot1",
                "S19_Shot4",
                "S19_Shot6"
              ],
              "bg_id": "cb_sales_floor_early_morning_quiet",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_sales_floor"
              ],
              "loc_id": "L10",
              "state_label": "early_morning_quiet",
              "sub_location": "sales_floor"
            },
            {
              "applies_to_shots": [
                "S20_Shot2"
              ],
              "bg_id": "cb_admin_office_day_cctv_playback",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_admin_office"
              ],
              "loc_id": "L11",
              "state_label": "day_cctv_playback",
              "sub_location": "admin_office"
            },
            {
              "applies_to_shots": [
                "S20_Shot4"
              ],
              "bg_id": "cb_admin_office_day_cctv_dark_footage",
              "depends_on_bg": [
                "cb_admin_office_day_cctv_playback"
              ],
              "depends_on_fp": [
                "fp_admin_office"
              ],
              "loc_id": "L11",
              "state_label": "day_cctv_dark_footage",
              "sub_location": "admin_office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_market_entrance_exterior",
              "scope": "harbor-side busy street and large market glass entrance",
              "sub_location": "market_entrance_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_sales_floor",
              "scope": "large market sales floor near entrance and aisles",
              "sub_location": "sales_floor"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_admin_office",
              "scope": "administrative office with CCTV monitor workstation",
              "sub_location": "admin_office"
            }
          ],
          "gen_order": [
            "fp_market_entrance_exterior",
            "fp_sales_floor",
            "fp_admin_office",
            "cb_market_entrance_exterior_dusk_neon_busy",
            "cb_sales_floor_early_morning_quiet",
            "cb_admin_office_day_cctv_playback",
            "cb_admin_office_day_cctv_dark_footage"
          ],
          "group_id": "bg_large_market",
          "rationale_summary": "외부 입구, 매장 내부, 총무과 사무실로 공간이 분리됨. CCTV의 어두운 식별불가 화면은 plot-critical 상태로 별도 배경 처리."
        }
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S16_Shot3"
              ],
              "bg_id": "bg_police_office_night_duty",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_police_office"
              ],
              "loc_id": "L12",
              "state_label": "night_duty_normal",
              "sub_location": "police_office"
            },
            {
              "applies_to_shots": [
                "S21_Shot6",
                "S21_Shot7"
              ],
              "bg_id": "bg_police_office_day_case_photos",
              "depends_on_bg": [
                "bg_police_office_night_duty"
              ],
              "depends_on_fp": [
                "fp_police_office"
              ],
              "loc_id": "L12",
              "state_label": "day_case_photos_on_desk",
              "sub_location": "police_office"
            },
            {
              "applies_to_shots": [
                "S21_Shot10"
              ],
              "bg_id": "bg_police_office_day_monitor_location_result",
              "depends_on_bg": [
                "bg_police_office_day_case_photos"
              ],
              "depends_on_fp": [
                "fp_police_office"
              ],
              "loc_id": "L12",
              "state_label": "day_monitor_location_result",
              "sub_location": "police_office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_police_office",
              "scope": "police station office with duty desks, monitors, case paperwork",
              "sub_location": "police_office"
            }
          ],
          "gen_order": [
            "fp_police_office",
            "bg_police_office_night_duty",
            "bg_police_office_day_case_photos",
            "bg_police_office_day_monitor_location_result"
          ],
          "group_id": "bg_police_station",
          "rationale_summary": "One office floor plan. Separate chained states for night duty, day desk with graphic case photos, and monitor showing location-result map."
        }
      },
      "bg_pc_room": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_foggy_harbor_breakwater": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_open_sea": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_small_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S27_Shot1",
                "S27_Shot5",
                "S27_Shot6"
              ],
              "bg_id": "cb_deck_dusk_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_deck"
              ],
              "loc_id": "L17",
              "state_label": "dusk_normal",
              "sub_location": "deck"
            },
            {
              "applies_to_shots": [
                "S28_Shot3",
                "S28_Shot5",
                "S28_Shot8"
              ],
              "bg_id": "cb_wheelhouse_dusk_red_circle_markings",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_wheelhouse"
              ],
              "loc_id": "L18",
              "state_label": "dusk_red_circle_markings",
              "sub_location": "wheelhouse"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_deck",
              "scope": "old small fishing boat deck and exterior circulation",
              "sub_location": "deck"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_wheelhouse",
              "scope": "cramped old fishing boat wheelhouse interior",
              "sub_location": "wheelhouse"
            }
          ],
          "gen_order": [
            "fp_deck",
            "fp_wheelhouse",
            "cb_deck_dusk_normal",
            "cb_wheelhouse_dusk_red_circle_markings"
          ],
          "group_id": "bg_small_fishing_boat",
          "rationale_summary": "갑판과 조타실은 별도 공간이라 2개 평면. 조타실 붉은 원형 표식은 반전 단서라 dusk_red_circle_markings로 고정."
        }
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "d80bd80c-e76d-4bdf-8018-e99865fc8954",
  "resolved_model": "gpt",
  "updated_at": "2026-05-05T05:27:59.056694+00:00",
  "project_config_snapshot": {}
}