{
  "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_urban_back_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_day_establishing",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_rooftop_outside"
              ],
              "loc_id": "L04",
              "state_label": "day_establishing",
              "sub_location": "rooftop_outside"
            },
            {
              "applies_to_shots": [
                "S10_Shot4",
                "S10_Shot6",
                "S10_Shot7"
              ],
              "bg_id": "bg_rooftop_night_intrusion_door_ajar_window_shadow",
              "depends_on_bg": [
                "bg_rooftop_day_establishing"
              ],
              "depends_on_fp": [
                "fp_rooftop_outside"
              ],
              "loc_id": "L04",
              "state_label": "night_intrusion_door_ajar_window_shadow",
              "sub_location": "rooftop_outside"
            },
            {
              "applies_to_shots": [
                "S17_Shot1"
              ],
              "bg_id": "bg_rooftop_dawn_cat_light_on",
              "depends_on_bg": [
                "bg_rooftop_night_intrusion_door_ajar_window_shadow"
              ],
              "depends_on_fp": [
                "fp_rooftop_outside"
              ],
              "loc_id": "L04",
              "state_label": "dawn_cat_light_on",
              "sub_location": "rooftop_outside"
            },
            {
              "applies_to_shots": [
                "S11_Shot5"
              ],
              "bg_id": "bg_exterior_stairs_night_half_open_door_odor",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_exterior_stairs"
              ],
              "loc_id": "L11",
              "state_label": "night_half_open_door_odor",
              "sub_location": "exterior_stairs"
            },
            {
              "applies_to_shots": [
                "S13_Shot5",
                "S13_Shot6",
                "S13_Shot8"
              ],
              "bg_id": "bg_villa_courtyard_night_sirens",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_villa_courtyard"
              ],
              "loc_id": "L10",
              "state_label": "night_sirens",
              "sub_location": "villa_courtyard"
            },
            {
              "applies_to_shots": [
                "S5_Shot3",
                "S5_Shot8",
                "S5_Shot13"
              ],
              "bg_id": "bg_living_kitchen_day_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "day_normal",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S18_Shot15",
                "S18_Shot16"
              ],
              "bg_id": "bg_living_kitchen_day_photo_distorted",
              "depends_on_bg": [
                "bg_living_kitchen_day_normal"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "day_photo_distorted",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S25_Shot13",
                "S27_Shot2",
                "S27_Shot3",
                "S27_Shot6"
              ],
              "bg_id": "bg_living_kitchen_dusk_ransacked_open_window_door_rattling",
              "depends_on_bg": [
                "bg_living_kitchen_day_photo_distorted"
              ],
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "loc_id": "L05",
              "state_label": "dusk_ransacked_open_window_door_rattling",
              "sub_location": "living_kitchen"
            },
            {
              "applies_to_shots": [
                "S12_Shot5",
                "S12_Shot8",
                "S12_Shot16"
              ],
              "bg_id": "bg_bedroom_night_blood_curtain_body_red_circle",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "night_blood_curtain_body_red_circle",
              "sub_location": "bedroom"
            },
            {
              "applies_to_shots": [
                "S14_Shot5",
                "S14_Shot10",
                "S14_Shot12"
              ],
              "bg_id": "bg_bedroom_night_impossibly_clean_rearranged",
              "depends_on_bg": [
                "bg_bedroom_night_blood_curtain_body_red_circle"
              ],
              "depends_on_fp": [
                "fp_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "night_impossibly_clean_rearranged",
              "sub_location": "bedroom"
            },
            {
              "applies_to_shots": [
                "S25_Shot5",
                "S25_Shot6"
              ],
              "bg_id": "bg_bedroom_dusk_ransacked_red_circle_bloody_photo",
              "depends_on_bg": [
                "bg_bedroom_night_impossibly_clean_rearranged"
              ],
              "depends_on_fp": [
                "fp_bedroom"
              ],
              "loc_id": "L05",
              "state_label": "dusk_ransacked_red_circle_bloody_photo",
              "sub_location": "bedroom"
            },
            {
              "applies_to_shots": [
                "S18_Shot10"
              ],
              "bg_id": "bg_bathroom_day_mirror_red_circle",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_bathroom"
              ],
              "loc_id": "L05",
              "state_label": "day_mirror_red_circle",
              "sub_location": "bathroom"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_rooftop_outside",
              "scope": "rooftop exterior with iron door, window, water tank, clothesline, bench",
              "sub_location": "rooftop_outside"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_villa_courtyard",
              "scope": "villa alley and yard with gate, bicycle area, police access, stair base",
              "sub_location": "villa_courtyard"
            },
            {
              "depends_on_fp": [
                "fp_rooftop_outside",
                "fp_villa_courtyard"
              ],
              "fp_id": "fp_exterior_stairs",
              "scope": "outside stairs connecting courtyard to rooftop landing and iron door",
              "sub_location": "exterior_stairs"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_living_kitchen",
              "scope": "small rooftop unit main room with kitchenette, table, TV, window, entry door",
              "sub_location": "living_kitchen"
            },
            {
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "fp_id": "fp_bedroom",
              "scope": "daughter bedroom off main room with bed, curtain, window, backpack and doll area",
              "sub_location": "bedroom"
            },
            {
              "depends_on_fp": [
                "fp_living_kitchen"
              ],
              "fp_id": "fp_bathroom",
              "scope": "small bathroom off main room with sink, mirror, wall for apparition mark",
              "sub_location": "bathroom"
            }
          ],
          "gen_order": [
            "fp_rooftop_outside",
            "fp_villa_courtyard",
            "fp_exterior_stairs",
            "fp_living_kitchen",
            "fp_bedroom",
            "fp_bathroom",
            "bg_rooftop_day_establishing",
            "bg_rooftop_night_intrusion_door_ajar_window_shadow",
            "bg_rooftop_dawn_cat_light_on",
            "bg_exterior_stairs_night_half_open_door_odor",
            "bg_villa_courtyard_night_sirens",
            "bg_living_kitchen_day_normal",
            "bg_living_kitchen_day_photo_distorted",
            "bg_living_kitchen_dusk_ransacked_open_window_door_rattling",
            "bg_bedroom_night_blood_curtain_body_red_circle",
            "bg_bedroom_night_impossibly_clean_rearranged",
            "bg_bedroom_dusk_ransacked_red_circle_bloody_photo",
            "bg_bathroom_day_mirror_red_circle"
          ],
          "group_id": "bg_rooftop_villa_unit",
          "rationale_summary": "Split exterior roof, stairs, courtyard, and interior rooms. States track intrusion, blood/body behind curtain, impossible cleanup, red circles, ransacking, and dusk emptiness."
        }
      },
      "bg_coastal_road": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_animal_shelter": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S7_Shot1",
                "S7_Shot4"
              ],
              "bg_id": "bg_kennel_area_day_vaccination",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_kennel_area"
              ],
              "loc_id": "L07",
              "state_label": "day_vaccination",
              "sub_location": "kennel_area"
            },
            {
              "applies_to_shots": [
                "S7_Shot9"
              ],
              "bg_id": "bg_grooming_area_day_grooming",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_grooming_area"
              ],
              "loc_id": "L07",
              "state_label": "day_grooming",
              "sub_location": "grooming_area"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_kennel_area",
              "scope": "indoor shelter kennel row with metal cages and vet access",
              "sub_location": "kennel_area"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_grooming_area",
              "scope": "indoor shelter grooming station for clipping and treating dogs",
              "sub_location": "grooming_area"
            }
          ],
          "gen_order": [
            "fp_kennel_area",
            "fp_grooming_area",
            "bg_kennel_area_day_vaccination",
            "bg_grooming_area_day_grooming"
          ],
          "group_id": "bg_animal_shelter",
          "rationale_summary": "Kennel vaccination shots and grooming shot need distinct shelter sub-areas; no plot-critical damage/state change beyond daytime work activity."
        }
      },
      "bg_large_store": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S8_Shot4"
              ],
              "bg_id": "bg_sales_floor_dusk_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_sales_floor"
              ],
              "loc_id": "L09",
              "state_label": "dusk_normal",
              "sub_location": "sales_floor"
            },
            {
              "applies_to_shots": [
                "S19_Shot2",
                "S19_Shot5"
              ],
              "bg_id": "bg_sales_floor_morning_quiet",
              "depends_on_bg": [
                "bg_sales_floor_dusk_normal"
              ],
              "depends_on_fp": [
                "fp_sales_floor"
              ],
              "loc_id": "L09",
              "state_label": "morning_quiet",
              "sub_location": "sales_floor"
            },
            {
              "applies_to_shots": [
                "S8_Shot9"
              ],
              "bg_id": "bg_store_entrance_dusk_neon_phone",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_store_entrance_exterior"
              ],
              "loc_id": "L09",
              "state_label": "dusk_neon_phone",
              "sub_location": "store_entrance_exterior"
            },
            {
              "applies_to_shots": [
                "S19_Shot7"
              ],
              "bg_id": "bg_store_entrance_morning_cctv_check",
              "depends_on_bg": [
                "bg_store_entrance_dusk_neon_phone"
              ],
              "depends_on_fp": [
                "fp_store_entrance_exterior"
              ],
              "loc_id": "L09",
              "state_label": "morning_cctv_camera_visible",
              "sub_location": "store_entrance_exterior"
            },
            {
              "applies_to_shots": [
                "S20_Shot3",
                "S20_Shot5",
                "S20_Shot7"
              ],
              "bg_id": "bg_admin_office_day_dark_cctv_playback",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_admin_office"
              ],
              "loc_id": "L14",
              "state_label": "day_dark_cctv_playback",
              "sub_location": "admin_office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_sales_floor",
              "scope": "retail aisles and display area near staff interaction points",
              "sub_location": "sales_floor"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_store_entrance_exterior",
              "scope": "front automatic doors, bicycle parking, exterior CCTV sightline",
              "sub_location": "store_entrance_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_admin_office",
              "scope": "office security desk with monitor playback setup",
              "sub_location": "admin_office"
            }
          ],
          "gen_order": [
            "fp_sales_floor",
            "fp_store_entrance_exterior",
            "fp_admin_office",
            "bg_sales_floor_dusk_normal",
            "bg_sales_floor_morning_quiet",
            "bg_store_entrance_dusk_neon_phone",
            "bg_store_entrance_morning_cctv_check",
            "bg_admin_office_day_dark_cctv_playback"
          ],
          "group_id": "bg_large_store",
          "rationale_summary": "매장 내부, 출입구 외부, 총무과가 시각적으로 달라 3개 평면. 시간대 변화와 CCTV 식별불가 화면을 state로 분리."
        }
      },
      "bg_coastal_bus_stop": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S16_Shot3",
                "S16_Shot5"
              ],
              "bg_id": "cb_office_night_duty",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_office"
              ],
              "loc_id": "L13",
              "state_label": "night_duty_normal",
              "sub_location": "office"
            },
            {
              "applies_to_shots": [
                "S21_Shot6",
                "S21_Shot7"
              ],
              "bg_id": "cb_office_day_evidence_photos_scattered",
              "depends_on_bg": [
                "cb_office_night_duty"
              ],
              "depends_on_fp": [
                "fp_office"
              ],
              "loc_id": "L13",
              "state_label": "day_evidence_photos_scattered",
              "sub_location": "office"
            },
            {
              "applies_to_shots": [
                "S21_Shot11"
              ],
              "bg_id": "cb_office_day_monitor_location_result",
              "depends_on_bg": [
                "cb_office_day_evidence_photos_scattered"
              ],
              "depends_on_fp": [
                "fp_office"
              ],
              "loc_id": "L13",
              "state_label": "day_monitor_location_result",
              "sub_location": "office"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_office",
              "scope": "police office with duty desks, document area, and computer monitors",
              "sub_location": "office"
            }
          ],
          "gen_order": [
            "fp_office",
            "cb_office_night_duty",
            "cb_office_day_evidence_photos_scattered",
            "cb_office_day_monitor_location_result"
          ],
          "group_id": "bg_police_station",
          "rationale_summary": "Single office floor plan; backgrounds split by night duty, day desk with scattered case photos, and monitor showing location result."
        }
      },
      "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_small_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S28_Shot4",
                "S28_Shot8",
                "S28_Shot15"
              ],
              "bg_id": "bg_deck_dusk_normal",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_deck"
              ],
              "loc_id": "L19",
              "state_label": "dusk_normal",
              "sub_location": "deck"
            },
            {
              "applies_to_shots": [
                "S29_Shot4",
                "S29_Shot7",
                "S29_Shot13"
              ],
              "bg_id": "bg_wheelhouse_dusk_circle_markings_red_circle",
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_wheelhouse"
              ],
              "loc_id": "L20",
              "state_label": "dusk_circle_markings_red_circle",
              "sub_location": "wheelhouse"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_deck",
              "scope": "small fishing boat open deck at dusk",
              "sub_location": "deck"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_wheelhouse",
              "scope": "small fishing boat enclosed wheelhouse with helm and windows",
              "sub_location": "wheelhouse"
            }
          ],
          "gen_order": [
            "fp_deck",
            "fp_wheelhouse",
            "bg_deck_dusk_normal",
            "bg_wheelhouse_dusk_circle_markings_red_circle"
          ],
          "group_id": "bg_small_fishing_boat",
          "rationale_summary": "Two separated boat areas need distinct plans. Deck stays dusk normal; wheelhouse dusk state includes many circle markings and a red circle for plot continuity."
        }
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "c2aae376-60fd-4e4b-bbbe-fce8d860719c",
  "resolved_model": "gpt",
  "updated_at": "2026-04-29T20:32:35.124732+00:00"
}