{
  "schema_version": 1,
  "project_id": "031",
  "run_id": "run-20260723T010035Z-09393c41",
  "title": "Buổi Diễn Cuối Trước Ngày Tốt Nghiệp",
  "mode": "AUTO_EXECUTE",
  "family_lock": {
    "main": "3.1 Ngôn tình học đường / thanh xuân",
    "secondary": null,
    "required_engine": "Hai sinh viên trưởng thành bị buộc hợp tác trong dự án tốt nghiệp; năng lực bù trừ tạo thân mật, cạnh tranh học bổng và hiểu lầm về lần bỏ cuộc cũ tạo lực cản.",
    "required_payoffs": [
      "công khai lựa chọn nhau",
      "cùng trưởng thành qua lựa chọn chủ động",
      "quyết định tương lai sau tốt nghiệp bằng năng lực và đồng thuận"
    ],
    "supporting_setting_only": "nhà hát thực nghiệm của trường đại học",
    "forbidden_drift": [
      "chữa lành thuần túy",
      "bí ẩn nghề nghiệp lấn át quan hệ học đường",
      "hào môn",
      "hôn ước",
      "họ truyện thứ ba"
    ]
  },
  "creative_options": [
    {
      "id": "A",
      "score": 96,
      "selected": true,
      "logline": "Một nữ quản lý sân khấu sắp tốt nghiệp buộc phải hợp tác với nam sinh viên thiết kế âm thanh từng bỏ cô giữa buổi thi năm nhất để cứu vở diễn tốt nghiệp và cạnh tranh suất học bổng duy nhất, nhưng bản ghi tổng duyệt cũ cho thấy lần bỏ đi ấy có một phần sự thật cả hai đều hiểu sai.",
      "hook": "Trước giờ mở màn, toàn bộ hệ thống âm thanh mất tín hiệu và tên tôi bị gạch khỏi danh sách nhận học bổng. Người duy nhất có thể cứu buổi diễn là Tạ Cảnh Du, người đã bỏ tôi lại trên sân khấu ba năm trước. Anh đặt chiếc tai nghe cũ vào tay tôi và nói nếu lần này anh rời bàn điều khiển, tôi có quyền tự tay tắt toàn bộ buổi diễn.",
      "story_engine": "deadline buổi diễn + hợp tác bắt buộc + cạnh tranh học bổng + bản ghi cũ được tái diễn giải + các lần đổi quyền điều khiển sân khấu",
      "distinctive_evidence": "chiếc tai nghe có hai kênh ghi tách biệt, chứng minh mỗi người chỉ nghe được một nửa chỉ dẫn trong buổi thi cũ",
      "real_loss": "nữ chính tự rút tên khỏi bản đề cử không minh bạch và có thể mất suất thực tập; nam chính công khai lỗi từng im lặng nên có thể mất học bổng",
      "active_climax": "nữ chính quyết định diễn tiếp theo phương án không phụ thuộc một cá nhân; nam chính trao quyền điều khiển và công khai sửa credit trước hội đồng",
      "family_payoff": "họ công khai chọn cùng dựng một vở diễn độc lập sau tốt nghiệp, nhưng mỗi người ký hợp đồng nghề nghiệp riêng"
    },
    {
      "id": "B",
      "score": 89,
      "selected": false,
      "logline": "Hai bạn cùng bàn cũ tái ngộ trong câu lạc bộ kịch và phải đổi vai để hoàn thành luận án biểu diễn.",
      "rejection": "động cơ cạnh tranh và bằng chứng đổi cách hiểu yếu hơn option A"
    },
    {
      "id": "C",
      "score": 87,
      "selected": false,
      "logline": "Một nữ sinh đạo diễn thuê người từng là đối thủ diễn thay nam chính bị thương trước liên hoan sinh viên.",
      "rejection": "nguy cơ trôi sang câu chuyện cứu show đơn tuyến và payoff học đường kém đặc trưng"
    }
  ],
  "story_brief": {
    "target_words": [9240, 13860],
    "tts_words_per_minute": 231,
    "pov": "ngôi thứ nhất nữ",
    "setting": "Đại học Nghệ thuật Tây Lăng, Hàng Châu, Trung Quốc; năm cuối đại học; mọi nhân vật tình cảm đều trưởng thành",
    "protagonist": "Tống Vãn Ninh, 22 tuổi, quản lý sân khấu; giỏi tổ chức nhưng tin rằng muốn được công nhận phải tự gánh mọi thứ",
    "love_interest": "Tạ Cảnh Du, 23 tuổi, sinh viên thiết kế âm thanh; giỏi xử lý sự cố nhưng né giải thích và từng để sự im lặng gây tổn thương",
    "opposition": "áp lực học bổng, hội đồng chấm dự án, trưởng nhóm muốn độc chiếm credit và niềm tin sai của hai nhân vật",
    "motif": "chiếc tai nghe hai kênh và đèn báo sân khấu",
    "central_question": "họ có thể trao quyền điều khiển cho nhau mà không biến tình yêu thành sự phụ thuộc hay không",
    "ending": "viên mãn; công khai lựa chọn nhau sau khi credit, học bổng và hợp đồng nghề nghiệp được xử lý độc lập"
  },
  "beats": [
    "01 cold open: âm thanh mất tín hiệu, tên Vãn Ninh bị gạch, Cảnh Du trao quyền tắt buổi diễn",
    "02 trở lại sáu tuần trước: dự án tốt nghiệp và suất học bổng duy nhất",
    "03 hội đồng buộc Vãn Ninh và Cảnh Du cùng phụ trách vở diễn",
    "04 Cảnh Du phát hiện sơ đồ tín hiệu của Vãn Ninh đã dự phòng lỗi chính",
    "05 trưởng nhóm Lương Khải Minh công khai nghi ngờ năng lực Vãn Ninh",
    "06 mini-payoff: Cảnh Du dùng log kỹ thuật bảo vệ credit của cô",
    "07 chiếc tai nghe cũ xuất hiện và gây hiểu sai mới",
    "08 hai người chia ca đêm, nhận ra năng lực bù trừ",
    "09 buổi diễn thử trước toàn khoa thất bại vì một thay đổi không được ghi log",
    "10 midpoint: hai kênh ghi âm cho thấy năm nhất mỗi người chỉ nghe một nửa chỉ dẫn",
    "11 Vãn Ninh biết Cảnh Du đã rời sân khấu để ngăn tai nạn nhưng anh vẫn sai vì không quay lại giải thích",
    "12 họ gần nhau hơn nhưng thống nhất không dùng tình cảm để đổi credit hay học bổng",
    "13 Khải Minh sửa danh sách đóng góp và nộp hồ sơ học bổng thay nhóm",
    "14 Vãn Ninh chọn sai: tự rút khỏi đề cử để giữ buổi diễn",
    "15 mất mát thật: cô mất suất phỏng vấn thực tập và nhóm mất quyền dùng sân khấu chính",
    "16 Cảnh Du công khai log, nhận phần lỗi im lặng và từ chối nhận credit của cô",
    "17 Vãn Ninh lập phương án diễn phân tán, trao quyền cho từng tổ thay vì tự gánh",
    "18 nhóm sinh viên giành lại sân khấu bằng buổi kiểm tra an toàn minh bạch",
    "19 cold open bắt kịp: hệ thống mất tín hiệu; Vãn Ninh chủ động chuyển sang phương án dự phòng",
    "20 Cảnh Du không cứu thay cô; anh giữ đúng kênh hỗ trợ đã được phân quyền",
    "21 Khải Minh buộc phải công khai thay đổi trái phép vì log và nhân chứng độc lập",
    "22 buổi diễn hoàn tất; hội đồng sửa credit và tổ chức xét học bổng lại",
    "23 Vãn Ninh và Cảnh Du nhận hai cơ hội nghề nghiệp riêng, công khai lựa chọn yêu nhau",
    "24 epilogue: đèn báo chuyển xanh; họ mở buổi diễn sinh viên mới với hai bàn điều khiển độc lập"
  ],
  "family_gate_plan": {
    "school_youth_setting": [2, 3, 9, 15, 18, 22],
    "forced_proximity_and_complementary_skills": [3, 4, 8, 12],
    "public_protection_and_recognition": [6, 16, 21, 22],
    "growth_and_future_choice": [17, 20, 23, 24],
    "third_family_absent": true
  },
  "tts_contract": {
    "narration_transform": "unicode_lowercase",
    "required_assertion": "spoken_text == canon_text.lower()",
    "uppercase_count_required": 0
  },
  "status": "BRIEF_ARCH_VOICE_LOCKED"
}
