{
  "project_id": "EP02_2026-06-24_dinner-time",
  "updated_at": "2026-06-24 14:21",
  "assets": [
    {
      "id": "mia_ref_v1",
      "kind": "character_reference",
      "file": "images/character/mia_ref_v1.png",
      "purpose": "Reuse EP01 Mia character reference for EP02 style/identity consistency.",
      "status": "done"
    },
    {
      "id": "leo_ref_v1",
      "kind": "character_reference",
      "file": "images/character/leo_ref_v1.png",
      "purpose": "Reuse EP01 Leo character reference for EP02 style/identity consistency.",
      "status": "done"
    },
    {
      "id": "mia_leo_ref_v1_combined_no_text",
      "kind": "character_reference",
      "file": "images/character/mia_leo_ref_v1_combined_no_text.png",
      "purpose": "Combined uploaded Mia/Leo character refs reference for keeping both roles consistent in EP02 generations.",
      "status": "done"
    },
    {
      "id": "ep02_cam01_start_v1",
      "kind": "keyframe",
      "file": "final_story/keyframes/cam01_dinner_call/cam01_start_v1.png",
      "purpose": "EP02 cam01 start keyframe: dinner table ready, Mia calls Leo over.",
      "status": "approved",
      "provider_url": "https://files.chatartpro.com/core-draw-image/20260624/6a3b77189e948.png",
      "cost_diamonds": 3
    }
  ],
  "chatartpro_jobs": [],
  "qa_reports": [
    {
      "id": "ep02_step1_script_agent_provenance",
      "status": "done",
      "summary": "@腳本Agent produced EP02 phrase list and mini-story. Main Hermes recorded it to plan/status/assets.",
      "notes": "No image/video generation yet."
    },
    {
      "id": "ep02_step1_script_agent_15_phrase_revision",
      "status": "done",
      "summary": "@腳本Agent expanded EP02 phrase list from 10 to 15 phrases and adjusted story beats.",
      "notes": "No image/video generation yet."
    },
    {
      "id": "ep02_step2_editor_camera_segments",
      "status": "done",
      "summary": "@編輯Agent planned 8 camera segments for EP02; all 15 phrases covered.",
      "notes": "No image/video generation yet."
    },
    {
      "id": "ep02_step2_review_segmentation_gate",
      "status": "done",
      "summary": "@審核Agent defined phrase reuse, start/end keyframe, and coverage gates for EP02.",
      "notes": "Proceed to keyframe prompt design only after this blueprint."
    },
    {
      "id": "ep02_step3_visual_keyframe_prompts",
      "status": "done",
      "summary": "@視覺Agent wrote start/end image prompts for 8 EP02 camera segments.",
      "notes": "Prompt files saved under prompts/keyframes/. No images generated."
    },
    {
      "id": "ep02_step3_keyframe_prompt_audit",
      "status": "done",
      "summary": "@審核Agent / @圖片審核Agent gates passed for prompt readiness: style lock, semantic beat, continuity, no text/watermark.",
      "notes": "Ready for controlled ChatArtPro image generation one keyframe at a time."
    },
    {
      "id": "ep02_step3_zh_prompt_alignment_fix",
      "status": "done",
      "summary": "Main Hermes corrected all Chinese start/end prompts to match the English provider prompts, not short summaries.",
      "notes": "Chinese dashboard prompt text is now a faithful Traditional Chinese rendering of the English provider prompt."
    },
    {
      "id": "ep02_prompt_reference_wording_fix",
      "status": "done",
      "summary": "Removed EP01-memory wording from prompts; prompts now instruct provider to use uploaded Mia/Leo character reference images.",
      "notes": "Provider does not remember EP01; character consistency comes from uploaded refs."
    },
    {
      "id": "ep02_camera_single_segment_simplification",
      "status": "done",
      "summary": "Removed nested generation segment display for one-clip camera movements; prompts are handled directly at camera level.",
      "notes": "Only create nested segments when a camera movement needs multiple generation units."
    },
    {
      "id": "ep02_chatartpro_negative_prompt_safety_fix",
      "status": "done",
      "summary": "Provider refused negative prompt term related to extra fingers; removed sensitive negative-anatomy terms from all keyframe prompts.",
      "notes": "No accepted image was generated before this fix; balance stayed visible at 500."
    },
    {
      "id": "ep02_cam01_start_v1_image_qa",
      "verdict": "done",
      "summary": "@圖片審核Agent passed cam01 start keyframe: style and dinner-call setup clear; no text/watermark.",
      "file": "qa/final_story/cam01_start_v1_qa.md"
    }
  ]
}