{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "scene_heading": "S#1. 숲속 / 해 질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "금월산 피해 남성은 한쪽 신발이 벗겨지고 허벅지에서 피가 나는 채 수풀을 헤치며 도망치고 있다.",
            "after_state": "검은 인영이 쏜살같이 달려와 금월산 피해 남성을 덮쳐 도주를 중단시킨다.",
            "description": "부상당한 금월산 피해 남성의 도주가 검은 인영의 기습으로 좌절된다."
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "가로등 아래 뒤엉킨 두 사람의 행동은 겉으로는 남녀의 격정적인 접촉처럼 보인다.",
            "after_state": "붉은 눈동자와 목의 살점을 뜯는 이빨이 드러나면서 포식성 공격임이 밝혀진다.",
            "description": "두 사람의 접촉이 친밀 행위가 아니라 효장동 피해 여성을 향한 공격으로 전환되어 인식된다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "효장동 피해 여성은 공격자에게 붙들린 채 서 있다.",
            "after_state": "효장동 피해 여성이 힘없이 쓰러진다.",
            "description": "목을 공격당한 효장동 피해 여성이 저항하거나 서 있을 수 없는 상태가 된다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "두 사건은 각각 숲과 뒷골목에서 벌어진 정체불명의 공격으로만 제시되어 있다.",
            "after_state": "기자 음성을 통해 금월산 등산로와 효장동에서 변사체가 발견됐다는 사실이 알려진다.",
            "description": "앞선 두 공격이 사망 사건으로 이어졌음이 뉴스로 확인된다."
          }
        ]
      },
      {
        "scene_index": 3,
        "scene_heading": "S#3. 현장 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "금월산 피해 남성과 효장동 피해 여성은 각 사건 장소에 쓰러져 있었고 사건의 공적 대응은 제시되지 않았다.",
            "after_state": "경찰이 두 현장에 폴리스 라인을 치고 감식과 시신 수거를 진행한다.",
            "description": "두 사망 사건이 경찰의 공식 현장 수사 단계로 넘어간다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "현장 수사의 지휘자가 누구인지는 드러나지 않았다.",
            "after_state": "혜수가 형사들 사이에서 사건을 지휘하고 있음이 확인된다.",
            "description": "혜수가 연쇄 변사 사건의 현장 지휘자라는 정보가 제시된다."
          },
          {
            "beat_index": 3,
            "change_type": "situation",
            "before_state": "두 변사체가 발견되어 현장 감식이 진행되는 수준이다.",
            "after_state": "경찰이 수사본부를 설치하고 갑호 비상령을 내린 비상 대응 상태가 된다.",
            "description": "형체를 알아볼 수 없는 시신 두 구의 연속 발견으로 경찰 대응 수위가 격상된다."
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "경찰은 수사본부와 비상령을 통해 사건에 대응하고 있다.",
            "after_state": "경찰이 범인의 윤곽조차 잡지 못했고 소문이 퍼지면서 주민들의 불안과 두려움이 커지고 있음이 알려진다.",
            "description": "강화된 경찰 대응에도 수사가 진전되지 않아 지역사회의 공포가 확대된다."
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "S#5. 옥탑방 안 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "reaction",
            "before_state": "강민숙은 어두운 표정으로 연쇄 변사 사건 뉴스를 뚫어지게 보고 있다.",
            "after_state": "수리영이 방에서 나오자 강민숙은 황급히 TV를 끄고 다정한 태도를 취한다.",
            "description": "강민숙이 수리영의 등장에 반응해 사건에 대한 불안과 관심을 감춘다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "수리영은 TV에서 본 사건이 무엇인지 강민숙에게 묻는다.",
            "after_state": "강민숙은 사건이 아니라고 부인하고 수리영에게 신경 끄라고 말한다.",
            "description": "강민숙이 사건 정보를 수리영에게 숨기기로 한다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "수리영은 식탁에 앉아 강민숙과 사건에 관해 이야기하고 있다.",
            "after_state": "강민숙이 석창포 달인 물을 따라 주고 수리영이 마신다.",
            "description": "대화의 초점이 사건에서 강민숙의 일상적인 돌봄 행위로 옮겨간다."
          },
          {
            "beat_index": 4,
            "change_type": "information",
            "before_state": "강민숙은 방학인 수리영이 집에서 더 쉴 것으로 생각한다.",
            "after_state": "수리영이 원장의 부탁으로 아르바이트를 하러 가야 한다고 알린다.",
            "description": "수리영에게 당일 아르바이트 일정이 있다는 사실을 강민숙이 알게 된다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "수리영은 강민숙과 식탁에서 아침 시간을 보내고 있다.",
            "after_state": "수리영은 외출복 차림으로 신발을 신으며 아르바이트를 나갈 준비를 마친다.",
            "description": "수리영이 집 안의 일상에서 외출 행동으로 전환한다."
          },
          {
            "beat_index": 6,
            "change_type": "decision",
            "before_state": "수리영과 강민숙은 각자 아르바이트와 오후 근무 일정만 공유한 상태다.",
            "after_state": "수리영이 일이 끝난 뒤 마트에서 만나 외식하자고 제안하고 강민숙이 동의한다.",
            "description": "두 사람이 저녁에 마트에서 만나 함께 식사하기로 약속한다."
          },
          {
            "beat_index": 7,
            "change_type": "information",
            "before_state": "강민숙의 손목 표식은 수리영에게 어릴 때부터 익숙한 흔적이다.",
            "after_state": "수리영은 표식이 오늘따라 유난히 또렷해 보인다는 점을 알아차린다.",
            "description": "수리영이 강민숙의 손목 표식에 평소와 다른 선명함이 있음을 감지한다."
          },
          {
            "beat_index": 8,
            "change_type": "decision",
            "before_state": "수리영은 강민숙의 손목 표식이 유난히 선명해진 것을 인식한다.",
            "after_state": "수리영은 익숙한 표식이라는 이유로 대수롭지 않게 넘긴다.",
            "description": "수리영이 표식의 변화를 문제 삼지 않기로 한다."
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "수리영은 이어폰을 끼고 밝고 활기찬 상태로 해안가 도로를 달리고 있다.",
            "after_state": "주변에 거친 개 짖는 소리가 들리기 시작한다.",
            "description": "평온한 자전거 이동에 개 짖는 소리가 끼어들며 유기견 보호원 환경으로 이어진다."
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "reaction",
            "before_state": "로트와일러는 사납게 짖고 날뛰며 금방이라도 물 듯한 기세를 보인다.",
            "after_state": "수리영과 눈을 마주친 로트와일러의 기세가 수그러든다.",
            "description": "흥분한 맹견이 수리영의 시선에 반응해 온순해진다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "로트와일러가 난폭해 예방접종을 하기 어려운 상태다.",
            "after_state": "로트와일러가 진정된 사이 의사가 엉덩이에 주사를 놓는다.",
            "description": "수리영이 맹견을 진정시킨 덕분에 예방접종이 완료된다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 보호원에서 처리해야 할 전체 작업량을 알지 못한다.",
            "after_state": "수리영은 모든 개의 예방접종과 미용을 오늘 끝내야 한다는 지시를 받는다.",
            "description": "수리영에게 많은 양의 당일 업무가 주어진다."
          },
          {
            "beat_index": 4,
            "change_type": "emotion",
            "before_state": "수리영은 평소처럼 아르바이트를 수행하려 한다.",
            "after_state": "갇힌 개들을 보며 한숨을 쉬고 강민숙과의 약속에 늦을 것 같다고 걱정한다.",
            "description": "과중한 작업량을 확인한 수리영이 저녁 약속 지연을 우려한다."
          },
          {
            "beat_index": 5,
            "change_type": "situation",
            "before_state": "수리영은 지연 가능성을 알리기 위해 강민숙과 연락하려 한다.",
            "after_state": "강민숙이 전화를 받지 않아 연락이 닿지 않는다.",
            "description": "수리영의 첫 연락 시도가 실패한다."
          },
          {
            "beat_index": 6,
            "change_type": "action",
            "before_state": "수리영은 연락이 닿지 않은 이유를 강민숙이 바쁘기 때문이라고 여기고 있다.",
            "after_state": "보호원 도우미의 호출을 받고 달려가 털 깎기, 연고 바르기, 목욕 등의 작업에 착수한다.",
            "description": "수리영이 연락 시도를 멈추고 밀린 보호원 업무에 집중한다."
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 보호원 일을 마친 뒤 강민숙과 만나기로 한 마트로 이동 중이다.",
            "after_state": "마트에 도착해 자전거를 세우고 안으로 들어가 강민숙을 찾는다.",
            "description": "수리영이 저녁 약속을 실행하기 위해 마트에 도착한다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "수리영은 약속대로 강민숙이 마트에서 근무하며 기다리고 있을 것으로 예상한다.",
            "after_state": "마트 안을 찾아봐도 강민숙이 보이지 않는다.",
            "description": "예상된 약속 장소에서 강민숙이 사라진 상황이 드러난다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 아직 마트 안에 있거나 잠시 자리를 비웠다고 생각한다.",
            "after_state": "직원에게서 강민숙이 수리영을 만나러 간다며 일찍 조퇴했다는 말을 듣는다.",
            "description": "강민숙이 이미 마트를 떠났다는 새로운 정보가 수리영에게 전달된다."
          },
          {
            "beat_index": 4,
            "change_type": "emotion",
            "before_state": "수리영은 마트에서 강민숙을 만나기로 한 약속을 확신하고 있다.",
            "after_state": "강민숙이 자신을 만나러 조퇴했다는 말에 약속 장소가 어긋난 이유를 이해하지 못하고 혼란스러워한다.",
            "description": "서로의 행선지가 맞지 않는다는 사실로 수리영의 감정이 혼란으로 바뀐다."
          },
          {
            "beat_index": 5,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 혼자 마트를 떠난 것으로 알고 있다.",
            "after_state": "마트 남자 직원의 말로 강민숙이 밖에서 정체불명의 누군가와 이야기했다는 사실을 알게 된다.",
            "description": "강민숙의 조퇴에 제삼자가 관련되었을 가능성이 생긴다."
          },
          {
            "beat_index": 6,
            "change_type": "situation",
            "before_state": "수리영은 강민숙의 행방을 확인하려고 다시 연락한다.",
            "after_state": "강민숙이 또 전화를 받지 않아 행방을 직접 확인할 수 없게 된다.",
            "description": "보호원에 이어 마트에서도 강민숙과의 연락이 실패한다."
          },
          {
            "beat_index": 7,
            "change_type": "decision",
            "before_state": "수리영은 마트에서 강민숙을 찾지 못했고 전화도 연결되지 않은 상태다.",
            "after_state": "강민숙이 집에 있을 가능성을 확인하기 위해 곧바로 귀가하기로 한다.",
            "description": "수리영이 기다리거나 더 수소문하는 대신 집으로 향한다."
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 마트에서 강민숙을 찾지 못한 뒤 집에 가기로 결정한 상태다.",
            "after_state": "수리영은 밤의 해안도로에서 자전거를 빠르게 몰아 집으로 향한다.",
            "description": "강민숙의 행방을 확인하려는 결정이 다급한 귀가 행동으로 실행된다."
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "옥탑방 옥상에는 바람에 빨랫줄과 말린 석창포만 움직이고 있다.",
            "after_state": "민숙을 찾아온 낯선 남자가 옥상으로 걸어와 옥탑방 철문 앞에 멈춘다.",
            "description": "고요한 옥상에 정체불명의 방문자가 침입 목적으로 접근한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "옥탑방 철문은 잠겨 있어 민숙을 찾아온 낯선 남자가 밖에 서 있다.",
            "after_state": "민숙을 찾아온 낯선 남자가 광고 전단지를 문틈에 밀어 넣어 잠금장치를 푼다.",
            "description": "낯선 남자가 도구처럼 전단지를 사용해 잠긴 현관을 해제한다."
          },
          {
            "beat_index": 3,
            "change_type": "situation",
            "before_state": "민숙을 찾아온 낯선 남자는 잠금이 풀린 철문 밖에 있다.",
            "after_state": "철문이 미세하게 열리고 민숙을 찾아온 낯선 남자가 옥탑방 안으로 들어간다.",
            "description": "외부의 수상한 방문이 주거 공간 내부 침입으로 바뀐다."
          },
          {
            "beat_index": 4,
            "change_type": "situation",
            "before_state": "민숙을 찾아온 낯선 남자가 옥탑방 안으로 들어갔지만 내부 상황은 직접 보이지 않는다.",
            "after_state": "창문 반사면 안에서 낯선 남자가 강민숙을 덮쳐 어깨를 물어뜯는 듯한 그림자가 보이고 비명이 들린다.",
            "description": "직접 시야가 아닌 창문 반사면과 비명을 통해 강민숙이 공격당하는 듯한 위기 상황이 제시된다."
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "민숙을 찾아온 낯선 남자가 옥탑방에 침입한 가운데 수리영은 자전거로 귀가 중이며 내부 상황을 모른다.",
            "after_state": "수리영은 빌라에 도착해 자전거를 급히 세우고 옥탑방으로 연결된 계단을 오른다.",
            "description": "수리영이 강민숙의 행방을 확인하기 위해 집 안으로 급히 접근한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "수리영은 강민숙을 찾겠다는 생각으로 계단을 오르고 있다.",
            "after_state": "갑자기 역겨운 냄새를 감지하고 무엇인지 의문을 품는다.",
            "description": "수리영의 단순한 귀가 행동이 이상 징후에 대한 경계로 바뀐다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 냄새의 원인과 옥탑방 내부 상태를 알지 못한다.",
            "after_state": "옥상에 올라온 수리영은 평소와 달리 현관 철문이 반쯤 열려 있는 것을 발견한다.",
            "description": "수리영이 옥탑방에 침입 또는 사고가 발생했을 가능성을 암시하는 현관 상태를 확인한다."
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 집 안에 있을 가능성을 두고 이름을 부르며 들어온다.",
            "after_state": "식은 냄비와 켜진 TV, 희미한 불빛을 통해 집이 갑자기 비워진 듯한 이상함을 감지한다.",
            "description": "수리영이 생활 흔적만 남은 거실을 발견한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 방에 있을 것으로 기대한다.",
            "after_state": "강민숙의 방이 비어 있고 식탁에는 두 사람이 있었음을 암시하는 찻잔 두 개가 남아 있음을 알게 된다.",
            "description": "강민숙의 부재와 외부 방문 가능성을 보여주는 흔적이 드러난다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 마지막으로 자신의 방을 확인하려 한다.",
            "after_state": "방 안의 핏자국과 흥건한 혈흔, 커튼까지 이어진 피 묻은 발자국을 발견한다.",
            "description": "단순한 실종 의심이 유혈 사건의 징후로 바뀐다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "before_state": "수리영은 피 묻은 발자국 끝의 커튼 앞에서 두려움에 멈춰 있다.",
            "after_state": "호흡을 죽이고 커튼을 젖혀 그 뒤를 확인한다.",
            "description": "수리영이 공포를 억누르고 커튼 뒤를 확인한다."
          },
          {
            "beat_index": 5,
            "change_type": "information",
            "before_state": "커튼 뒤에 무엇이 있는지 알 수 없다.",
            "after_state": "수리영은 상처 입은 채 움직이지 않는 강민숙을 발견하고 강민숙이 죽었다고 인식한다.",
            "description": "수리영이 커튼 뒤의 강민숙을 발견한다."
          },
          {
            "beat_index": 6,
            "change_type": "emotion",
            "before_state": "수리영은 강민숙을 발견하고 즉시 달려가려 한다.",
            "after_state": "뜯긴 어깨와 쇄골의 참혹한 상처를 확인한 뒤 충격과 공포로 얼어붙고 뒤로 물러난다.",
            "description": "강민숙의 상처가 수리영의 절박함을 극심한 공포로 전환시킨다."
          },
          {
            "beat_index": 7,
            "change_type": "decision",
            "before_state": "수리영은 충격 속에서 혼자 강민숙 앞에 서 있다.",
            "after_state": "외부의 도움을 구하기로 하고 혜수에게 전화를 건다.",
            "description": "수리영이 떨리는 손으로 혜수에게 연락한다."
          },
          {
            "beat_index": 8,
            "change_type": "situation",
            "before_state": "수리영의 구조 요청이 혜수에게 전달될지 불확실하다.",
            "after_state": "혜수가 전화를 받아 수리영의 위기 상황을 들을 수 있는 연결이 생긴다.",
            "description": "혜수가 전화를 받지만 수리영은 충격 때문에 대답하지 못한다."
          },
          {
            "beat_index": 9,
            "change_type": "information",
            "before_state": "수리영의 주의는 강민숙의 시신과 통화에 머물러 있다.",
            "after_state": "강민숙의 손에 구겨진 사진이 쥐어져 있음을 발견한다.",
            "description": "수리영이 강민숙의 손에서 새로운 단서를 발견한다."
          },
          {
            "beat_index": 10,
            "change_type": "information",
            "before_state": "강민숙의 문신과 침대 벽은 평범한 상태로 인식된다.",
            "after_state": "수리영의 지각 속에서 강민숙의 문신이 붉게 변하고 벽에 붉은 원이 생겨나는 이상 현상이 나타난다.",
            "description": "수리영이 문신의 변색과 벽에 그려지는 듯한 붉은 원을 목격한다."
          },
          {
            "beat_index": 11,
            "change_type": "reaction",
            "before_state": "수리영은 이상 현상을 보며 호흡이 빨라진다.",
            "after_state": "공포를 감당하지 못하고 비명을 지른다.",
            "description": "연속된 이상 현상이 수리영의 반응을 비명으로 폭발시킨다."
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 강민숙과 붉은 원을 목격한 충격 속에 옥탑방 안에 있다.",
            "after_state": "비명을 지르며 옥탑방을 빠져나와 계단 아래로 도망친다.",
            "description": "수리영이 공포의 현장에서 탈출한다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "수리영은 혼자 충격에 빠져 도움 없이 서 있다.",
            "after_state": "사이렌과 함께 혜수와 김형사가 현장에 도착한다.",
            "description": "수리영에게 경찰의 현장 지원이 도착한다."
          },
          {
            "beat_index": 3,
            "change_type": "reaction",
            "before_state": "혜수는 초점을 잃은 수리영을 발견한 상태다.",
            "after_state": "수리영의 이상 상태를 알아차리고 급히 달려가 사정을 묻는다.",
            "description": "혜수가 수리영의 상태에 즉각 대응한다."
          },
          {
            "beat_index": 4,
            "change_type": "information",
            "before_state": "혜수는 옥탑방에서 무슨 일이 일어났는지 모른다.",
            "after_state": "수리영으로부터 강민숙이 죽어 있다는 말을 듣는다.",
            "description": "혜수가 강민숙의 사망 주장에 충격을 받는다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "혜수와 김형사는 옥탑방 밖에서 수리영과 대화하고 있다.",
            "after_state": "수리영의 말을 확인하기 위해 옥탑방으로 뛰어 올라간다.",
            "description": "혜수와 김형사가 현장 확인에 착수한다."
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "혜수와 김형사는 수리영이 말한 시신과 범죄 흔적이 집 안에 있을 것으로 보고 수색한다.",
            "after_state": "집 안 어디에서도 시신이나 사건 흔적을 찾지 못한다.",
            "description": "현장 수색 결과 수리영의 증언을 뒷받침할 것이 없다는 사실이 드러난다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "수리영은 자신의 목격이 사실이라고 확신한다.",
            "after_state": "혜수의 '아무것도 없다'는 말에 즉시 방으로 뛰어가 직접 확인한다.",
            "description": "수리영이 수색 결과를 받아들이지 못하고 방으로 달려간다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 자신의 방에 혈흔과 붉은 원, 강민숙의 시신이 있을 것으로 기대한다.",
            "after_state": "방이 지나치게 깨끗하고 모든 흔적과 시신이 사라져 있음을 확인한다.",
            "description": "수리영의 기억과 현재 방의 상태가 정면으로 충돌한다."
          },
          {
            "beat_index": 4,
            "change_type": "emotion",
            "before_state": "수리영은 목격한 장면을 확신한 채 방으로 들어왔다.",
            "after_state": "증거가 전혀 없는 상황에 얼굴이 파리해지며 혼란에 빠진다.",
            "description": "현실의 불일치가 수리영의 확신을 흔든다."
          },
          {
            "beat_index": 5,
            "change_type": "information",
            "before_state": "수리영은 식탁의 찻잔이 자신의 기억을 입증할 수 있다고 여긴다.",
            "after_state": "식탁마저 깨끗하고 찻잔 두 개도 사라졌음을 확인한다.",
            "description": "거실의 증거까지 사라져 수리영의 증언이 더욱 고립된다."
          },
          {
            "beat_index": 6,
            "change_type": "relationship",
            "before_state": "김형사는 수리영을 사건 신고자로 대하고 있다.",
            "after_state": "수리영의 말을 장난전화나 살인사건 보도의 영향으로 간주하며 의심하고 질책한다.",
            "description": "김형사의 태도가 확인자에서 수리영을 불신하는 쪽으로 변한다."
          },
          {
            "beat_index": 7,
            "change_type": "relationship",
            "before_state": "김형사가 수리영을 몰아붙이고 혜수가 이를 지켜본다.",
            "after_state": "혜수가 김형사를 내보내고 수리영의 어깨를 감싸며 보호자 역할을 취한다.",
            "description": "혜수가 김형사의 압박을 차단하고 수리영 편에 선다."
          },
          {
            "beat_index": 8,
            "change_type": "information",
            "before_state": "수리영은 강민숙의 시신이 실제로 사라졌다고 믿는다.",
            "after_state": "혜수로부터 과로로 인한 악몽이나 착각일 수 있다는 대안적 설명을 듣는다.",
            "description": "혜수가 수리영의 경험을 과로에 따른 착각으로 재해석한다."
          },
          {
            "beat_index": 9,
            "change_type": "situation",
            "before_state": "수리영의 기억 속 방 배치와 현재 방의 상태가 같다고 전제된다.",
            "after_state": "백팩과 인형의 위치가 시신 발견 당시와 미세하게 달라져 누군가 방을 손댔을 가능성이 관객에게 제시된다.",
            "description": "깨끗해진 방 안에 미세한 배치 변화가 남아 있음이 드러난다."
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 해안가에 멍하니 앉아 강민숙의 부재와 자신의 목격을 의심하고 있다.",
            "after_state": "혜수가 음료수를 건네며 수리영의 상태를 살핀다.",
            "description": "혜수가 혼란에 빠진 수리영을 돌보기 시작한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "수리영은 자신이 본 시신이 현실인지 착각인지 판단하지 못한다.",
            "after_state": "강민숙에게 그런 일이 생겼을 리 없다는 이유로 자신이 잘못 봤다는 설명을 받아들이려 한다.",
            "description": "수리영이 목격을 착각으로 잠정 해석한다."
          },
          {
            "beat_index": 3,
            "change_type": "decision",
            "before_state": "수리영은 혜수와 함께 정류장에 앉아 혼란을 정리하고 있다.",
            "after_state": "강민숙의 행방을 다시 확인하기 위해 집으로 돌아가기로 결심한다.",
            "description": "수리영이 갑자기 일어나 귀가를 선택한다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "before_state": "혜수는 수리영이 혼자 갈 수 있는지 확인한다.",
            "after_state": "수리영은 혼자 갈 수 있다고 답하고 집을 향해 달려간다.",
            "description": "수리영이 혜수와 헤어져 행동에 나선다."
          },
          {
            "beat_index": 5,
            "change_type": "relationship",
            "before_state": "혜수와 수리영의 대화는 현장에서 끝나려 한다.",
            "after_state": "혜수가 강민숙을 만나면 자신에게 연락하라는 부탁을 남겨 두 사람의 공조를 이어간다.",
            "description": "혜수가 이후 상황을 공유해 달라고 수리영에게 요청한다."
          },
          {
            "beat_index": 6,
            "change_type": "situation",
            "before_state": "혜수와 수리영의 만남은 둘만의 대화처럼 보인다.",
            "after_state": "정체가 확인되지 않은 관찰자의 시선처럼 연출된 카메라 시점이 두 사람을 향한다.",
            "description": "물리적 관찰자의 존재는 확인되지 않지만 누군가 지켜보는 듯한 불안이 형성된다."
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "혜수는 수리영 앞에서 강민숙에게 별일 없을 가능성을 내세웠다.",
            "after_state": "강민숙이 계속 전화를 받지 않자 숨겨 두었던 불길함이 커진다.",
            "description": "혜수의 내면이 표면적인 안심에서 실제 불안으로 이동한다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "혜수는 강민숙에게 직접 연락해 상황을 확인하려 한다.",
            "after_state": "연락만 기다리지 않고 김형사에게 강민숙의 휴대전화 위치추적을 요청한다.",
            "description": "혜수가 강민숙의 행방을 적극적으로 추적하기로 한다."
          },
          {
            "beat_index": 3,
            "change_type": "reaction",
            "before_state": "김형사는 위치추적 요청을 즉시 처리할 필요성을 느끼지 못한다.",
            "after_state": "오늘은 기다려 보자며 요청에 소극적으로 반응한다.",
            "description": "김형사가 혜수의 긴급 판단에 제동을 건다."
          },
          {
            "beat_index": 4,
            "change_type": "information",
            "before_state": "김형사는 강민숙의 연락 두절을 일시적인 일로 본다.",
            "after_state": "혜수로부터 강민숙은 딸과의 약속을 어기거나 장시간 외출할 사람이 아니며 주변 관계도 적다는 정보를 듣는다.",
            "description": "혜수가 연락 두절이 평소 행동과 명백히 다르다는 근거를 제시한다."
          },
          {
            "beat_index": 5,
            "change_type": "decision",
            "before_state": "혜수는 막연한 불안을 느끼고 있다.",
            "after_state": "강민숙의 연락 두절을 비정상적인 사태로 확신하고 위치추적 필요성을 고수한다.",
            "description": "혜수가 나쁜 예감을 명시하며 기다리지 않겠다는 태도를 굳힌다."
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "앞선 사건과 수색이 벌어진 밤이 이어지고 있다.",
            "after_state": "시간이 동틀 무렵으로 넘어가고 불이 켜진 옥탑방이 새벽의 정적 속에 남는다.",
            "description": "밤이 새벽으로 바뀌지만 옥탑방의 불은 계속 켜져 있다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "검은 고양이가 불이 켜진 옥탑방을 바라본다.",
            "after_state": "검은 고양이가 시선을 거두고 담을 넘어 사라진다.",
            "description": "옥탑방을 살피던 검은 고양이가 현장을 떠난다."
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "reaction",
            "before_state": "수리영은 밤새 강민숙을 기다리다 침대에 기대어 잠들어 있다.",
            "after_state": "고양이 울음소리에 놀라 깨어나 강민숙이 돌아왔을 가능성을 떠올린다.",
            "description": "수리영이 소리를 강민숙의 귀가 신호로 기대하며 잠에서 깬다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 집에 돌아왔을 수 있다고 기대한다.",
            "after_state": "집 안을 살핀 뒤 아무 인기척도 없고 강민숙이 여전히 돌아오지 않았음을 확인한다.",
            "description": "수리영의 귀가 기대가 다시 부재 확인으로 바뀐다."
          },
          {
            "beat_index": 3,
            "change_type": "emotion",
            "before_state": "수리영은 집 안에서 강민숙을 찾는 데 집중한다.",
            "after_state": "닫힌 자신의 방을 보자 커튼 뒤의 강민숙과 상처, 혈흔에 대한 기억이 되살아나 두려워진다.",
            "description": "플래시백 속 과거 이미지가 수리영의 공포를 재점화한다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "수리영은 두려움 때문에 닫힌 방문 앞에서 망설인다.",
            "after_state": "크게 심호흡한 뒤 방 안을 다시 확인하기로 하고 문을 연다.",
            "description": "수리영이 공포를 억누르고 재확인을 선택한다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "수리영은 깨끗한 방에 들어왔지만 커튼 뒤를 아직 확인하지 못했다.",
            "after_state": "창문으로 다가가 커튼을 단번에 열어젖힌다.",
            "description": "수리영이 가장 두려운 장소를 직접 확인한다."
          },
          {
            "beat_index": 6,
            "change_type": "emotion",
            "before_state": "수리영은 커튼 뒤에 강민숙의 시신이 다시 있을까 두려워한다.",
            "after_state": "시신이 없음을 확인하고 일단 안도한다.",
            "description": "커튼 뒤가 비어 있는 사실이 수리영에게 잠시 안도감을 준다."
          },
          {
            "beat_index": 7,
            "change_type": "reaction",
            "before_state": "수리영은 한숨을 쉬며 긴장을 낮춘다.",
            "after_state": "갑자기 울린 전화벨에 화들짝 놀라 전화를 받으러 달려간다.",
            "description": "전화벨이 수리영을 다시 긴장 상태로 돌려놓는다."
          },
          {
            "beat_index": 8,
            "change_type": "information",
            "before_state": "수리영은 전화 상대가 강민숙이기를 기대하며 받는다.",
            "after_state": "통화 상대가 강민숙이 아니라 혜수임을 알게 된다.",
            "description": "수리영의 기대가 혜수의 목소리로 꺾인다."
          },
          {
            "beat_index": 9,
            "change_type": "decision",
            "before_state": "수리영은 자신의 목격이 착각일 가능성을 받아들이려 했다.",
            "after_state": "밤새 강민숙이 돌아오지 않자 사고가 난 것이 분명하다고 판단한다.",
            "description": "수리영이 착각에 대한 의심에서 사고 가능성에 대한 확신으로 이동한다."
          },
          {
            "beat_index": 10,
            "change_type": "information",
            "before_state": "수리영은 강민숙의 연락 두절에 아무 조치도 없는 것으로 느낀다.",
            "after_state": "혜수가 실종신고를 했고 휴대전화 위치를 추적 중이라는 사실을 알게 된다.",
            "description": "혜수가 공식 수사 절차가 시작되었음을 알려준다."
          },
          {
            "beat_index": 11,
            "change_type": "decision",
            "before_state": "수리영은 혜수의 조치를 믿고 집에서 기다려야 하는 상태다.",
            "after_state": "무작정 기다리는 불안을 견디지 못하고 백팩을 챙겨 직접 움직이려 한다.",
            "description": "수리영이 수동적인 기다림을 끝내고 외출 준비에 나선다."
          },
          {
            "beat_index": 12,
            "change_type": "information",
            "before_state": "수리영이 직접 바라보는 욕실 벽은 평범하다.",
            "after_state": "거울의 반사면 안에서만 욕실 벽에 붉은 원이 갑자기 나타난 것을 지각한다.",
            "description": "수리영이 거울 속에 한정된 붉은 원을 다시 목격한다."
          },
          {
            "beat_index": 13,
            "change_type": "reaction",
            "before_state": "수리영은 거울 속 붉은 원을 보고 호흡이 가빠진다.",
            "after_state": "형상이 실제 벽에도 있는지 확인하려고 급히 고개를 돌린다.",
            "description": "수리영이 반사면의 이상 현상을 직접 시야로 검증한다."
          },
          {
            "beat_index": 14,
            "change_type": "information",
            "before_state": "수리영은 욕실 벽에 붉은 원이 실제로 존재할 가능성을 두려워한다.",
            "after_state": "직접 바라본 벽에는 붉은 원이 없음을 확인한다.",
            "description": "붉은 원이 반사면에서만 나타난 지각임이 드러난다."
          },
          {
            "beat_index": 15,
            "change_type": "action",
            "before_state": "수리영은 욕실에서 이상 현상에 압도되어 있다.",
            "after_state": "욕실을 뛰쳐나와 물을 마시며 진정하려 한다.",
            "description": "수리영이 공포에서 벗어나기 위해 거실로 피한다."
          },
          {
            "beat_index": 16,
            "change_type": "information",
            "before_state": "식탁 위 사진 속 강민숙의 얼굴은 정상적인 모습이다.",
            "after_state": "수리영의 지각 속에서 사진 인화면 안의 강민숙 얼굴이 뭉개져 흘러내리는 것처럼 변한다.",
            "description": "사진 내부에서만 강민숙의 얼굴이 왜곡되어 보인다."
          },
          {
            "beat_index": 17,
            "change_type": "reaction",
            "before_state": "수리영은 사진을 보며 이상 여부를 확인하고 있다.",
            "after_state": "얼굴이 무너지는 듯한 형상에 공포를 느껴 비명을 지른다.",
            "description": "사진의 지각적 왜곡이 수리영의 비명을 유발한다."
          },
          {
            "beat_index": 18,
            "change_type": "information",
            "before_state": "수리영은 사진 속 강민숙의 얼굴이 변형되었다고 지각한다.",
            "after_state": "다시 본 사진이 정상임을 확인해 변화가 사진 밖의 물리적 현실이 아니었음을 알게 된다.",
            "description": "재확인하자 사진 속 강민숙의 얼굴이 멀쩡하게 돌아와 있다."
          },
          {
            "beat_index": 19,
            "change_type": "decision",
            "before_state": "수리영은 반복되는 이상 지각 때문에 자신이 통제력을 잃는다고 느낀다.",
            "after_state": "자신의 뺨을 때리고 이름을 부르며 정신을 다잡기로 한다.",
            "description": "수리영이 스스로를 각성시키며 공포와 혼란을 통제하려 한다."
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 집에서 강민숙의 행방을 걱정하고만 있었다.",
            "after_state": "수리영은 자전거를 타고 마트에 와 마트 남자 직원을 직접 찾아다닌다.",
            "description": "수리영이 수동적인 기다림을 중단하고 강민숙의 행적을 조사하기 시작한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "수리영은 강민숙이 마트에 출근했을 가능성을 배제하지 못한다.",
            "after_state": "수리영은 강민숙이 오늘도 결근했다는 사실을 알게 된다.",
            "description": "마트 남자 직원이 강민숙의 연속 결근 사실을 알려준다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 전날 강민숙이 만난 상대의 정체에 관한 단서가 없다.",
            "after_state": "수리영은 강민숙이 남자로 보이는 누군가와 대화했다는 단서를 얻는다.",
            "description": "마트 남자 직원의 기억을 통해 강민숙과 접촉한 사람이 남성이었을 가능성이 제기된다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "수리영은 목격자의 불확실한 기억만 가지고 있다.",
            "after_state": "수리영은 CCTV로 강민숙과 낯선 남자의 접촉을 확인하기로 한다.",
            "description": "수리영이 CCTV 열람을 요청하고 촬영 가능 위치를 확인한다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "수리영은 혼자 마트에서 단서를 확인하고 있다.",
            "after_state": "수리영은 혜수에게 전화해 상황을 공유하고 도움을 요청한다.",
            "description": "수리영이 단독 조사에서 혜수와의 공조로 전환한다."
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영과 혜수는 CCTV에 단서가 있을 것으로 예상할 뿐이다.",
            "after_state": "수리영과 혜수는 CCTV 녹화 영상을 직접 반복 확인한다.",
            "description": "두 사람이 강민숙의 접촉 장면을 찾기 위해 영상 검토를 시작한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "CCTV를 통해 강민숙과 상대를 식별할 수 있을 가능성이 있다.",
            "after_state": "모니터 속 해당 구간만 유독 어두워 대화하는 듯한 형체 외에는 식별할 수 없다는 사실이 확인된다.",
            "description": "영상에 장면은 남아 있지만 상대의 신원을 알아낼 수 없는 상태가 된다."
          },
          {
            "beat_index": 3,
            "change_type": "emotion",
            "before_state": "수리영은 CCTV에서 구체적인 단서를 얻을 수 있다는 기대를 품고 있다.",
            "after_state": "반복 확인에도 식별이 불가능하자 수리영의 불안이 깊어진다.",
            "description": "영상이 해답을 주지 못하면서 수리영의 정서가 기대에서 더 큰 불안으로 바뀐다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "혜수는 마트 현장에서만 영상을 확인하고 있다.",
            "after_state": "혜수는 전체 CCTV 영상을 가져가 별도로 복사·분석하기로 하고 허락을 얻는다.",
            "description": "혜수가 현장 확인을 넘어 영상 자료를 확보하는 방향으로 수사를 확장한다."
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "수리영과 혜수는 마트에서 단서를 추적하고 있다.",
            "after_state": "수리영과 혜수는 경찰서 사무실로 들어와 공식 실종 절차를 진행할 수 있게 된다.",
            "description": "조사 장소가 마트에서 경찰서로 바뀌고 실종 수사가 공식 단계로 넘어간다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "강민숙의 실종과 통화 내역 조회는 요청 의사만 있는 상태다.",
            "after_state": "실종신고서와 통화 의뢰 서류에 서명하는 행정 절차가 시작된다.",
            "description": "김형사가 관련 서류를 제시하면서 강민숙에 대한 공식 조회가 구체화된다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "혜수와 수리영은 강민숙의 휴대전화 위치가 이미 확인됐는지 모른다.",
            "after_state": "서류 전송 뒤 위치 결과가 전달될 예정이라는 사실을 알게 된다.",
            "description": "김형사가 휴대전화 위치 결과가 아직 대기 중임을 설명한다."
          },
          {
            "beat_index": 4,
            "change_type": "situation",
            "before_state": "혜수와 김형사는 강민숙의 실종 문제를 처리하고 있다.",
            "after_state": "살인사건 비상 회의가 소집되어 형사들이 즉시 자리를 비워야 하는 상황이 된다.",
            "description": "긴급 회의가 실종 대응을 중단시키는 외부 상황으로 개입한다."
          },
          {
            "beat_index": 5,
            "change_type": "situation",
            "before_state": "수리영은 혜수와 함께 경찰서에 있다.",
            "after_state": "혜수를 포함한 형사들이 회의로 나가고 수리영만 사무실에 남는다.",
            "description": "혜수가 잠시 기다리라고 한 뒤 떠나면서 수리영이 혼자 남게 된다."
          },
          {
            "beat_index": 6,
            "change_type": "information",
            "before_state": "수리영은 혜수의 책상 위 살인사건 사진들이 자신의 환각과 관련 있다고 생각하지 않는다.",
            "after_state": "수리영은 사진 속 훼손된 시신들이 자신이 본 강민숙의 시신 모습과 매우 흡사하다고 인지한다.",
            "description": "수리영이 사건 사진과 자신의 환각 사이의 섬뜩한 유사성을 발견한다."
          },
          {
            "beat_index": 7,
            "change_type": "situation",
            "before_state": "강민숙의 휴대전화 위치 결과는 아직 화면에 나타나지 않았다.",
            "after_state": "김형사의 모니터에 위치추적 결과 알림이 표시된다.",
            "description": "대기하던 위치 정보가 수리영이 혼자 있는 동안 도착한다."
          },
          {
            "beat_index": 8,
            "change_type": "decision",
            "before_state": "수리영은 타인의 모니터에 뜬 결과를 몰래 확인할지 망설인다.",
            "after_state": "주변에 아무도 없음을 확인한 뒤 직접 커서를 눌러 결과를 열어본다.",
            "description": "수리영이 규정을 기다리지 않고 위치 정보를 몰래 확인하기로 한다."
          },
          {
            "beat_index": 9,
            "change_type": "information",
            "before_state": "수리영은 강민숙의 휴대전화가 마지막으로 어디에 있었는지 모른다.",
            "after_state": "수리영은 마지막 위치가 해상 좌표이며 현재 휴대전화가 오프라인이라는 사실을 알게 된다.",
            "description": "모니터를 통해 강민숙의 마지막 GPS 위치와 통신 단절 상태가 드러난다."
          },
          {
            "beat_index": 10,
            "change_type": "emotion",
            "before_state": "수리영은 강민숙의 행방을 걱정하면서도 생존 가능성을 붙들고 있다.",
            "after_state": "마지막 위치가 바다라는 사실에 수리영이 사색이 될 만큼 충격받는다.",
            "description": "해상 좌표가 수리영의 불안을 강한 공포로 바꾼다."
          },
          {
            "beat_index": 11,
            "change_type": "decision",
            "before_state": "수리영은 혜수의 자리에서 기다리라는 지시를 받은 상태다.",
            "after_state": "수리영은 좌표를 메모해 숨기고 혼자 경찰서를 나가 직접 찾아가기로 한다.",
            "description": "수리영이 기다림을 포기하고 독자적인 추적에 나선다."
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 경찰서에서 얻은 해상 좌표만 가지고 있다.",
            "after_state": "수리영은 주차된 자전거를 타고 목적지를 찾기 위해 출발한다.",
            "description": "수리영이 좌표를 확보한 뒤 즉시 이동 행동으로 전환한다."
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영은 숫자로 된 해상 좌표만 알고 있어 구체적인 위치를 파악하지 못한다.",
            "after_state": "수리영은 PC에서 좌표를 입력해 지도상의 위치를 확인한다.",
            "description": "추상적인 좌표가 실제로 찾아갈 수 있는 지리 정보로 바뀐다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "수리영은 확인한 위치를 모니터에서만 볼 수 있다.",
            "after_state": "수리영은 여러 장의 지도를 인쇄해 접고 백팩에 넣어 이동 준비를 마친다.",
            "description": "수리영이 현장 추적에 사용할 지도 자료를 확보한다."
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "수리영은 지도상의 위치를 향해 이동할 준비를 마쳤다.",
            "after_state": "해안가에 천둥과 번개를 동반한 세찬 소나기가 쏟아져 이동 환경이 악화된다.",
            "description": "먹구름과 폭우가 수리영의 추적을 방해하는 환경으로 등장한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "수리영은 악천후로 인해 이동을 멈출 수도 있는 상황이다.",
            "after_state": "수리영은 강민숙을 찾아야 한다는 일념으로 자전거를 타고 빗속을 계속 달린다.",
            "description": "수리영이 폭우에도 추적을 중단하지 않고 해안가를 향해 전진한다."
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "수리영은 집이 이전처럼 유지되어 있을 것으로 예상한다.",
            "after_state": "수리영은 발자국, 열린 창, 쓰러진 의자와 뒤집힌 가재도구를 통해 누군가 집을 수색하고 간 듯한 상태를 발견한다.",
            "description": "옥탑방이 외부 침입으로 난장판이 된 정황이 드러난다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "수리영은 집으로 들어와 내부 상태를 살피고 있다.",
            "after_state": "침입 흔적을 확인한 수리영은 다시 호흡이 가빠질 만큼 불안해진다.",
            "description": "집 안의 이상 정황이 수리영의 불안을 즉각적인 공포 반응으로 바꾼다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 자신의 방에 무엇이 남겨져 있는지 모른다.",
            "after_state": "수리영은 벽의 붉은 원과 그 가운데 꽂힌 피 묻은 사진을 발견한다.",
            "description": "수리영의 방에 의도적으로 배치된 듯한 새로운 단서가 나타난다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "before_state": "피 묻은 사진은 벽에 꽂혀 있어 내용을 확인하기 어렵다.",
            "after_state": "수리영은 사진을 벽에서 떼어 가까이 들여다본다.",
            "description": "수리영이 수상한 사진을 직접 확보하고 조사한다."
          },
          {
            "beat_index": 5,
            "change_type": "information",
            "before_state": "수리영은 사진의 출처를 즉시 확신하지 못한다.",
            "after_state": "수리영은 현재의 사진이 과거 환각 속에서 죽은 강민숙의 손에 들려 있던 사진과 동일하다고 인지한다.",
            "description": "현재의 물리적 사진이 수리영의 과거 환각 이미지와 연결된다."
          },
          {
            "beat_index": 6,
            "change_type": "information",
            "before_state": "수리영은 오래된 사진 속 시골 식당과 두 아이의 의미를 모른다.",
            "after_state": "수리영은 사진 속 두 아이 중 한 명이 어린 시절의 강민숙임을 알아본다.",
            "description": "사진이 강민숙의 과거와 관련된 자료라는 새로운 사실이 드러난다."
          },
          {
            "beat_index": 7,
            "change_type": "emotion",
            "before_state": "수리영은 연속된 단서를 붙잡고 의미를 파악하려 한다.",
            "after_state": "기이한 사건들이 겹치자 수리영은 정신이 혼미해져 침대에 주저앉는다.",
            "description": "침입 흔적과 환각 속 사진의 현실화가 수리영을 압도한다."
          },
          {
            "beat_index": 8,
            "change_type": "decision",
            "before_state": "수리영은 혼란스러운 집 안에 주저앉아 있다.",
            "after_state": "수리영은 사진을 꼭 쥐고 백팩을 멘 채 이끌리듯 집을 나선다.",
            "description": "수리영이 혼란 속에서도 사진이 가리키는 단서를 따라 다시 움직이기로 한다."
          }
        ]
      },
      {
        "scene_index": 26,
        "scene_heading": "S#26. 포구 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "해안가에는 세찬 소나기가 쏟아지고 있다.",
            "after_state": "비가 그치고 포구 전체에 짙은 안개가 깔린다.",
            "description": "악천후가 폭우에서 시야를 차단하는 안개로 바뀐다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "수리영은 강민숙의 위치를 찾기 위해 포구를 돌아다닌다.",
            "after_state": "몇 시간 동안 성과 없이 수색한 수리영은 지쳐 갯바위에 앉는다.",
            "description": "장시간의 탐색이 실패하면서 수리영의 신체적 상황이 소진 상태로 변한다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영은 수색 중 혜수의 연락 상황을 확인하지 않고 있다.",
            "after_state": "수리영은 진동벨을 보고 혜수에게서 여러 통의 부재중 전화가 왔음을 알게 된다.",
            "description": "수리영이 혜수가 계속 자신을 찾고 있다는 사실을 확인한다."
          },
          {
            "beat_index": 4,
            "change_type": "situation",
            "before_state": "안개 낀 포구에는 이용할 수 있는 배가 전혀 보이지 않는다.",
            "after_state": "안개를 뚫고 배 한 척이 포구로 들어온다.",
            "description": "막혀 있던 해상 이동 가능성이 배의 등장으로 열린다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "수리영은 갯바위에서 배를 바라보고 있다.",
            "after_state": "수리영은 배로 다가가 닻줄을 고정하는 인우에게 말을 건다.",
            "description": "수리영이 해상 이동 수단을 확보하기 위해 인우와 접촉한다."
          },
          {
            "beat_index": 6,
            "change_type": "relationship",
            "before_state": "인우는 수리영을 힐끗 보기만 하며 대화에 응하지 않는다.",
            "after_state": "배가 이것뿐이고 강민숙을 찾아야 한다는 말을 들은 인우가 목적지를 묻기 시작한다.",
            "description": "인우의 태도가 무관심에서 제한적인 협상 상태로 바뀐다."
          },
          {
            "beat_index": 7,
            "change_type": "decision",
            "before_state": "인우는 수리영을 배에 태울지 망설이고 있다.",
            "after_state": "인우는 어차피 돌아가야 한다며 수리영의 승선을 허락한다.",
            "description": "수리영이 목적지를 승선 뒤 말하겠다고 하자 인우가 고민 끝에 동행을 받아들인다."
          },
          {
            "beat_index": 8,
            "change_type": "action",
            "before_state": "수리영은 혜수의 여러 전화에 답하지 않은 채 떠나려 한다.",
            "after_state": "수리영은 출항 전 혜수에게 잠시 다녀오겠다는 음성메시지를 남긴다.",
            "description": "수리영이 구체적인 목적지는 숨기면서도 자신의 출발 사실을 혜수에게 전달한다."
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "혜수는 연락이 끊긴 수리영의 현재 행동이나 의도를 알지 못한다.",
            "after_state": "혜수는 수리영이 잠시 어디론가 다녀오겠다고 남긴 녹음메시지를 확인한다.",
            "description": "혜수가 수리영이 자리를 떠났다는 제한적인 정보를 전달받는다."
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "수리영은 인우의 배를 타고 바다로 이동하고 있지만 목적지를 구체적으로 제시하지 않은 상태다.",
            "after_state": "수리영이 지도에 표시된 좌표를 인우에게 내밀며 북동쪽 약 70km 지점으로 가겠다는 뜻을 밝힌다.",
            "description": "수리영이 지도와 좌표를 제시해 항해 목적지를 구체화한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "인우는 수리영이 인근 섬으로 가려는 것으로 알고 있다.",
            "after_state": "인우는 수리영의 목적지가 섬이 아니라 아무것도 없는 바다라고 지적하며 기존의 이해가 틀렸음을 확인한다.",
            "description": "인우가 좌표와 수리영의 기존 설명 사이의 모순을 발견한다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "지도상의 좌표만으로는 인우에게 목적지를 납득시키지 못한 상태다.",
            "after_state": "수리영이 강민숙의 과거 모습이 담긴 사진을 보여주며 사진 속 장소로 데려가 달라고 요청한다.",
            "description": "수리영이 목적지를 찾기 위한 단서를 지도에서 사진으로 전환한다."
          },
          {
            "beat_index": 4,
            "change_type": "reaction",
            "before_state": "인우는 사진 속 장소에 대해 별다른 반응을 드러내지 않은 상태다.",
            "after_state": "인우가 사진을 보고 당황한 뒤 모른다고 강하게 부인한다.",
            "description": "사진이 인우에게 즉각적인 동요와 회피 반응을 일으킨다."
          },
          {
            "beat_index": 5,
            "change_type": "information",
            "before_state": "수리영은 인우가 사진 속 장소를 정말 모르는지 확신하지 못한다.",
            "after_state": "수리영은 사진 속 ‘금월’이라는 글씨와 흔들리는 인우의 시선을 근거로 인우가 장소를 안다고 판단한다.",
            "description": "수리영이 인우의 반응에서 장소를 알고 있다는 정황을 포착한다."
          },
          {
            "beat_index": 6,
            "change_type": "decision",
            "before_state": "인우는 수리영을 태운 채 항해를 계속하고 있다.",
            "after_state": "인우가 발작적으로 조타실로 달려가 뱃머리를 돌리려 한다.",
            "description": "인우가 목적지로 향하는 대신 배를 돌려 귀환하기로 행동을 바꾼다."
          },
          {
            "beat_index": 7,
            "change_type": "action",
            "before_state": "수리영은 갑판에서 인우가 배를 돌리려는 움직임을 목격한다.",
            "after_state": "수리영이 인우를 따라 조타실로 들어가 회항을 막는다.",
            "description": "수리영이 인우의 회항 시도에 개입하면서 갈등이 직접적인 몸싸움 직전의 대치로 발전한다."
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "앞 씬에서 인우가 배를 돌리려 하고 수리영이 그를 뒤쫓아 조타실로 들어온 상태다.",
            "after_state": "수리영이 인우의 회항을 막으며 배를 돌리려는 이유를 직접 추궁한다.",
            "description": "갑판에서 시작된 추격이 조타실 안의 직접 대치로 전환된다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "인우는 목적지에 대한 지식과 회항 이유를 명확히 밝히지 않은 채 배를 돌리려 한다.",
            "after_state": "인우는 그곳에는 갈 수 없고 수리영 같은 사람이 가서는 안 된다며 귀환 의사를 명시한다.",
            "description": "인우가 수리영의 목적지행을 단호하게 거부한다."
          },
          {
            "beat_index": 3,
            "change_type": "emotion",
            "before_state": "수리영은 인우의 거부에 맞서 공격적으로 이유를 따지고 있다.",
            "after_state": "수리영은 태도를 누그러뜨려 자신을 데려다 달라고 설득한다.",
            "description": "수리영이 추궁에서 회유로 감정적 접근을 바꾼다."
          },
          {
            "beat_index": 4,
            "change_type": "emotion",
            "before_state": "수리영은 인우를 설득해 목적지로 가려 한다.",
            "after_state": "설득이 통하지 않자 분노하며 강민숙이 그곳에 잡혀 있다고 주장한다.",
            "description": "수리영의 태도가 회유에서 절박한 분노로 바뀐다."
          },
          {
            "beat_index": 5,
            "change_type": "reaction",
            "before_state": "인우는 수리영이 단지 사라진 강민숙을 찾고 있다고 알고 있다.",
            "after_state": "인우는 강민숙이 그곳에 잡혀 있다는 말에 놀라 사실 여부를 되묻는다.",
            "description": "강민숙의 억류 가능성이 인우에게 예상 밖의 충격을 준다."
          },
          {
            "beat_index": 6,
            "change_type": "information",
            "before_state": "인우는 수리영이 강민숙의 억류를 확정된 사실로 말한 것으로 받아들인다.",
            "after_state": "수리영은 억류가 확정된 사실이 아니라 가능성에 불과하다고 정정한다.",
            "description": "강민숙의 소재에 관한 정보가 확정적 주장에서 추정으로 약화된다."
          },
          {
            "beat_index": 7,
            "change_type": "information",
            "before_state": "인우는 사진과 실종된 강민숙 사이의 관계를 모른다.",
            "after_state": "수리영은 사진 속 어린아이 중 한 명이 자신의 엄마 강민숙이라고 밝힌다.",
            "description": "사진이 강민숙의 과거와 직접 연결된 단서임이 인우에게 공개된다."
          },
          {
            "beat_index": 8,
            "change_type": "information",
            "before_state": "인우는 수리영의 엄마에 대한 구체적인 신원을 확인하지 못한 상태다.",
            "after_state": "수리영이 엄마의 이름은 강민숙이고 나이는 41세라고 알려준다.",
            "description": "강민숙의 이름과 나이가 인우에게 전달된다."
          },
          {
            "beat_index": 9,
            "change_type": "reaction",
            "before_state": "인우는 수리영의 설명을 질문하며 확인하고 있다.",
            "after_state": "인우가 ‘강민숙’이라는 이름을 되뇌며 사색이 될 정도로 충격을 받는다.",
            "description": "강민숙의 이름이 인우에게 강한 공포 또는 충격 반응을 일으킨다."
          },
          {
            "beat_index": 10,
            "change_type": "information",
            "before_state": "수리영은 인우의 정체와 앞서 본 붉은 원 사이의 연관성을 알지 못한다.",
            "after_state": "의식이 흐려지는 수리영의 시야에 여러 원과 붉은 원이 지각되고, 수리영은 인우를 의심하며 정체를 묻는다.",
            "description": "수리영이 조타실 안에서 지각한 원의 이미지와 인우를 연결해 위험한 존재일 가능성을 의심한다."
          },
          {
            "beat_index": 11,
            "change_type": "relationship",
            "before_state": "수리영과 인우는 서로를 경계하면서도 대화를 이어가는 대치 관계다.",
            "after_state": "인우가 수리영을 노려보면서 양자의 관계가 명백히 위협적인 구도로 바뀐다.",
            "description": "인우의 시선이 대치를 직접적인 위협 관계로 전환한다."
          },
          {
            "beat_index": 12,
            "change_type": "situation",
            "before_state": "수리영은 혼미해지면서도 인우에게 정체를 물을 정도의 의식을 유지하고 있다.",
            "after_state": "수리영이 의식을 잃고 인우의 어깨 위로 쓰러진다.",
            "description": "수리영이 행동 가능한 상태에서 무력화된 상태로 바뀐다."
          }
        ]
      },
      {
        "scene_index": 30,
        "scene_heading": "S#30. 바다 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "바다는 해질 무렵의 빛이 남아 있는 상태다.",
            "after_state": "해가 서서히 지면서 바다 위에 황금빛 그림자가 드리운다.",
            "description": "일몰이 진행되며 바다의 조명과 분위기가 황금빛으로 변한다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "앞 씬에서 수리영이 쓰러진 뒤 배는 아직 외부에서 모습을 확인할 수 있는 바다 위에 있다.",
            "after_state": "배가 세상과의 경계를 가리는 짙은 안개 띠 안으로 서서히 들어간다.",
            "description": "배가 가시적인 바다에서 시야가 차단된 안개 속으로 진입한다."
          }
        ]
      }
    ],
    "total_beats": 158
  },
  "step_id": "beat_extract",
  "run_id": "9c63b296-18c5-41a4-937e-0ae110020367",
  "resolved_model": "gpt",
  "updated_at": "2026-07-10T02:29:39.280692+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}