{
  "meta": {
    "contract_version": "dramart_review_state.v1",
    "source_dramart_package_path": "03e_dramart_package.json",
    "generated_at": "2026-03-28T18:42:05Z",
    "last_event_at": "2026-03-28T18:42:05Z"
  },
  "summary": {
    "package_status": "in_progress",
    "package_upload_ready": true,
    "checklist": {
      "total": 27,
      "todo": 26,
      "in_progress": 0,
      "done": 1,
      "needs_fix": 0,
      "blocked": 0,
      "open": 26
    },
    "upload_parts": {
      "total": 1,
      "todo": 0,
      "in_progress": 0,
      "done": 1,
      "needs_fix": 0,
      "blocked": 0,
      "open": 0
    },
    "episode_uploads": {
      "total": 1,
      "todo": 0,
      "in_progress": 0,
      "done": 0,
      "needs_fix": 1,
      "blocked": 0,
      "open": 1
    },
    "event_count": 4
  },
  "package_review": {
    "status": "in_progress",
    "reviewer": "codex-smoke",
    "review_note": "上传前总检开始。",
    "updated_at": "2026-03-28T18:41:51Z",
    "recommended_upload_mode": "single_file",
    "upload_ready": true
  },
  "checklist_reviews": [
    {
      "check_id": "CHK0001",
      "category": "character_asset",
      "severity": "warning",
      "title": "角色缺参考图：李凡",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000002",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。",
      "status": "done",
      "reviewer": "codex-smoke",
      "review_note": "首条审核项已确认。",
      "labels": [],
      "updated_at": "2026-03-28T18:41:56Z"
    },
    {
      "check_id": "CHK0002",
      "category": "voice_binding",
      "severity": "warning",
      "title": "角色缺音色绑定：李凡",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000002",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0003",
      "category": "character_asset",
      "severity": "warning",
      "title": "角色缺参考图：老道",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000001",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0004",
      "category": "voice_binding",
      "severity": "warning",
      "title": "角色缺音色绑定：老道",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000001",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0005",
      "category": "character_asset",
      "severity": "warning",
      "title": "角色缺参考图：修士",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000011",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0006",
      "category": "voice_binding",
      "severity": "warning",
      "title": "角色缺音色绑定：修士",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000011",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0007",
      "category": "character_asset",
      "severity": "warning",
      "title": "角色缺参考图：童子",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0008",
      "category": "voice_binding",
      "severity": "warning",
      "title": "角色缺音色绑定：童子",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0009",
      "category": "location_asset",
      "severity": "info",
      "title": "场景建议补参考：墨竹山",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000003",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0010",
      "category": "location_asset",
      "severity": "info",
      "title": "场景建议补参考：瑶光洞",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000008",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0011",
      "category": "location_asset",
      "severity": "info",
      "title": "场景建议补参考：墨竹山法坛",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0012",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：穿越者心理健康维护系统",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000010",
      "source_refs": [
        "C0001",
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0013",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：穿越者心理健康维护系统",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000010",
      "source_refs": [
        "C0001",
        "C0002"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0014",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：朱木剑",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000005",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0015",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：朱木剑",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000005",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0016",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：金钟银铃",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000007",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0017",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：金钟银铃",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000007",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0018",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：铜钱剑",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000006",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0019",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：铜钱剑",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000006",
      "source_refs": [
        "C0001"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0020",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：魔尊法相",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000004",
      "source_refs": [
        "C0001",
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0021",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：魔尊法相",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000004",
      "source_refs": [
        "C0001",
        "C0002"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0022",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：抽奖功能",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000019",
      "source_refs": [
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0023",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：抽奖功能",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000019",
      "source_refs": [
        "C0002"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0024",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：木剑",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000018",
      "source_refs": [
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0025",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具缺剧本命中：木剑",
      "detail": "该道具目前主要根据实体重要度入选，尚未在 screenplay block 中建立稳定命中。",
      "target_type": "prop",
      "target_id": "E000018",
      "source_refs": [
        "C0002"
      ],
      "recommended_action": "人工确认它是否属于必须建模的关键道具，必要时补充与 block 的绑定。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0026",
      "category": "prop_asset",
      "severity": "info",
      "title": "道具建议补参考：芝麻饼",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000015",
      "source_refs": [
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    },
    {
      "check_id": "CHK0027",
      "category": "time_mode",
      "severity": "info",
      "title": "存在非主线时间层",
      "detail": "当前剧本包含回忆、梦境或并行线等时间层，上传到 Dramart 前需要显式标注。",
      "target_type": "package",
      "target_id": "outline",
      "source_refs": [
        "flashback"
      ],
      "recommended_action": "在分集文本或场次标题中明确标出时间层切换。",
      "status": "todo",
      "reviewer": "",
      "review_note": "",
      "labels": [],
      "updated_at": ""
    }
  ],
  "upload_part_reviews": [
    {
      "part_id": "UP001",
      "filename": "03e_dramart_upload_part_01_EP0001_EP0001.md",
      "start_episode_id": "EP0001",
      "end_episode_id": "EP0001",
      "episode_ids": [
        "EP0001"
      ],
      "char_count": 1503,
      "within_limit": true,
      "status": "done",
      "reviewer": "codex-smoke",
      "review_note": "单分包可直接上传。",
      "labels": [],
      "updated_at": "2026-03-28T18:42:01Z"
    }
  ],
  "episode_upload_reviews": [
    {
      "episode_id": "EP0001",
      "title": "第01集 魔尊法坛",
      "filename": "03e_dramart_upload_EP0001.md",
      "char_count": 1503,
      "block_count": 3,
      "time_modes": [
        "unknown",
        "mainline",
        "flashback"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003"
      ],
      "status": "needs_fix",
      "reviewer": "codex-smoke",
      "review_note": "需补强时间层提示。",
      "labels": [],
      "updated_at": "2026-03-28T18:42:05Z"
    }
  ],
  "events": [
    {
      "event_id": "DRV00001",
      "scope": "package",
      "target_id": "package",
      "action": "updated",
      "status": "in_progress",
      "reviewer": "codex-smoke",
      "review_note": "上传前总检开始。",
      "timestamp": "2026-03-28T18:41:51Z"
    },
    {
      "event_id": "DRV00002",
      "scope": "checklist",
      "target_id": "CHK0001",
      "action": "updated",
      "status": "done",
      "reviewer": "codex-smoke",
      "review_note": "首条审核项已确认。",
      "timestamp": "2026-03-28T18:41:56Z"
    },
    {
      "event_id": "DRV00003",
      "scope": "upload_part",
      "target_id": "UP001",
      "action": "updated",
      "status": "done",
      "reviewer": "codex-smoke",
      "review_note": "单分包可直接上传。",
      "timestamp": "2026-03-28T18:42:01Z"
    },
    {
      "event_id": "DRV00004",
      "scope": "episode_upload",
      "target_id": "EP0001",
      "action": "updated",
      "status": "needs_fix",
      "reviewer": "codex-smoke",
      "review_note": "需补强时间层提示。",
      "timestamp": "2026-03-28T18:42:05Z"
    }
  ]
}