{
  "schema_version": 1,
  "project_id": "018-Hon-Uoc-Khong-Duoc-Phep-Yeu",
  "run_id": "run-20260721T040505Z-cd9f944a",
  "owner": "zoro",
  "status": "completed",
  "verified": true,
  "canonical_title": "Hôn Ước Không Được Phép Yêu",
  "story_family": {
    "main": "Hào môn / tổng tài / liên hôn",
    "secondary": "Cưới trước yêu sau / hôn ước từ bé"
  },
  "authority": {
    "story_canon": {
      "path": "story/story-canon.txt",
      "sha256": "d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78"
    },
    "spoken_narration": {
      "path": "story/spoken-narration.txt",
      "sha256": "d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78"
    },
    "tts_audio": {
      "path": "audio/story-full.wav",
      "sha256": "1f78d70445770dea08b5690880a53bdff83cdeb7ca0e735f93510ad6edd0de79"
    },
    "intro_poster": {
      "path": "image/normalized/intro-poster-1920x1080.png",
      "sha256": "e9da2b4a8ed90e9f947392bc8f7099ecec080e0d567769b8cff8477c04dd5722"
    },
    "layout": {
      "path": "image/normalized/layout-1920x1080.png",
      "sha256": "2405027103a759b350a6c3a735ea754b3c5d5831d333a0c19e1f4fb48dfc6103"
    },
    "intro_video": {
      "path": "output/intro/intro.mp4",
      "sha256": "85b3a62e2a4a9e8f02566edaefce4970bc3bd0f687957989b2d8eb848b1d3d69"
    },
    "metadata": {
      "path": "output/info.txt",
      "sha256": "2b12350b71dab64af7b92820f1db14c331e240d4eed15c512c68b83aef59c662"
    },
    "footage": {
      "path": "output/footage/footage.mp4",
      "sha256": "d1f0270a646bf22b93a1071374656eac6b02e1bbe3052feb04a56b4dbbd6c1db"
    },
    "final_master": {
      "path": "output/final.mp4",
      "sha256": "84a03605abf5ed4e6bd5d31b6319fa9501e7e0fc031a603b05b721fb8f5a8656"
    },
    "upload_copy": {
      "path": "output/final-upload.mp4",
      "sha256": "bbadb5780a1565038d7df378cb0bfffa75a2cac07020ab1764c5d89f3cba47ae",
      "bytes": 776257735
    }
  },
  "receipts": {
    "story": "script/story-manifest.json",
    "tts": "script/tts-manifest.json",
    "tts_independent_audit": "log/tts-independent-audit.json",
    "artwork_layout": "image/layout-manifest.json",
    "intro": "log/intro-render.json",
    "metadata": "log/metadata.json",
    "footage": "log/footage-render.json",
    "final": "log/final-render.json",
    "transcode_upload": "log/transcode-upload.json",
    "publish_ready": "log/publish-ready.json",
    "schedule": "log/postiz-schedule.json",
    "calendar_readback": "log/calendar-readback.json",
    "storage_cleanup": "log/storage-cleanup.json"
  },
  "steps": {
    "story": "completed",
    "tts": "completed",
    "artwork": "completed",
    "intro": "completed",
    "footage": "completed",
    "final_render": "completed",
    "transcode_upload": "completed",
    "metadata": "completed",
    "upload": "completed",
    "schedule": "completed",
    "calendar_readback": "completed",
    "storage_cleanup": "completed"
  },
  "publish_blocked": false,
  "updated_at": "2026-07-21T09:01:08.699407Z",
  "lifecycle": "scheduled_verified",
  "scheduled": true,
  "published": false,
  "completed_at": "2026-07-21T09:01:08.699407Z"
}
