{
  "status": "completed",
  "applicable_count": 3,
  "completed_count": 3,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "b1aab73d9bee7967",
  "data": {
    "schema_version": 1,
    "groups": [
      {
        "group_id": "vca-s7-zoom-1",
        "anchor_type": "zoom_continuity",
        "members": [
          {
            "scene_index": 7,
            "shot_index": 2,
            "role": "source_wide"
          },
          {
            "scene_index": 7,
            "shot_index": 5,
            "role": "zoom"
          }
        ],
        "locked_elements": [
          {
            "confidence": "high",
            "description": "수리영 is the human subject who must remain the same person across both shots.",
            "evidence_quote": "WIDE staging: “character\": \"수리영\"; ZOOM staging: “the camera tracks parallel to 수리영 from her profile side”",
            "kind": "subject_pose"
          },
          {
            "confidence": "medium",
            "description": "The setting must retain visible metal shelter cage bars as an out-of-focus surrounding element.",
            "evidence_quote": "WIDE staging: “faint cage geometry remains at the edges” and “vertical bars face camera frontally at the frame edges, slightly out of focus”; ZOOM staging: “metal cage bars recede diagonally behind her profile” and “out of focus”",
            "kind": "surface_state"
          }
        ],
        "wide_shot_contract": [
          "To be a true enlargement of the zoom shot, the wide shot would have to visibly include 수리영 in profile/side view, because the zoom is staged from “her profile side” with angle “profile_left.”",
          "The wide shot would have to visibly include the smartphone pressed to 수리영’s ear, because the zoom focal action is “phone pressed to ear” and the prop is “smartphone.”",
          "The wide shot would have to include her tense/distant eyeline into empty space, because the zoom has “gaze_direction_kind\": \"distant\" and “her fixed stare into empty space.”",
          "The wide shot would have to include the shelter cage row behind her profile, because the zoom places “metal cage bars” that “recede diagonally behind her profile.”"
        ],
        "camera_relation": "different_camera_same_moment",
        "camera_relation_evidence": "WIDE staging: “The camera stays just outside the cage line at Suriyoung's eye height, perfectly level and frontal” and “facing_camera” with “Her stare is locked straight past the lens line toward the rottweiler.” ZOOM staging: “the camera tracks parallel to 수리영 from her profile side and tightens into a side close-up” and “profile_left” with “phone pressed to ear.”",
        "per_shot_consumption_hints": {
          "7:2": {
            "include_in_wide": true
          },
          "7:5": {
            "crop_from_source": false
          }
        },
        "revised_wide_t2i": {
          "0": "Photorealistic cinematic still. C09O07 in a sporty windbreaker, a young Korean woman, occupies the middle-center foreground, the same person, 수리영, held at eye level in a clear left-profile side view. Her face remains dominant in the frame, chin set still, with calm, severe eyes fixed tensely into empty space beyond the cage row rather than engaging the camera. A smartphone is visibly pressed to her ear, integrated into the same rigid pose. The harsh fluorescent light washes her skin in pale, muted blue-gray tones, keeping her complexion flat and devoid of natural warmth. At the left and right peripheral edges of the frame, faint, out-of-focus vertical metallic wire cage bars border the composition, while the shelter cage row behind her profile recedes diagonally through the soft, dim blue-gray blur of the institutional shelter corridor, emphasizing her unnervingly dominant, distant expression."
        },
        "revised_wide_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "bbf421ec37b7ec00",
            "revised_prompt_hash": "812807419bc8555d"
          }
        },
        "revised_zoom_t2i": {
          "0": "Photorealistic cinematic still. C09O07, 수리영, in a sporty windbreaker, a young Korean woman, head and shoulders visible in left profile, occupying the right half of the frame. Her dark smartphone, its thin edge and front glass only partially visible, is pressed against her ear as she is gazing into the distance with a tense eye line. Cold fluorescent kennel daylight washes her flat facial complexion in pale, muted blue-gray tones, devoid of natural warmth, with a restrained warm glint catching the edge of the phone. [: The side faces of wet metal shelter cage bars recede diagonally behind her profile, remaining visible as an out-of-focus surrounding element and dissolving into a soft blue-gray blur of kennel rows in the cold, slightly hazy shelter air, the wet metal faintly catching the light.]"
        },
        "revised_zoom_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "c4a8ec9182e1ba65",
            "revised_prompt_hash": "0a69d814d3a11a06"
          }
        }
      },
      {
        "group_id": "vca-s12-zoom-2",
        "anchor_type": "zoom_continuity",
        "members": [
          {
            "scene_index": 12,
            "shot_index": 7,
            "role": "source_wide"
          },
          {
            "scene_index": 12,
            "shot_index": 12,
            "role": "zoom"
          }
        ],
        "locked_elements": [
          {
            "confidence": "high",
            "description": "The focal hand in the insert must belong to the same dead Korean middle-aged woman/mother who is slumped on the floor in the window-side corner.",
            "evidence_quote": "\"앉은 채로 고개를 떨군 채 죽어있는 엄마- 민숙!!!!\" / WIDE staging: \"한국인 중년 여성’s full body slumped on the floor\" / ZOOM staging: \"한국인 중년 여성’s slack fingers\"",
            "kind": "subject_pose"
          },
          {
            "confidence": "high",
            "description": "A single crumpled photograph must be held inside or between the dead mother’s slack fingers.",
            "evidence_quote": "\"엄마 손안에 구겨진 사진 한 장이 보인다.\" / ZOOM staging: \"the crumpled old photograph trapped between them\"",
            "kind": "held_prop"
          },
          {
            "confidence": "high",
            "description": "The photograph must be old, crumpled/creased, and smeared or stained with red blood.",
            "evidence_quote": "ZOOM staging: \"crumpled old photograph\"; \"blood-smeared and creased\"; \"old, wrinkled, stained with fresh red blood\"",
            "kind": "prop_state"
          },
          {
            "confidence": "high",
            "description": "The floor around the body/hand must show wet dark-red blood.",
            "evidence_quote": "\"바닥에 흥건한 혈흔.\" / WIDE staging: \"blood-stained floor\" with \"wet patches and footprints, dark red against cold floor\" / ZOOM staging: \"blood on the floor\" with \"fresh, glossy, dark red\"",
            "kind": "surface_state"
          },
          {
            "confidence": "medium",
            "description": "The visible sleeve edge beside the wrist in the insert must be bloodied and still connected to the dead woman’s body/clothing.",
            "evidence_quote": "ZOOM staging: \"only a narrow margin of bloody floor and sleeve for scale\"; \"bloodied sleeve cuff\"; \"the cuff edge angles into frame beside the wrist\"",
            "kind": "prop_state"
          }
        ],
        "wide_shot_contract": [
          "The wide shot must show the dead Korean middle-aged woman/mother slumped on the floor in the window-side corner, so the insert hand clearly belongs to that same body.",
          "The wide shot must include a visible slack hand/fingers of the dead woman holding one crumpled old photograph; this is the zoom shot’s focal subject and must be present in the wide frame.",
          "The photograph in the wide shot must already appear crumpled/old and blood-smeared or blood-stained, matching the insert.",
          "The floor around the body/hand in the wide shot must show wet dark-red blood, matching the blood visible around the insert.",
          "The wide shot must keep the body under/near the parted curtain and closed night-dark window, because that is the spatial corner from which the insert is taken."
        ],
        "camera_relation": "different_camera_same_moment",
        "camera_relation_evidence": "WIDE staging: \"From low-to-mid height near the foot of the bed, the static camera faces the window-side corner wide enough to hold 한국인 중년 여성’s full body slumped on the floor.\" ZOOM staging: \"At knee height beside the body, the camera pushes into an extreme insert angled downward, isolating 한국인 중년 여성’s slack fingers and the crumpled old photograph trapped between them.\"",
        "per_shot_consumption_hints": {
          "12:7": {
            "include_in_wide": true
          },
          "12:12": {
            "crop_from_source": false
          }
        },
        "revised_wide_t2i": {
          "0": "Photorealistic cinematic still. Captured from a low-to-mid height near the foot of an unmade bed, the dim bed frame occupies the foreground to anchor the view toward the room's window-side corner. Fully visible in the lower corner of the frame is C08O06 in a stained apron homewear, a Korean woman in her 40s with dark hair, angled at three-quarter from the right, lying motionless and lifeless on the floor. She is slumped under the parted curtain and the closed, night-dark window, her head bowed with eyes closed. One slack hand lies clearly visible beside her body, the bloodied sleeve cuff still connected to her stained clothing, and her limp fingers hold a single old crumpled photograph, creased and smeared with fresh red blood. Surrounding her body and hand, deep, wet dark-red blood pools on the floor, catching faint reflections. Looming above her, the curtain and the closed, night-dark glass of the window create a sealed, airless atmosphere. The room is enveloped in cold, dim blue-gray shadows cast by a weak floor lamp and ambient TV spill, strongly contrasting against the heavy dark red blood accents."
        },
        "revised_wide_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0d481351b8775a9f",
            "revised_prompt_hash": "ee5a864528c9b319"
          }
        },
        "revised_zoom_t2i": {
          "0": "Photorealistic cinematic still. P02, a single old crumpled photograph, is held trapped between the slack dead fingers of C08, the same Korean middle-aged mother lying motionless on the floor in the window-side corner. The camera looks downward from knee height in an extreme insert, isolating her lifeless hand and wrist, with the bloodied sleeve cuff still connected to her clothing angling into frame beside the wrist. The physical photograph face is partially visible to the camera, its surface wrinkled, creased, and smeared with fresh glossy dark red blood that catches a small hard highlight. Below and around the hand, a narrow margin of floor is visible, heavily stained and saturated with distinct wet dark-red blood pooling. The isolated area is enveloped in cold, dim blue-gray shadows cast by weak TV spill."
        },
        "revised_zoom_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "7af85775f5ad1c16",
            "revised_prompt_hash": "0c2adfb96506a7c2"
          }
        }
      },
      {
        "group_id": "vca-s13-zoom-3",
        "anchor_type": "zoom_continuity",
        "members": [
          {
            "scene_index": 13,
            "shot_index": 6,
            "role": "source_wide"
          },
          {
            "scene_index": 13,
            "shot_index": 7,
            "role": "zoom"
          }
        ],
        "locked_elements": [
          {
            "confidence": "high",
            "description": "혜수 must be physically holding 수리영 by clamping both hands onto 수리영's shoulders.",
            "evidence_quote": "\"혜수의 양손이 수리영의 어깨를 꽉 움켜쥔 측면 정지 구도.\"",
            "kind": "subject_pose"
          },
          {
            "confidence": "high",
            "description": "수리영 must be lifting her head and looking up toward 혜수, with tear-filled eyes and a half-open mouth.",
            "evidence_quote": "\"수리영\\n(올라다보며) 엄마가, 엄마가... 죽어있어.\" / \"수리영이 고개를 들어 혜수의 얼굴을 마주 본 채 눈물이 고인 눈으로 입술을 반쯤 벌린 정면 상체.\"",
            "kind": "subject_pose"
          },
          {
            "confidence": "high",
            "description": "혜수 must remain very close to 수리영 and focused on her.",
            "evidence_quote": "\"혜수 remains close at the edge as a shoulder-and-cheek presence she is looking up toward.\" / \"her eyes fixed on C09O07.\"",
            "kind": "subject_pose"
          },
          {
            "confidence": "high",
            "description": "A metal stair rail must remain in the immediate background near or behind the women.",
            "evidence_quote": "\"The rail runs horizontally behind their shoulders, its side facing camera.\" / \"The railing angles behind 혜수's shoulder, mostly side-on to camera.\"",
            "kind": "prop_state"
          },
          {
            "confidence": "high",
            "description": "The concrete stairwell surfaces must stay damp or wet and cold/dark in appearance.",
            "evidence_quote": "\"cold concrete, mottled with moisture\" / \"wet concrete with muted blue-gray staining\"",
            "kind": "surface_state"
          }
        ],
        "wide_shot_contract": [
          "The wide shot must visibly include 수리영 on the same narrow stair landing, with her upper body and shoulders present as the zoom shot's focal subject.",
          "The wide shot must visibly include 혜수 close to 수리영, with both hands clamped onto 수리영's shoulders.",
          "The wide shot must show 수리영 lifting or holding her gaze up toward 혜수, not disconnected from her, to match the zoom moment.",
          "The wide shot must include the damp concrete stairwell environment and the metal stair rail in the background so the close shot remains spatially continuous.",
          "Because the zoom is staged from 수리영's front/over-shoulder rather than the wide shot's strict side profile, it is not achievable as a same-axis pixel crop of the wide frame."
        ],
        "camera_relation": "different_camera_same_moment",
        "camera_relation_evidence": "WIDE: \"Static in strict side profile on the narrow lower landing at shoulder height, about 1.2 meters from the women, parallel to the stair rail\" and \"both bodies remain readable as opposing side silhouettes along the rail line.\" ZOOM: \"From just below 수리영 at the foot of the stairs, the camera finishes a short dolly-in and settles at chest-to-eye height about 0.9 meters from her front\" with 수리영's angle as \"facing_camera\" and 혜수's angle as \"over_shoulder.\"",
        "per_shot_consumption_hints": {
          "13:6": {
            "include_in_wide": true
          },
          "13:7": {
            "crop_from_source": false
          }
        },
        "revised_wide_t2i": {
          "0": "Photorealistic cinematic still. A medium framing at shoulder height in strict side profile, holding both women together on the same narrow stair landing with their upper bodies and shoulders visibly present. C06O05 in a navy inspector jacket, a Korean mid-40s woman, stands very close in right profile. Facing her is C09O07 in a sporty windbreaker, a Korean early-20s woman, in left profile. C06O05's hands clamp firmly onto C09O07's shoulders at the center of the frame, her eyes fixed intensely on C09O07. C09O07 stands locked under the hands, lifting her head and looking up toward C06O05 with tear-filled eyes and a half-open mouth. The narrow concrete landing recedes shallowly behind their bodies, while the cold damp concrete wall forms a wet, dark background plane separating the two profiles from the night. A metal stair rail runs horizontally in the immediate background behind their shoulders, catching faint glints. Fog-dulled, desaturated cool blue-gray tones dominate the space, with intense blue police-light pulses skimming across their sleeves and hands."
        },
        "revised_wide_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "c0260bad1387c653",
            "revised_prompt_hash": "732805b82650186b"
          }
        },
        "revised_zoom_t2i": {
          "0": "Photorealistic cinematic still. Shot from a close framing at chest-to-eye height. C09O07 in a sporty windbreaker, a Korean early-20s woman with long black hair and a youthful facial contour, facing the camera while lifting her chin and looking up toward the older woman gripping her, her pale, deeply shocked face dominating the upper frame, cheeks appearing ashen in the cold night air, eyes wide, glassy, tear-filled, and wet with moisture, catching the faint red and blue reflections of emergency lights, mouth half-open. She shares the narrow stair landing space with a Korean mid-40s woman in detective plainclothes, who appears as a partial over-the-shoulder presence at the frame edge with her back to the camera, leaning in very close, eyes fixed on C09O07, both hands clamped tightly onto C09O07's shoulders. The two figures are washed in foggy, desaturated blue-gray night tones, intermittently pierced by a faint red-blue emergency flicker. [: close background of a dark, damp concrete stair rise climbing upward behind the figures at a shallow angle, wet cold concrete landing surfaces and wall with muted blue-gray staining keeping the view boxed in, and a cold dimly reflective metal stair railing angling immediately behind the older woman's shoulder out of focus]."
        },
        "revised_zoom_prompt_provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "a4180ba37cad65d1",
            "revised_prompt_hash": "eed28aeadae25c1d"
          }
        }
      }
    ],
    "diagnostics": {
      "seeds_detected": 7,
      "groups_extracted": 3,
      "skipped": [
        {
          "seed": "S14sh5<-S12sh16",
          "reason": "cross_scene_zoom"
        },
        {
          "seed": "S16sh4",
          "reason": "zoom_subject_absent_in_source",
          "missing_chars": [
            "C18"
          ]
        },
        {
          "seed": "S20sh5",
          "reason": "zoom_subject_absent_in_source",
          "missing_chars": [
            "C06"
          ]
        },
        {
          "seed": "S23sh4",
          "reason": "zoom_subject_absent_in_source",
          "missing_chars": [
            "C09"
          ]
        },
        {
          "seed": "S29sh11",
          "reason": "zoom_subject_absent_in_source",
          "missing_chars": [
            "C09",
            "C24"
          ]
        }
      ],
      "revised_prompt_audit_violations": [],
      "rewrite_variation_skipped": [
        {
          "group": "S16sh4",
          "variation_index": 0,
          "reason": "zoom_subject_token_absent_in_original",
          "missing_chars": [
            "C18"
          ]
        },
        {
          "group": "S20sh5",
          "variation_index": 0,
          "reason": "zoom_subject_token_absent_in_original",
          "missing_chars": [
            "C06"
          ]
        },
        {
          "group": "S23sh4",
          "variation_index": 0,
          "reason": "zoom_subject_token_absent_in_original",
          "missing_chars": [
            "C09"
          ]
        },
        {
          "group": "S29sh11",
          "variation_index": 0,
          "reason": "zoom_subject_token_absent_in_original",
          "missing_chars": [
            "C09",
            "C24"
          ]
        }
      ],
      "candidate_same_moment_exact_background": [
        {
          "zoom": [
            12,
            16
          ],
          "source": [
            12,
            7
          ]
        },
        {
          "zoom": [
            13,
            6
          ],
          "source": [
            13,
            4
          ]
        },
        {
          "zoom": [
            14,
            10
          ],
          "source": [
            14,
            7
          ]
        },
        {
          "zoom": [
            15,
            5
          ],
          "source": [
            15,
            1
          ]
        },
        {
          "zoom": [
            15,
            7
          ],
          "source": [
            15,
            5
          ]
        },
        {
          "zoom": [
            25,
            7
          ],
          "source": [
            25,
            4
          ]
        },
        {
          "zoom": [
            26,
            10
          ],
          "source": [
            26,
            1
          ]
        }
      ],
      "ref_usage_source": "shot_dependency_t2i"
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "zoom_continuity_anchor",
  "run_id": "a4861b2a-3bd0-4a51-a673-a2593a11a1b6",
  "resolved_model": "gpt",
  "updated_at": "2026-06-12T05:35:47.457552+00:00",
  "project_config_snapshot": {}
}