{
  "task_id": "20260710_190700_full-story-douyin_v1-complete",
  "project": "full-story-douyin",
  "phase": "v1-complete",
  "status": "completed",
  "created_at": "2026-07-10T11:07:00Z",
  "local_root": "E:\\集群文件夹\\factory_os\\short_video_real_data_pipeline\\phase4b_90s_formal_sample\\v22_kimi_claude_loop\\full_story_douyin_video",
  "public_root": "https://review.example.com/runs/20260710_190700_full-story-douyin_v1-complete/",
  "main_review_url": "https://review.example.com/runs/20260710_190700_full-story-douyin_v1-complete/index.html",
  "manifest_url": "https://review.example.com/runs/20260710_190700_full-story-douyin_v1-complete/manifest.json",
  "artifacts": [
    {
      "name": "FACT_CHECK_REPORT.md",
      "path": "artifacts\\FACT_CHECK_REPORT.md",
      "type": "markdown",
      "size": "3.4 KB",
      "source": "01_story\\FACT_CHECK_REPORT.md"
    },
    {
      "name": "conversation_and_execution_timeline.json",
      "path": "artifacts\\conversation_and_execution_timeline.json",
      "type": "json",
      "size": "6.6 KB",
      "source": "01_story\\conversation_and_execution_timeline.json"
    },
    {
      "name": "final_shotlist.csv",
      "path": "artifacts\\final_shotlist.csv",
      "type": "csv",
      "size": "4.6 KB",
      "source": "01_story\\final_shotlist.csv"
    },
    {
      "name": "final_voiceover_script_cn.md",
      "path": "artifacts\\final_voiceover_script_cn.md",
      "type": "markdown",
      "size": "2.1 KB",
      "source": "01_story\\final_voiceover_script_cn.md"
    },
    {
      "name": "onscreen_text.json",
      "path": "artifacts\\onscreen_text.json",
      "type": "json",
      "size": "5.7 KB",
      "source": "01_story\\onscreen_text.json"
    },
    {
      "name": "storyboard.md",
      "path": "artifacts\\storyboard.md",
      "type": "markdown",
      "size": "6.6 KB",
      "source": "01_story\\storyboard.md"
    },
    {
      "name": "concat.txt",
      "path": "artifacts\\concat.txt",
      "type": "text",
      "size": "228 B",
      "source": "02_voiceover\\concat.txt"
    },
    {
      "name": "seg_01_title.mp3",
      "path": "artifacts\\seg_01_title.mp3",
      "type": "other",
      "size": "62.0 KB",
      "source": "02_voiceover\\seg_01_title.mp3"
    },
    {
      "name": "seg_02_recording_fail.mp3",
      "path": "artifacts\\seg_02_recording_fail.mp3",
      "type": "other",
      "size": "71.6 KB",
      "source": "02_voiceover\\seg_02_recording_fail.mp3"
    },
    {
      "name": "seg_03_ai_drift.mp3",
      "path": "artifacts\\seg_03_ai_drift.mp3",
      "type": "other",
      "size": "72.0 KB",
      "source": "02_voiceover\\seg_03_ai_drift.mp3"
    },
    {
      "name": "seg_04_ui_render.mp3",
      "path": "artifacts\\seg_04_ui_render.mp3",
      "type": "other",
      "size": "86.9 KB",
      "source": "02_voiceover\\seg_04_ui_render.mp3"
    },
    {
      "name": "seg_05_kimi_score.mp3",
      "path": "artifacts\\seg_05_kimi_score.mp3",
      "type": "other",
      "size": "91.3 KB",
      "source": "02_voiceover\\seg_05_kimi_score.mp3"
    },
    {
      "name": "seg_06_v10_crash.mp3",
      "path": "artifacts\\seg_06_v10_crash.mp3",
      "type": "other",
      "size": "62.4 KB",
      "source": "02_voiceover\\seg_06_v10_crash.mp3"
    },
    {
      "name": "seg_07_rollback.mp3",
      "path": "artifacts\\seg_07_rollback.mp3",
      "type": "other",
      "size": "67.8 KB",
      "source": "02_voiceover\\seg_07_rollback.mp3"
    },
    {
      "name": "seg_08_deploy.mp3",
      "path": "artifacts\\seg_08_deploy.mp3",
      "type": "other",
      "size": "75.1 KB",
      "source": "02_voiceover\\seg_08_deploy.mp3"
    },
    {
      "name": "seg_09_ending.mp3",
      "path": "artifacts\\seg_09_ending.mp3",
      "type": "other",
      "size": "60.5 KB",
      "source": "02_voiceover\\seg_09_ending.mp3"
    },
    {
      "name": "voiceover_master.mp3",
      "path": "artifacts\\voiceover_master.mp3",
      "type": "other",
      "size": "2.0 MB",
      "source": "02_voiceover\\voiceover_master.mp3"
    },
    {
      "name": "voiceover_master.wav",
      "path": "artifacts\\voiceover_master.wav",
      "type": "other",
      "size": "20.3 MB",
      "source": "02_voiceover\\voiceover_master.wav"
    },
    {
      "name": "voiceover_master_fast.wav",
      "path": "artifacts\\voiceover_master_fast.wav",
      "type": "other",
      "size": "15.6 MB",
      "source": "02_voiceover\\voiceover_master_fast.wav"
    },
    {
      "name": "voiceover_segments.json",
      "path": "artifacts\\voiceover_segments.json",
      "type": "json",
      "size": "1.0 KB",
      "source": "02_voiceover\\voiceover_segments.json"
    },
    {
      "name": "captions_final.ass",
      "path": "artifacts\\captions_final.ass",
      "type": "other",
      "size": "3.0 KB",
      "source": "04_subtitles\\captions_final.ass"
    },
    {
      "name": "captions_final.srt",
      "path": "artifacts\\captions_final.srt",
      "type": "other",
      "size": "2.1 KB",
      "source": "04_subtitles\\captions_final.srt"
    },
    {
      "name": "captions_words.json",
      "path": "artifacts\\captions_words.json",
      "type": "json",
      "size": "2.8 KB",
      "source": "04_subtitles\\captions_words.json"
    },
    {
      "name": "all_scenes.txt",
      "path": "artifacts\\all_scenes.txt",
      "type": "text",
      "size": "3.3 KB",
      "source": "05_clips\\all_scenes.txt"
    },
    {
      "name": "concat_rel.txt",
      "path": "artifacts\\concat_rel.txt",
      "type": "text",
      "size": "431 B",
      "source": "05_clips\\concat_rel.txt"
    },
    {
      "name": "concat_unix.txt",
      "path": "artifacts\\concat_unix.txt",
      "type": "text",
      "size": "3.4 KB",
      "source": "05_clips\\concat_unix.txt"
    },
    {
      "name": "scenes_concat.txt",
      "path": "artifacts\\scenes_concat.txt",
      "type": "text",
      "size": "3.9 KB",
      "source": "05_clips\\scenes_concat.txt"
    },
    {
      "name": "audio_loudness_report.md",
      "path": "artifacts\\audio_loudness_report.md",
      "type": "markdown",
      "size": "489 B",
      "source": "07_review_package\\audio_loudness_report.md"
    },
    {
      "name": "fact_check_report.md",
      "path": "artifacts\\fact_check_report_1.md",
      "type": "markdown",
      "size": "1.2 KB",
      "source": "07_review_package\\fact_check_report.md"
    },
    {
      "name": "final_video_probe.md",
      "path": "artifacts\\final_video_probe.md",
      "type": "markdown",
      "size": "826 B",
      "source": "07_review_package\\final_video_probe.md"
    },
    {
      "name": "manifest.json",
      "path": "artifacts\\manifest.json",
      "type": "json",
      "size": "450 B",
      "source": "07_review_package\\manifest.json"
    },
    {
      "name": "source_asset_index.md",
      "path": "artifacts\\source_asset_index.md",
      "type": "markdown",
      "size": "782 B",
      "source": "07_review_package\\source_asset_index.md"
    },
    {
      "name": "storyboard_vs_video_check.md",
      "path": "artifacts\\storyboard_vs_video_check.md",
      "type": "markdown",
      "size": "1.4 KB",
      "source": "07_review_package\\storyboard_vs_video_check.md"
    },
    {
      "name": "subtitle_check.md",
      "path": "artifacts\\subtitle_check.md",
      "type": "markdown",
      "size": "522 B",
      "source": "07_review_package\\subtitle_check.md"
    },
    {
      "name": "voiceover_transcript.md",
      "path": "artifacts\\voiceover_transcript.md",
      "type": "markdown",
      "size": "1.8 KB",
      "source": "07_review_package\\voiceover_transcript.md"
    },
    {
      "name": "compose_final.py",
      "path": "artifacts\\compose_final.py",
      "type": "source",
      "size": "3.8 KB",
      "source": "logs\\compose_final.py"
    },
    {
      "name": "compose_final_v2.py",
      "path": "artifacts\\compose_final_v2.py",
      "type": "source",
      "size": "3.3 KB",
      "source": "logs\\compose_final_v2.py"
    },
    {
      "name": "compose_video.py",
      "path": "artifacts\\compose_video.py",
      "type": "source",
      "size": "30.5 KB",
      "source": "logs\\compose_video.py"
    },
    {
      "name": "ai_drift.png",
      "path": "previews\\ai_drift.png",
      "type": "image",
      "size": "22.9 KB",
      "source": "05_clips\\scene_frames\\ai_drift.png"
    },
    {
      "name": "chatgpt_fix.png",
      "path": "previews\\chatgpt_fix.png",
      "type": "image",
      "size": "49.6 KB",
      "source": "05_clips\\scene_frames\\chatgpt_fix.png"
    },
    {
      "name": "end_card.png",
      "path": "previews\\end_card.png",
      "type": "image",
      "size": "50.4 KB",
      "source": "05_clips\\scene_frames\\end_card.png"
    },
    {
      "name": "final_montage.png",
      "path": "previews\\final_montage.png",
      "type": "image",
      "size": "38.7 KB",
      "source": "05_clips\\scene_frames\\final_montage.png"
    },
    {
      "name": "five_fails.png",
      "path": "previews\\five_fails.png",
      "type": "image",
      "size": "50.1 KB",
      "source": "05_clips\\scene_frames\\five_fails.png"
    },
    {
      "name": "http_verify.png",
      "path": "previews\\http_verify.png",
      "type": "image",
      "size": "44.7 KB",
      "source": "05_clips\\scene_frames\\http_verify.png"
    },
    {
      "name": "kimi_intro.png",
      "path": "previews\\kimi_intro.png",
      "type": "image",
      "size": "49.4 KB",
      "source": "05_clips\\scene_frames\\kimi_intro.png"
    },
    {
      "name": "lesson.png",
      "path": "previews\\lesson.png",
      "type": "image",
      "size": "32.3 KB",
      "source": "05_clips\\scene_frames\\lesson.png"
    },
    {
      "name": "log_lines.png",
      "path": "previews\\log_lines.png",
      "type": "image",
      "size": "35.4 KB",
      "source": "05_clips\\scene_frames\\log_lines.png"
    },
    {
      "name": "multi_agent.png",
      "path": "previews\\multi_agent.png",
      "type": "image",
      "size": "41.2 KB",
      "source": "05_clips\\scene_frames\\multi_agent.png"
    },
    {
      "name": "punch.png",
      "path": "previews\\punch.png",
      "type": "image",
      "size": "23.4 KB",
      "source": "05_clips\\scene_frames\\punch.png"
    },
    {
      "name": "python_render.png",
      "path": "previews\\python_render.png",
      "type": "image",
      "size": "55.0 KB",
      "source": "05_clips\\scene_frames\\python_render.png"
    },
    {
      "name": "recording_fail.png",
      "path": "previews\\recording_fail.png",
      "type": "image",
      "size": "37.3 KB",
      "source": "05_clips\\scene_frames\\recording_fail.png"
    },
    {
      "name": "review_portal.png",
      "path": "previews\\review_portal.png",
      "type": "image",
      "size": "49.5 KB",
      "source": "05_clips\\scene_frames\\review_portal.png"
    },
    {
      "name": "rollback.png",
      "path": "previews\\rollback.png",
      "type": "image",
      "size": "45.0 KB",
      "source": "05_clips\\scene_frames\\rollback.png"
    },
    {
      "name": "score_bars.png",
      "path": "previews\\score_bars.png",
      "type": "image",
      "size": "38.2 KB",
      "source": "05_clips\\scene_frames\\score_bars.png"
    },
    {
      "name": "summary.png",
      "path": "previews\\summary.png",
      "type": "image",
      "size": "37.7 KB",
      "source": "05_clips\\scene_frames\\summary.png"
    },
    {
      "name": "title.png",
      "path": "previews\\title.png",
      "type": "image",
      "size": "40.3 KB",
      "source": "05_clips\\scene_frames\\title.png"
    },
    {
      "name": "v10_crash.png",
      "path": "previews\\v10_crash.png",
      "type": "image",
      "size": "40.5 KB",
      "source": "05_clips\\scene_frames\\v10_crash.png"
    },
    {
      "name": "v11_recovery.png",
      "path": "previews\\v11_recovery.png",
      "type": "image",
      "size": "53.7 KB",
      "source": "05_clips\\scene_frames\\v11_recovery.png"
    },
    {
      "name": "v9_peak.png",
      "path": "previews\\v9_peak.png",
      "type": "image",
      "size": "25.6 KB",
      "source": "05_clips\\scene_frames\\v9_peak.png"
    },
    {
      "name": "ai_drift.mp4",
      "path": "videos\\ai_drift.mp4",
      "type": "video",
      "size": "33.4 KB",
      "source": "05_clips\\ai_drift.mp4"
    },
    {
      "name": "chatgpt_fix.mp4",
      "path": "videos\\chatgpt_fix.mp4",
      "type": "video",
      "size": "66.0 KB",
      "source": "05_clips\\chatgpt_fix.mp4"
    },
    {
      "name": "end_card.mp4",
      "path": "videos\\end_card.mp4",
      "type": "video",
      "size": "68.0 KB",
      "source": "05_clips\\end_card.mp4"
    },
    {
      "name": "final_montage.mp4",
      "path": "videos\\final_montage.mp4",
      "type": "video",
      "size": "51.1 KB",
      "source": "05_clips\\final_montage.mp4"
    },
    {
      "name": "five_fails.mp4",
      "path": "videos\\five_fails.mp4",
      "type": "video",
      "size": "53.6 KB",
      "source": "05_clips\\five_fails.mp4"
    },
    {
      "name": "http_verify.mp4",
      "path": "videos\\http_verify.mp4",
      "type": "video",
      "size": "55.3 KB",
      "source": "05_clips\\http_verify.mp4"
    },
    {
      "name": "kimi_intro.mp4",
      "path": "videos\\kimi_intro.mp4",
      "type": "video",
      "size": "52.7 KB",
      "source": "05_clips\\kimi_intro.mp4"
    },
    {
      "name": "lesson.mp4",
      "path": "videos\\lesson.mp4",
      "type": "video",
      "size": "33.9 KB",
      "source": "05_clips\\lesson.mp4"
    },
    {
      "name": "log_lines.mp4",
      "path": "videos\\log_lines.mp4",
      "type": "video",
      "size": "39.9 KB",
      "source": "05_clips\\log_lines.mp4"
    },
    {
      "name": "multi_agent.mp4",
      "path": "videos\\multi_agent.mp4",
      "type": "video",
      "size": "47.0 KB",
      "source": "05_clips\\multi_agent.mp4"
    },
    {
      "name": "punch.mp4",
      "path": "videos\\punch.mp4",
      "type": "video",
      "size": "44.2 KB",
      "source": "05_clips\\punch.mp4"
    },
    {
      "name": "python_render.mp4",
      "path": "videos\\python_render.mp4",
      "type": "video",
      "size": "69.2 KB",
      "source": "05_clips\\python_render.mp4"
    },
    {
      "name": "recording_fail.mp4",
      "path": "videos\\recording_fail.mp4",
      "type": "video",
      "size": "48.8 KB",
      "source": "05_clips\\recording_fail.mp4"
    },
    {
      "name": "review_portal.mp4",
      "path": "videos\\review_portal.mp4",
      "type": "video",
      "size": "63.1 KB",
      "source": "05_clips\\review_portal.mp4"
    },
    {
      "name": "rollback.mp4",
      "path": "videos\\rollback.mp4",
      "type": "video",
      "size": "44.7 KB",
      "source": "05_clips\\rollback.mp4"
    },
    {
      "name": "scenes_joined.mp4",
      "path": "videos\\scenes_joined.mp4",
      "type": "video",
      "size": "1.0 MB",
      "source": "05_clips\\scenes_joined.mp4"
    },
    {
      "name": "score_bars.mp4",
      "path": "videos\\score_bars.mp4",
      "type": "video",
      "size": "68.2 KB",
      "source": "05_clips\\score_bars.mp4"
    },
    {
      "name": "summary.mp4",
      "path": "videos\\summary.mp4",
      "type": "video",
      "size": "41.0 KB",
      "source": "05_clips\\summary.mp4"
    },
    {
      "name": "test_title.mp4",
      "path": "videos\\test_title.mp4",
      "type": "video",
      "size": "20.3 KB",
      "source": "05_clips\\test_title.mp4"
    },
    {
      "name": "title.mp4",
      "path": "videos\\title.mp4",
      "type": "video",
      "size": "38.5 KB",
      "source": "05_clips\\title.mp4"
    },
    {
      "name": "v10_crash.mp4",
      "path": "videos\\v10_crash.mp4",
      "type": "video",
      "size": "59.7 KB",
      "source": "05_clips\\v10_crash.mp4"
    },
    {
      "name": "v11_recovery.mp4",
      "path": "videos\\v11_recovery.mp4",
      "type": "video",
      "size": "59.7 KB",
      "source": "05_clips\\v11_recovery.mp4"
    },
    {
      "name": "v9_extract.mp4",
      "path": "videos\\v9_extract.mp4",
      "type": "video",
      "size": "758.7 KB",
      "source": "05_clips\\v9_extract.mp4"
    },
    {
      "name": "v9_peak.mp4",
      "path": "videos\\v9_peak.mp4",
      "type": "video",
      "size": "35.5 KB",
      "source": "05_clips\\v9_peak.mp4"
    },
    {
      "name": "claude_code_self_evolving_video_workflow_douyin_v1.mp4",
      "path": "videos\\claude_code_self_evolving_video_workflow_douyin_v1.mp4",
      "type": "video",
      "size": "2.6 MB",
      "source": "06_video\\claude_code_self_evolving_video_workflow_douyin_v1.mp4"
    }
  ],
  "previews": [
    {
      "name": "ai_drift.png",
      "path": "previews\\ai_drift.png"
    },
    {
      "name": "chatgpt_fix.png",
      "path": "previews\\chatgpt_fix.png"
    },
    {
      "name": "end_card.png",
      "path": "previews\\end_card.png"
    },
    {
      "name": "final_montage.png",
      "path": "previews\\final_montage.png"
    },
    {
      "name": "five_fails.png",
      "path": "previews\\five_fails.png"
    },
    {
      "name": "http_verify.png",
      "path": "previews\\http_verify.png"
    },
    {
      "name": "kimi_intro.png",
      "path": "previews\\kimi_intro.png"
    },
    {
      "name": "lesson.png",
      "path": "previews\\lesson.png"
    },
    {
      "name": "log_lines.png",
      "path": "previews\\log_lines.png"
    },
    {
      "name": "multi_agent.png",
      "path": "previews\\multi_agent.png"
    },
    {
      "name": "punch.png",
      "path": "previews\\punch.png"
    },
    {
      "name": "python_render.png",
      "path": "previews\\python_render.png"
    },
    {
      "name": "recording_fail.png",
      "path": "previews\\recording_fail.png"
    },
    {
      "name": "review_portal.png",
      "path": "previews\\review_portal.png"
    },
    {
      "name": "rollback.png",
      "path": "previews\\rollback.png"
    },
    {
      "name": "score_bars.png",
      "path": "previews\\score_bars.png"
    },
    {
      "name": "summary.png",
      "path": "previews\\summary.png"
    },
    {
      "name": "title.png",
      "path": "previews\\title.png"
    },
    {
      "name": "v10_crash.png",
      "path": "previews\\v10_crash.png"
    },
    {
      "name": "v11_recovery.png",
      "path": "previews\\v11_recovery.png"
    },
    {
      "name": "v9_peak.png",
      "path": "previews\\v9_peak.png"
    }
  ],
  "videos": [
    {
      "name": "ai_drift.mp4",
      "path": "videos\\ai_drift.mp4"
    },
    {
      "name": "chatgpt_fix.mp4",
      "path": "videos\\chatgpt_fix.mp4"
    },
    {
      "name": "end_card.mp4",
      "path": "videos\\end_card.mp4"
    },
    {
      "name": "final_montage.mp4",
      "path": "videos\\final_montage.mp4"
    },
    {
      "name": "five_fails.mp4",
      "path": "videos\\five_fails.mp4"
    },
    {
      "name": "http_verify.mp4",
      "path": "videos\\http_verify.mp4"
    },
    {
      "name": "kimi_intro.mp4",
      "path": "videos\\kimi_intro.mp4"
    },
    {
      "name": "lesson.mp4",
      "path": "videos\\lesson.mp4"
    },
    {
      "name": "log_lines.mp4",
      "path": "videos\\log_lines.mp4"
    },
    {
      "name": "multi_agent.mp4",
      "path": "videos\\multi_agent.mp4"
    },
    {
      "name": "punch.mp4",
      "path": "videos\\punch.mp4"
    },
    {
      "name": "python_render.mp4",
      "path": "videos\\python_render.mp4"
    },
    {
      "name": "recording_fail.mp4",
      "path": "videos\\recording_fail.mp4"
    },
    {
      "name": "review_portal.mp4",
      "path": "videos\\review_portal.mp4"
    },
    {
      "name": "rollback.mp4",
      "path": "videos\\rollback.mp4"
    },
    {
      "name": "scenes_joined.mp4",
      "path": "videos\\scenes_joined.mp4"
    },
    {
      "name": "score_bars.mp4",
      "path": "videos\\score_bars.mp4"
    },
    {
      "name": "summary.mp4",
      "path": "videos\\summary.mp4"
    },
    {
      "name": "test_title.mp4",
      "path": "videos\\test_title.mp4"
    },
    {
      "name": "title.mp4",
      "path": "videos\\title.mp4"
    },
    {
      "name": "v10_crash.mp4",
      "path": "videos\\v10_crash.mp4"
    },
    {
      "name": "v11_recovery.mp4",
      "path": "videos\\v11_recovery.mp4"
    },
    {
      "name": "v9_extract.mp4",
      "path": "videos\\v9_extract.mp4"
    },
    {
      "name": "v9_peak.mp4",
      "path": "videos\\v9_peak.mp4"
    },
    {
      "name": "claude_code_self_evolving_video_workflow_douyin_v1.mp4",
      "path": "videos\\claude_code_self_evolving_video_workflow_douyin_v1.mp4"
    }
  ],
  "audit_request": "请审核 Phase v1-complete 的交付产物。\n检查项: 1) 产物完整性 2) 画面质量 3) 动画时序 4) 技术规范符合性\n审核指南: E:\\集群文件夹\\review_portal\\runs\\20260710_190700_full-story-douyin_v1-complete\\review_report.md\n状态报告: E:\\集群文件夹\\review_portal\\runs\\20260710_190700_full-story-douyin_v1-complete\\status_report.md",
  "security": {
    "scanned": true,
    "findings": 0,
    "blocked": false
  },
  "summary": {
    "total_artifacts": 84,
    "previews": 21,
    "videos": 25,
    "has_review_report": false,
    "has_status_report": false
  }
}