{
  "status": "completed",
  "applicable_count": 5,
  "completed_count": 5,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "e0ce5a21cab5c061",
  "data": {
    "plans": {
      "bg_forest_site": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_urban_back_alley": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_rooftop_villa_unit": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S4_Shot1"
              ],
              "bg_id": "bg_rooftop_day_overcast_establishing",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "day_overcast_establishing",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S10_Shot3",
                "S10_Shot7",
                "S10_Shot8"
              ],
              "bg_id": "bg_rooftop_night_intrusion_door_shadow",
              "depends_on_bg": [
                "bg_rooftop_day_overcast_establishing"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "night_intrusion_door_shadow",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S17_Shot1",
                "S17_Shot3"
              ],
              "bg_id": "bg_rooftop_dawn_window_lit_cat",
              "depends_on_bg": [
                "bg_rooftop_night_intrusion_door_shadow"
              ],
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "loc_id": "L04",
              "state_label": "dawn_window_lit_cat",
              "sub_location": "rooftop_exterior"
            },
            {
              "applies_to_shots": [
                "S11_Shot4",
                "S11_Shot6"
              ],
              "bg_id": "bg_approach_night_open_door",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_building_approach"
              ],
              "loc_id": "L06",
              "state_label": "night_open_door_bad_smell",
              "sub_location": "building_approach"
            },
            {
              "applies_to_shots": [
                "S13_Shot4",
                "S13_Shot5",
                "S13_Shot6"
              ],
              "bg_id": "bg_approach_night_siren_arrival",
              "depends_on_bg": [
                "bg_approach_night_open_door"
              ],
              "depends_on_fp": [
                "fp_building_approach"
              ],
              "loc_id": "L06",
              "state_label": "night_siren_arrival",
              "sub_location": "building_approach"
            },
            {
              "applies_to_shots": [
                "S5_Shot4",
                "S5_Shot9",
                "S5_Shot14"
              ],
              "bg_id": "bg_living_kitchen_day_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L07",
              "state_label": "day_normal_cooking_news",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S12_Shot10"
              ],
              "bg_id": "bg_living_kitchen_night_aftermath_tv_cups",
              "depends_on_bg": [
                "bg_living_kitchen_day_normal"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L07",
              "state_label": "night_aftermath_tv_cups",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S14_Shot2",
                "S14_Shot8"
              ],
              "bg_id": "bg_living_kitchen_night_cleaned_no_cups",
              "depends_on_bg": [
                "bg_living_kitchen_night_aftermath_tv_cups"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L07",
              "state_label": "night_cleaned_no_cups",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S18_Shot15"
              ],
              "bg_id": "bg_living_kitchen_dawn_photo_hallucination",
              "depends_on_bg": [
                "bg_living_kitchen_night_cleaned_no_cups"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L07",
              "state_label": "dawn_clean_photo_hallucination",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S25_Shot2",
                "S25_Shot9",
                "S27_Shot1",
                "S27_Shot4"
              ],
              "bg_id": "bg_living_kitchen_dusk_ransacked_windy",
              "depends_on_bg": [
                "bg_living_kitchen_dawn_photo_hallucination"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L07",
              "state_label": "dusk_ransacked_footprints_window_open_windy_door",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S12_Shot7",
                "S12_Shot20"
              ],
              "bg_id": "bg_daughter_bedroom_night_blood_curtain_body_red_circle",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L07",
              "state_label": "night_blood_curtain_body_red_circle",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S14_Shot6"
              ],
              "bg_id": "bg_daughter_bedroom_night_cleaned_rearranged",
              "depends_on_bg": [
                "bg_daughter_bedroom_night_blood_curtain_body_red_circle"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L07",
              "state_label": "night_cleaned_rearranged",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S25_Shot5"
              ],
              "bg_id": "bg_daughter_bedroom_dusk_red_circle_bloody_photo",
              "depends_on_bg": [
                "bg_daughter_bedroom_night_cleaned_rearranged"
              ],
              "depends_on_fp": [
                "fp_daughter_bedroom"
              ],
              "loc_id": "L07",
              "state_label": "dusk_red_circle_bloody_photo",
              "sub_location": "daughter_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot2"
              ],
              "bg_id": "bg_master_bedroom_dawn_waiting_empty_home",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_master_bedroom"
              ],
              "loc_id": "L07",
              "state_label": "dawn_waiting_empty_home",
              "sub_location": "master_bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot12"
              ],
              "bg_id": "bg_bathroom_dawn_mirror_red_circle_hallucination",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_bathroom"
              ],
              "loc_id": "L07",
              "state_label": "dawn_mirror_red_circle_hallucination",
              "sub_location": "bathroom"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_rooftop_exterior",
              "scope": "roof terrace exterior with water tank, laundry line, window, and metal door",
              "sub_location": "rooftop_exterior"
            },
            {
              "depends_on_fp": [
                "fp_rooftop_exterior"
              ],
              "fp_id": "fp_building_approach",
              "scope": "outer road, small yard, cement stairs, and rooftop landing approach",
              "sub_location": "building_approach"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_living_kitchen",
              "scope": "compact rooftop unit living room, kitchenette, table, entry, and room doors",
              "sub_location": "living_kitchen"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_daughter_bedroom",
              "scope": "small bedroom with bed, curtain, blank wall, backpack, and doll",
              "sub_location": "daughter_bedroom"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_master_bedroom",
              "scope": "small main bedroom with bed used for overnight waiting",
              "sub_location": "master_bedroom"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_bathroom",
              "scope": "compact bathroom with sink, mirror, and visible wall surface",
              "sub_location": "bathroom"
            }
          ],
          "gen_order": [
            "fp_rooftop_exterior",
            "fp_building_approach",
            "fp_living_kitchen",
            "fp_daughter_bedroom",
            "fp_master_bedroom",
            "fp_bathroom",
            "bg_rooftop_day_overcast_establishing",
            "bg_rooftop_night_intrusion_door_shadow",
            "bg_rooftop_dawn_window_lit_cat",
            "bg_approach_night_open_door",
            "bg_approach_night_siren_arrival",
            "bg_living_kitchen_day_normal",
            "bg_living_kitchen_night_aftermath_tv_cups",
            "bg_living_kitchen_night_cleaned_no_cups",
            "bg_living_kitchen_dawn_photo_hallucination",
            "bg_living_kitchen_dusk_ransacked_windy",
            "bg_daughter_bedroom_night_blood_curtain_body_red_circle",
            "bg_daughter_bedroom_night_cleaned_rearranged",
            "bg_daughter_bedroom_dusk_red_circle_bloody_photo",
            "bg_master_bedroom_dawn_waiting_empty_home",
            "bg_bathroom_dawn_mirror_red_circle_hallucination"
          ],
          "group_id": "bg_rooftop_villa_unit",
          "rationale_summary": "Exterior approach plus distinct interior rooms need separate plans; states track intrusion, blood/curtain/body, impossible cleaning, hallucinated red marks, and ransacking."
        }
      },
      "bg_coastal_road": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_animal_shelter_interior": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S7_Shot1",
                "S7_Shot4"
              ],
              "bg_id": "bg_kennel_aisle_day_vaccination_busy",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_kennel_aisle"
              ],
              "loc_id": "L09",
              "state_label": "day_vaccination_busy",
              "sub_location": "kennel_aisle"
            },
            {
              "applies_to_shots": [
                "S7_Shot8"
              ],
              "bg_id": "bg_wash_grooming_area_day_bathing",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_wash_grooming_area"
              ],
              "loc_id": "L09",
              "state_label": "day_bathing",
              "sub_location": "wash_grooming_area"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_kennel_aisle",
              "scope": "indoor shelter kennel aisle with dog cages and vaccination handling space",
              "sub_location": "kennel_aisle"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_wash_grooming_area",
              "scope": "indoor shelter wash and grooming area with tub and work counters",
              "sub_location": "wash_grooming_area"
            }
          ],
          "gen_order": [
            "fp_kennel_aisle",
            "fp_wash_grooming_area",
            "bg_kennel_aisle_day_vaccination_busy",
            "bg_wash_grooming_area_day_bathing"
          ],
          "group_id": "bg_animal_shelter_interior",
          "rationale_summary": "Kennel/vaccination and wash/grooming are distinct shelter work zones, so two plans and two day states cover the cage, injection, and bathing shots."
        }
      },
      "bg_market_stall_street": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_large_mart_building": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S8_Shot3",
                "S8_Shot5"
              ],
              "bg_id": "cb_sales_floor_dusk_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_sales_floor"
              ],
              "loc_id": "L11",
              "state_label": "dusk_normal",
              "sub_location": "sales_floor"
            },
            {
              "applies_to_shots": [
                "S19_Shot3"
              ],
              "bg_id": "cb_sales_floor_day_quiet",
              "depends_on_bg": [
                "cb_sales_floor_dusk_normal"
              ],
              "depends_on_fp": [
                "fp_sales_floor"
              ],
              "loc_id": "L11",
              "state_label": "day_quiet",
              "sub_location": "sales_floor"
            },
            {
              "applies_to_shots": [
                "S8_Shot6"
              ],
              "bg_id": "cb_exterior_entrance_dusk_phone",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_exterior_entrance_wall"
              ],
              "loc_id": "L12",
              "state_label": "dusk_phone_outside_doors",
              "sub_location": "exterior_entrance_wall"
            },
            {
              "applies_to_shots": [
                "S19_Shot7",
                "S19_Shot8"
              ],
              "bg_id": "cb_exterior_entrance_day_cctv_wall",
              "depends_on_bg": [
                "cb_exterior_entrance_dusk_phone"
              ],
              "depends_on_fp": [
                "fp_exterior_entrance_wall"
              ],
              "loc_id": "L12",
              "state_label": "day_cctv_wall_check",
              "sub_location": "exterior_entrance_wall"
            },
            {
              "applies_to_shots": [
                "S20_Shot2"
              ],
              "bg_id": "cb_security_office_day_cctv_review",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_security_office"
              ],
              "loc_id": "L13",
              "state_label": "day_cctv_review",
              "sub_location": "security_office"
            },
            {
              "applies_to_shots": [
                "S20_Shot3"
              ],
              "bg_id": "cb_security_office_day_dark_cctv_monitor",
              "depends_on_bg": [
                "cb_security_office_day_cctv_review"
              ],
              "depends_on_fp": [
                "fp_security_office"
              ],
              "loc_id": "L13",
              "state_label": "day_dark_cctv_monitor_closeup",
              "sub_location": "security_office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_sales_floor",
              "scope": "large retail sales floor with aisles, shelves, and entrance approach",
              "sub_location": "sales_floor"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_exterior_entrance_wall",
              "scope": "storefront automatic doors, outer wall corner, and mounted cctv camera",
              "sub_location": "exterior_entrance_wall"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_security_office",
              "scope": "small security office with desk, monitors, and staff viewing area",
              "sub_location": "security_office"
            }
          ],
          "gen_order": [
            "fp_sales_floor",
            "fp_exterior_entrance_wall",
            "fp_security_office",
            "cb_sales_floor_dusk_normal",
            "cb_sales_floor_day_quiet",
            "cb_exterior_entrance_dusk_phone",
            "cb_exterior_entrance_day_cctv_wall",
            "cb_security_office_day_cctv_review",
            "cb_security_office_day_dark_cctv_monitor"
          ],
          "group_id": "bg_large_mart_building",
          "rationale_summary": "Sales floor, exterior entrance wall, and security office need separate plans; day/dusk shifts and the dark cctv monitor are plot-critical states."
        }
      },
      "bg_coastal_bus_stop": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S16_Shot4",
                "S16_Shot6"
              ],
              "bg_id": "bg_office_night_duty_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_office"
              ],
              "loc_id": "L15",
              "state_label": "night_duty_normal",
              "sub_location": "office"
            },
            {
              "applies_to_shots": [
                "S21_Shot6",
                "S21_Shot7",
                "S21_Shot8"
              ],
              "bg_id": "bg_office_day_evidence_photos_gps_popup",
              "depends_on_bg": [
                "bg_office_night_duty_normal"
              ],
              "depends_on_fp": [
                "fp_office"
              ],
              "loc_id": "L15",
              "state_label": "day_evidence_photos_gps_popup",
              "sub_location": "office"
            },
            {
              "applies_to_shots": [
                "S22_Shot2"
              ],
              "bg_id": "bg_station_entrance_day_bicycle_departure",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_station_entrance"
              ],
              "loc_id": "L16",
              "state_label": "day_bicycle_departure",
              "sub_location": "station_entrance"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_office",
              "scope": "detective office with desks, monitors, evidence area, and corridor access",
              "sub_location": "office"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_station_entrance",
              "scope": "station entrance, roadside edge, parking area, and bicycle approach",
              "sub_location": "station_entrance"
            }
          ],
          "gen_order": [
            "fp_office",
            "fp_station_entrance",
            "bg_office_night_duty_normal",
            "bg_office_day_evidence_photos_gps_popup",
            "bg_station_entrance_day_bicycle_departure"
          ],
          "group_id": "bg_police_station",
          "rationale_summary": "실내 사무실과 외부 출입구를 분리. 사무실은 야간 당직 상태와 낮의 시신사진·GPS 팝업 상태를 체인으로 구분."
        }
      },
      "bg_pc_room_interior": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_foggy_harbor_dock": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S28_Shot3",
                "S28_Shot8"
              ],
              "bg_id": "cb_deck_exterior_dusk_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_deck_exterior"
              ],
              "loc_id": "L19",
              "state_label": "dusk_normal",
              "sub_location": "deck_exterior"
            },
            {
              "applies_to_shots": [
                "S30_Shot2"
              ],
              "bg_id": "cb_deck_exterior_dusk_fog_wall",
              "depends_on_bg": [
                "cb_deck_exterior_dusk_normal"
              ],
              "depends_on_fp": [
                "fp_deck_exterior"
              ],
              "loc_id": "L19",
              "state_label": "dusk_fog_wall",
              "sub_location": "deck_exterior"
            },
            {
              "applies_to_shots": [
                "S29_Shot3",
                "S29_Shot5",
                "S29_Shot7"
              ],
              "bg_id": "cb_wheelhouse_interior_dusk_red_circle_marks",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_wheelhouse_interior"
              ],
              "loc_id": "L20",
              "state_label": "dusk_red_circle_marks",
              "sub_location": "wheelhouse_interior"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_deck_exterior",
              "scope": "small fishing boat deck with sea view and wheelhouse entrance",
              "sub_location": "deck_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_wheelhouse_interior",
              "scope": "compact fishing boat wheelhouse with controls and marked wall",
              "sub_location": "wheelhouse_interior"
            }
          ],
          "gen_order": [
            "fp_deck_exterior",
            "fp_wheelhouse_interior",
            "cb_deck_exterior_dusk_normal",
            "cb_deck_exterior_dusk_fog_wall",
            "cb_wheelhouse_interior_dusk_red_circle_marks"
          ],
          "group_id": "bg_fishing_boat",
          "rationale_summary": "Deck exterior and wheelhouse interior need separate plans; deck gains fog-wall state, while wheelhouse must preserve plot-critical red circle marks."
        }
      },
      "bg_photo_restaurant_exterior": {
        "status": "prev_shot_only",
        "plan": null
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "f93fd0b3-c844-465a-a731-e61bdf210c9f",
  "resolved_model": "gpt",
  "updated_at": "2026-05-05T06:41:13.760220+00:00",
  "project_config_snapshot": {}
}