{
  "schema_version": 1,
  "project_id": "011-Hieu-Sach-Dong-Cua-Vao-Ngay-Chung-Toi-Ly-Hon",
  "run_id": "run-20260720T040439Z-a596ad16",
  "status": "passed",
  "verified": true,
  "candidate_sha256": "5888dbfc59e6f512468604030956bcd381fbd21f890c853c4ceda909ff9b963b",
  "word_count": 11904,
  "predicted_minutes": 50.688444444444436,
  "voice_test_receipt": "log/voice-test.json",
  "validation_report": "work/story/run-20260720T040439Z-a596ad16/validation-report.json",
  "originality_report": "script/originality-report.json",
  "gates": {
    "global_coherence": {
      "verified": true,
      "basis": "20 locked beats in causal order; teaser reconnect rewritten to add context instead of verbatim replay; timeline day 1 through day 30 and one-year epilogue consistent"
    },
    "comprehension": {
      "verified": true,
      "basis": "ASR-only listening transcript identifies Hồi Đăng, closing time, divorce effectiveness, movie invitation and 30-day rewind without source text"
    },
    "dialogue": {
      "verified": true,
      "basis": "speaker turns anchored by names/actions; no unresolved same-gender ambiguity; short conversational turns dominate"
    },
    "identity": {
      "verified": true,
      "basis": "forbidden one-syllable alias scan PASS for Vãn/Thu/Cảnh/Hành after full-name masking"
    },
    "continuity": {
      "verified": true,
      "basis": "30-day countdown, ownership, keys, letters, book inventory and job decisions reconciled through ending"
    },
    "reveal": {
      "verified": true,
      "basis": "R1-R6 occur at locked beats; poster limit excludes hidden sacrifices and final restart"
    },
    "narration_hygiene": {
      "verified": true,
      "basis": "deterministic validator PASS; NFC UTF-8, no headings/CTA/metadata/tabs/trailing spaces/excess blank runs"
    },
    "originality": {
      "verified": true,
      "basis": "compared against 9 available production canon files; no matching 12-gram or duplicate paragraph"
    },
    "voice_test": {
      "verified": true,
      "sample_words": 720,
      "duration_seconds": 183.95,
      "measured_wpm": 234.84642565914655
    },
    "listening_test": {
      "verified": true,
      "method": "faster-whisper small CPU transcript from voice-test WAV without consulting source during transcription",
      "answers": {
        "where": "Hiệu sách Hồi Đăng, sau đó Trung tâm Dịch vụ Hôn nhân Tân Châu",
        "who_doing_what": "Lâm Vãn Thu đóng hiệu sách; Tạ Cảnh Hành tháo đèn và mời cô xem phim; hai người đã nộp đơn ly hôn",
        "what_happened": "Hồi Đăng đóng cửa và giấy ly hôn có hiệu lực cùng tối",
        "why_important": "Hai kết thúc trùng nhau; lời mời đầu tiên trao quyền từ chối",
        "odd_words": "ASR sai rải rác một số âm tiết như Vãn/Vạn và chìa/trìa, nhưng không làm mất người, bối cảnh, hành động hay câu hỏi trung tâm"
      },
      "transcript_path": "/data/video-pipeline/HaTramAudio/project/011-Hieu-Sach-Dong-Cua-Vao-Ngay-Chung-Toi-Ly-Hon/work/story/run-20260720T040439Z-a596ad16/voice-test-transcript.txt"
    },
    "tts_lexicon": {
      "verified": true,
      "items": [
        {
          "text": "Hồi Đăng",
          "result": "ASR nhận ổn định"
        },
        {
          "text": "Tạ Cảnh Hành",
          "result": "ASR nhận ổn định"
        },
        {
          "text": "Lâm Vãn Thu",
          "result": "ASR nhận họ và cấu trúc tên; một lần Vãn bị ghi Vạn"
        },
        {
          "text": "Tân Châu",
          "result": "ASR nhận đúng"
        }
      ]
    }
  },
  "completed_at": "2026-07-20T04:31:07.205503+00:00"
}
