{
  "task_id": "20260710_095609_v22_screenshot_rebui_v22_reconstruction",
  "project": "v22_screenshot_rebuild",
  "phase": "v22_reconstruction",
  "status": "completed",
  "created_at": "2026-07-10T01:56:09Z",
  "local_root": "E:\\集群文件夹\\factory_os\\short_video_real_data_pipeline\\phase4b_90s_formal_sample\\v22_kimi_claude_loop\\screenshot_rebuild",
  "public_root": "https://review.example.com/runs/20260710_095609_v22_screenshot_rebui_v22_reconstruction/",
  "main_review_url": "https://review.example.com/runs/20260710_095609_v22_screenshot_rebui_v22_reconstruction/index.html",
  "manifest_url": "https://review.example.com/runs/20260710_095609_v22_screenshot_rebui_v22_reconstruction/manifest.json",
  "artifacts": [
    {
      "name": "concat_list.txt",
      "path": "artifacts\\concat_list.txt",
      "type": "text",
      "size": "1.3 KB",
      "source": "04_video\\concat_list.txt"
    },
    {
      "name": "subtitles.srt",
      "path": "artifacts\\subtitles.srt",
      "type": "other",
      "size": "1.8 KB",
      "source": "04_video\\subtitles.srt"
    },
    {
      "name": "script_used.md",
      "path": "artifacts\\script_used.md",
      "type": "markdown",
      "size": "1.4 KB",
      "source": "05_review_package\\script_used.md"
    },
    {
      "name": "video_probe.md",
      "path": "artifacts\\video_probe.md",
      "type": "markdown",
      "size": "717 B",
      "source": "05_review_package\\video_probe.md"
    },
    {
      "name": "visual_rebuild_report.md",
      "path": "artifacts\\visual_rebuild_report.md",
      "type": "markdown",
      "size": "2.0 KB",
      "source": "05_review_package\\visual_rebuild_report.md"
    },
    {
      "name": "compose_final.py",
      "path": "artifacts\\compose_final.py",
      "type": "source",
      "size": "6.9 KB",
      "source": "logs\\compose_final.py"
    },
    {
      "name": "gen_all_assets.py",
      "path": "artifacts\\gen_all_assets.py",
      "type": "source",
      "size": "37.5 KB",
      "source": "logs\\gen_all_assets.py"
    },
    {
      "name": "gen_clips.py",
      "path": "artifacts\\gen_clips.py",
      "type": "source",
      "size": "14.4 KB",
      "source": "logs\\gen_clips.py"
    },
    {
      "name": "gen_clips_ffmpeg.py",
      "path": "artifacts\\gen_clips_ffmpeg.py",
      "type": "source",
      "size": "8.4 KB",
      "source": "logs\\gen_clips_ffmpeg.py"
    },
    {
      "name": "gen_review_package.py",
      "path": "artifacts\\gen_review_package.py",
      "type": "source",
      "size": "11.8 KB",
      "source": "logs\\gen_review_package.py"
    },
    {
      "name": "01_hook_terminal_problem.png",
      "path": "previews\\01_hook_terminal_problem.png",
      "type": "image",
      "size": "65.3 KB",
      "source": "02_images\\01_hook_terminal_problem.png"
    },
    {
      "name": "02_bad_csv_evidence.png",
      "path": "previews\\02_bad_csv_evidence.png",
      "type": "image",
      "size": "53.5 KB",
      "source": "02_images\\02_bad_csv_evidence.png"
    },
    {
      "name": "03_quality_gate_code.png",
      "path": "previews\\03_quality_gate_code.png",
      "type": "image",
      "size": "82.1 KB",
      "source": "02_images\\03_quality_gate_code.png"
    },
    {
      "name": "04_fixed_terminal_success.png",
      "path": "previews\\04_fixed_terminal_success.png",
      "type": "image",
      "size": "66.6 KB",
      "source": "02_images\\04_fixed_terminal_success.png"
    },
    {
      "name": "05_top20_table.png",
      "path": "previews\\05_top20_table.png",
      "type": "image",
      "size": "64.7 KB",
      "source": "02_images\\05_top20_table.png"
    },
    {
      "name": "06_before_after_compare.png",
      "path": "previews\\06_before_after_compare.png",
      "type": "image",
      "size": "76.0 KB",
      "source": "02_images\\06_before_after_compare.png"
    },
    {
      "name": "07_pipeline_flow.png",
      "path": "previews\\07_pipeline_flow.png",
      "type": "image",
      "size": "68.3 KB",
      "source": "02_images\\07_pipeline_flow.png"
    },
    {
      "name": "08_final_decision_card.png",
      "path": "previews\\08_final_decision_card.png",
      "type": "image",
      "size": "120.4 KB",
      "source": "02_images\\08_final_decision_card.png"
    },
    {
      "name": "asset_contact_sheet.jpg",
      "path": "previews\\asset_contact_sheet.jpg",
      "type": "image",
      "size": "311.3 KB",
      "source": "05_review_package\\asset_contact_sheet.jpg"
    },
    {
      "name": "frame_contact_sheet.jpg",
      "path": "previews\\frame_contact_sheet.jpg",
      "type": "image",
      "size": "232.0 KB",
      "source": "05_review_package\\frame_contact_sheet.jpg"
    },
    {
      "name": "frame_02s.jpg",
      "path": "previews\\frame_02s.jpg",
      "type": "image",
      "size": "209.7 KB",
      "source": "05_review_package\\frames\\frame_02s.jpg"
    },
    {
      "name": "frame_10s.jpg",
      "path": "previews\\frame_10s.jpg",
      "type": "image",
      "size": "203.2 KB",
      "source": "05_review_package\\frames\\frame_10s.jpg"
    },
    {
      "name": "frame_20s.jpg",
      "path": "previews\\frame_20s.jpg",
      "type": "image",
      "size": "208.8 KB",
      "source": "05_review_package\\frames\\frame_20s.jpg"
    },
    {
      "name": "frame_30s.jpg",
      "path": "previews\\frame_30s.jpg",
      "type": "image",
      "size": "165.2 KB",
      "source": "05_review_package\\frames\\frame_30s.jpg"
    },
    {
      "name": "frame_40s.jpg",
      "path": "previews\\frame_40s.jpg",
      "type": "image",
      "size": "208.3 KB",
      "source": "05_review_package\\frames\\frame_40s.jpg"
    },
    {
      "name": "frame_50s.jpg",
      "path": "previews\\frame_50s.jpg",
      "type": "image",
      "size": "219.5 KB",
      "source": "05_review_package\\frames\\frame_50s.jpg"
    },
    {
      "name": "clip_01_hook.mp4",
      "path": "videos\\clip_01_hook.mp4",
      "type": "video",
      "size": "78.3 KB",
      "source": "03_clips\\clip_01_hook.mp4"
    },
    {
      "name": "clip_02_bad_csv.mp4",
      "path": "videos\\clip_02_bad_csv.mp4",
      "type": "video",
      "size": "73.6 KB",
      "source": "03_clips\\clip_02_bad_csv.mp4"
    },
    {
      "name": "clip_03_quality_gate.mp4",
      "path": "videos\\clip_03_quality_gate.mp4",
      "type": "video",
      "size": "86.3 KB",
      "source": "03_clips\\clip_03_quality_gate.mp4"
    },
    {
      "name": "clip_04_success.mp4",
      "path": "videos\\clip_04_success.mp4",
      "type": "video",
      "size": "66.7 KB",
      "source": "03_clips\\clip_04_success.mp4"
    },
    {
      "name": "clip_05_top20.mp4",
      "path": "videos\\clip_05_top20.mp4",
      "type": "video",
      "size": "58.5 KB",
      "source": "03_clips\\clip_05_top20.mp4"
    },
    {
      "name": "clip_06_compare.mp4",
      "path": "videos\\clip_06_compare.mp4",
      "type": "video",
      "size": "60.2 KB",
      "source": "03_clips\\clip_06_compare.mp4"
    },
    {
      "name": "clip_07_flow.mp4",
      "path": "videos\\clip_07_flow.mp4",
      "type": "video",
      "size": "57.2 KB",
      "source": "03_clips\\clip_07_flow.mp4"
    },
    {
      "name": "clip_08_decision.mp4",
      "path": "videos\\clip_08_decision.mp4",
      "type": "video",
      "size": "72.5 KB",
      "source": "03_clips\\clip_08_decision.mp4"
    },
    {
      "name": "v22_concatenated.mp4",
      "path": "videos\\v22_concatenated.mp4",
      "type": "video",
      "size": "547.8 KB",
      "source": "04_video\\v22_concatenated.mp4"
    },
    {
      "name": "v22_screenshot_rebuild_60s.mp4",
      "path": "videos\\v22_screenshot_rebuild_60s.mp4",
      "type": "video",
      "size": "1.5 MB",
      "source": "04_video\\v22_screenshot_rebuild_60s.mp4"
    }
  ],
  "previews": [
    {
      "name": "01_hook_terminal_problem.png",
      "path": "previews\\01_hook_terminal_problem.png"
    },
    {
      "name": "02_bad_csv_evidence.png",
      "path": "previews\\02_bad_csv_evidence.png"
    },
    {
      "name": "03_quality_gate_code.png",
      "path": "previews\\03_quality_gate_code.png"
    },
    {
      "name": "04_fixed_terminal_success.png",
      "path": "previews\\04_fixed_terminal_success.png"
    },
    {
      "name": "05_top20_table.png",
      "path": "previews\\05_top20_table.png"
    },
    {
      "name": "06_before_after_compare.png",
      "path": "previews\\06_before_after_compare.png"
    },
    {
      "name": "07_pipeline_flow.png",
      "path": "previews\\07_pipeline_flow.png"
    },
    {
      "name": "08_final_decision_card.png",
      "path": "previews\\08_final_decision_card.png"
    },
    {
      "name": "asset_contact_sheet.jpg",
      "path": "previews\\asset_contact_sheet.jpg"
    },
    {
      "name": "frame_contact_sheet.jpg",
      "path": "previews\\frame_contact_sheet.jpg"
    },
    {
      "name": "frame_02s.jpg",
      "path": "previews\\frame_02s.jpg"
    },
    {
      "name": "frame_10s.jpg",
      "path": "previews\\frame_10s.jpg"
    },
    {
      "name": "frame_20s.jpg",
      "path": "previews\\frame_20s.jpg"
    },
    {
      "name": "frame_30s.jpg",
      "path": "previews\\frame_30s.jpg"
    },
    {
      "name": "frame_40s.jpg",
      "path": "previews\\frame_40s.jpg"
    },
    {
      "name": "frame_50s.jpg",
      "path": "previews\\frame_50s.jpg"
    }
  ],
  "videos": [
    {
      "name": "clip_01_hook.mp4",
      "path": "videos\\clip_01_hook.mp4"
    },
    {
      "name": "clip_02_bad_csv.mp4",
      "path": "videos\\clip_02_bad_csv.mp4"
    },
    {
      "name": "clip_03_quality_gate.mp4",
      "path": "videos\\clip_03_quality_gate.mp4"
    },
    {
      "name": "clip_04_success.mp4",
      "path": "videos\\clip_04_success.mp4"
    },
    {
      "name": "clip_05_top20.mp4",
      "path": "videos\\clip_05_top20.mp4"
    },
    {
      "name": "clip_06_compare.mp4",
      "path": "videos\\clip_06_compare.mp4"
    },
    {
      "name": "clip_07_flow.mp4",
      "path": "videos\\clip_07_flow.mp4"
    },
    {
      "name": "clip_08_decision.mp4",
      "path": "videos\\clip_08_decision.mp4"
    },
    {
      "name": "v22_concatenated.mp4",
      "path": "videos\\v22_concatenated.mp4"
    },
    {
      "name": "v22_screenshot_rebuild_60s.mp4",
      "path": "videos\\v22_screenshot_rebuild_60s.mp4"
    }
  ],
  "audit_request": "请审核 Phase v22_reconstruction 的交付产物。\n检查项: 1) 产物完整性 2) 画面质量 3) 动画时序 4) 技术规范符合性\n审核指南: E:\\集群文件夹\\review_portal\\runs\\20260710_095609_v22_screenshot_rebui_v22_reconstruction\\review_report.md\n状态报告: E:\\集群文件夹\\review_portal\\runs\\20260710_095609_v22_screenshot_rebui_v22_reconstruction\\status_report.md",
  "security": {
    "scanned": true,
    "findings": 0,
    "blocked": false
  },
  "summary": {
    "total_artifacts": 36,
    "previews": 16,
    "videos": 10,
    "has_review_report": false,
    "has_status_report": false
  }
}