{
  "meta": {
    "package_version": "dramart_package.v3",
    "content_policy_version": "dramart_package_scope.v1",
    "project_title": "道祖是克苏鲁",
    "source_screenplay_path": "03d_screenplay.json",
    "source_entity_registry_path": "02e_entity_registry.json",
    "source_visual_cards_path": "02f_entity_visual_cards.json",
    "source_voice_cards_path": "02g_entity_voice_cards.json",
    "source_asset_bindings_path": "02h_entity_assets.json",
    "source_entity_review_state_path": "02z_entity_review_state.json",
    "episode_count": 1,
    "block_count": 4,
    "source_scene_ref_count": 4,
    "character_bio_count": 4,
    "location_asset_count": 3,
    "prop_asset_count": 1,
    "voice_suggestion_count": 4,
    "review_checklist_count": 14,
    "upload_script_char_count": 1195,
    "upload_part_count": 1,
    "single_file_upload_ready": true,
    "upload_ready_status": "pass",
    "upload_ready_issue_count": 1,
    "upload_ready_fail_count": 0,
    "upload_ready_warn_count": 0,
    "asset_ready_status": "pass",
    "asset_ready_issue_count": 0,
    "asset_ready_fail_count": 0,
    "asset_ready_warn_count": 0,
    "missing_character_visual_count": 0,
    "missing_character_voice_count": 0,
    "manual_review_blocked_character_count": 0,
    "manual_review_needs_fix_character_count": 0,
    "manual_review_locked_scope_count": 0,
    "skipped_unbound_character_ref_count": 0,
    "risk_item_count": 42,
    "risk_flag_count": 5,
    "entity_review_summary": {
      "entity": {
        "total": 17,
        "applicable": 17,
        "todo": 17,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 17
      },
      "visual": {
        "total": 17,
        "applicable": 17,
        "todo": 17,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 17
      },
      "voice": {
        "total": 17,
        "applicable": 7,
        "todo": 7,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 10,
        "locked": 0,
        "open": 7
      },
      "assets": {
        "total": 17,
        "applicable": 17,
        "todo": 17,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 17
      },
      "event_count": 0
    },
    "time_mode_counts": {
      "unknown": 1,
      "flashback": 2,
      "mainline": 1
    }
  },
  "content_policy": {
    "contract_version": "dramart_package_scope.v1",
    "package_roles": [
      "export_layer",
      "asset_suggestion_layer",
      "risk_reveal_layer"
    ],
    "allowed_derivations": [
      "字段兜底与格式整形",
      "episode_upload_markdown 聚合输出",
      "asset_suggestion / readiness / risk overlay 派生",
      "upload markdown 的大纲与导览拼装"
    ],
    "forbidden_repairs": [
      "改写 screenplay_text 正文主体",
      "重写 title / opening_hook / ending_hook 主文案",
      "用 package 文案覆盖 episode 主角色排序"
    ],
    "source_of_truth": {
      "screenplay": "03d_screenplay.json",
      "entity_registry": "02e_entity_registry.json",
      "visual_cards": "02f_entity_visual_cards.json",
      "voice_cards": "02g_entity_voice_cards.json",
      "asset_bindings": "02h_entity_assets.json"
    }
  },
  "outline": {
    "title": "道祖是克苏鲁",
    "format": "Dramart 漫剧/短剧输入包",
    "premise": "蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。",
    "core_hook": "将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。",
    "episode_count": 1,
    "block_count": 4,
    "source_scene_ref_count": 4,
    "time_mode_counts": {
      "unknown": 1,
      "flashback": 2,
      "mainline": 1
    },
    "main_characters": [
      "李凡",
      "老道",
      "修士",
      "童子"
    ],
    "main_locations": [
      "墨竹山",
      "墨竹山法坛",
      "瑶光洞"
    ],
    "upload_notes": [
      "上传时优先使用 03e_dramart_upload_script.md 作为正文剧本。",
      "角色设定优先参考 character_bios 中的 identity_summary、appearance_core 与 voice_profile。",
      "若存在 flashback / dream / parallel 等时间模式，需在 Dramart 项目中额外标注时态切换。"
    ]
  },
  "episode_summaries": [
    {
      "episode_id": "EP0001",
      "episode_index": 1,
      "title": "第01集 镜头从险峻山峦全景",
      "logline": "蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。",
      "summary": "用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。",
      "opening_hook": "将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。",
      "ending_hook": "李凡对“心理健康维护系统”的预期（如金手指）与现实（看…",
      "block_count": 4,
      "block_ids": [
        "EP0001B001",
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "time_modes": [
        "unknown",
        "flashback",
        "mainline"
      ],
      "character_names": [
        "李凡",
        "老道",
        "童子",
        "修士"
      ],
      "character_display_names": [
        "李凡",
        "老道",
        "童子",
        "修士"
      ],
      "character_entity_uids": [
        "E000002",
        "E000001",
        "E000012",
        "E000011"
      ],
      "location_names": [
        "墨竹山",
        "瑶光洞",
        "墨竹山法坛"
      ],
      "location_display_names": [
        "墨竹山",
        "瑶光洞",
        "墨竹山法坛"
      ],
      "location_entity_uids": [
        "E000003",
        "E000008"
      ],
      "episode_markdown": "# 第01集 镜头从险峻山峦全景\n\n一句话梗概：蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n剧情摘要：用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n开场钩子：将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。\n结尾钩子：李凡对“心理健康维护系统”的预期（如金手指）与现实（看…\n\n## 介绍墨竹山险恶环境与山中魔尊法坛。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 【闪回】修士三人组携童子出场\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 系统出现\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
      "episode_upload_markdown": "# 第01集 镜头从险峻山峦全景\n\n本集围绕李凡、老道、童子、修士展开，主要场面落在墨竹山、瑶光洞、墨竹山法坛。蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n本集看点集中在“将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。”，并收在“李凡对“心理健康维护系统”的预期（如金手指）与现实（看…”。\n\n## 场次01 介绍墨竹山险恶环境与山中魔尊法坛。\n\n场面落在墨竹山。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 场次02 【闪回】修士三人组携童子出场\n\n这一场属于回忆时间层，场面落在瑶光洞、墨竹山法坛，出场人物有老道、修士、童子、李凡。\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 场次03 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n这一场属于回忆时间层，场面落在墨竹山法坛，出场人物有李凡、老道。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 场次04 系统出现\n\n出场人物有李凡、老道。\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
      "episode_upload_char_count": 965,
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "",
        "visual_card_id": "",
        "voice_card_id": "",
        "asset_binding_id": ""
      }
    }
  ],
  "episodes": [
    {
      "episode_id": "EP0001",
      "episode_index": 1,
      "title": "第01集 镜头从险峻山峦全景",
      "logline": "蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。",
      "summary": "用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。",
      "opening_hook": "将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。",
      "ending_hook": "李凡对“心理健康维护系统”的预期（如金手指）与现实（看…",
      "block_count": 4,
      "block_ids": [
        "EP0001B001",
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "time_modes": [
        "unknown",
        "flashback",
        "mainline"
      ],
      "character_names": [
        "李凡",
        "老道",
        "童子",
        "修士"
      ],
      "character_display_names": [
        "李凡",
        "老道",
        "童子",
        "修士"
      ],
      "character_entity_uids": [
        "E000002",
        "E000001",
        "E000012",
        "E000011"
      ],
      "location_names": [
        "墨竹山",
        "瑶光洞",
        "墨竹山法坛"
      ],
      "location_display_names": [
        "墨竹山",
        "瑶光洞",
        "墨竹山法坛"
      ],
      "location_entity_uids": [
        "E000003",
        "E000008"
      ],
      "episode_markdown": "# 第01集 镜头从险峻山峦全景\n\n一句话梗概：蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n剧情摘要：用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n开场钩子：将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。\n结尾钩子：李凡对“心理健康维护系统”的预期（如金手指）与现实（看…\n\n## 介绍墨竹山险恶环境与山中魔尊法坛。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 【闪回】修士三人组携童子出场\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 系统出现\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
      "episode_upload_markdown": "# 第01集 镜头从险峻山峦全景\n\n本集围绕李凡、老道、童子、修士展开，主要场面落在墨竹山、瑶光洞、墨竹山法坛。蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n本集看点集中在“将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。”，并收在“李凡对“心理健康维护系统”的预期（如金手指）与现实（看…”。\n\n## 场次01 介绍墨竹山险恶环境与山中魔尊法坛。\n\n场面落在墨竹山。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 场次02 【闪回】修士三人组携童子出场\n\n这一场属于回忆时间层，场面落在瑶光洞、墨竹山法坛，出场人物有老道、修士、童子、李凡。\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 场次03 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n这一场属于回忆时间层，场面落在墨竹山法坛，出场人物有李凡、老道。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 场次04 系统出现\n\n出场人物有李凡、老道。\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
      "episode_upload_char_count": 965,
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "",
        "visual_card_id": "",
        "voice_card_id": "",
        "asset_binding_id": ""
      }
    }
  ],
  "platform_status": "pass",
  "upload_ready": true,
  "asset_ready": true,
  "storyboard_ready": "unknown",
  "character_bios": [
    {
      "entity_uid": "E000002",
      "name": "李凡",
      "canonical_name": "李凡",
      "display_name": "李凡",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "穿越者"
      ],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000002",
      "voice_card_id": "VO000002",
      "asset_binding_id": "AB000002",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "李凡，主要角色",
      "visual_anchor_summary": "李凡，主要角色",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：李凡 / 穿越者",
        "常见关联对象：穿越者心理健康维护系统、老道、芝麻饼",
        "已处理文本出现范围：C0001 -> C0002"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "李凡，主要角色\n外观要点：二十一童子之一；现代穿越者；拥有心理健康系统\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：李凡 - 拥有 - 穿越者心理健康维护系统；老道 - 告知 - 李凡；芝麻饼 - 影响 - 李凡",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      }
    },
    {
      "entity_uid": "E000001",
      "name": "老道",
      "canonical_name": "老道",
      "display_name": "老道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "老道士"
      ],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000001",
      "voice_card_id": "VO000001",
      "asset_binding_id": "AB000001",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "老道，修道之人",
      "visual_anchor_summary": "老道士突然爆发出一声怪笑；法坛前只有个墨帻法褐的老道",
      "design_keywords": [],
      "design_prompt_fragments": [
        "老道士突然爆发出一声怪笑",
        "法坛前只有个墨帻法褐的老道"
      ],
      "appearance_core": [
        "老道士突然爆发出一声怪笑"
      ],
      "clothing_core": [
        "法坛前只有个墨帻法褐的老道"
      ],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：老道 / 老道士",
        "常见关联对象：朱木剑、修士、童子",
        "已处理文本出现范围：C0001 -> C0002"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "老道士突然爆发出一声怪笑；法坛前只有个墨帻法褐的老道\n外观要点：老道士突然爆发出一声怪笑\n服饰母题：法坛前只有个墨帻法褐的老道\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：老道 - 拥有 - 朱木剑；修士 - 告知 - 老道；老道 - 告知 - 童子",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000001",
        "visual_card_id": "VC000001",
        "voice_card_id": "VO000001",
        "asset_binding_id": "AB000001"
      }
    },
    {
      "entity_uid": "E000011",
      "name": "修士",
      "canonical_name": "修士",
      "display_name": "修士",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "角色姓名",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000011",
      "voice_card_id": "VO000011",
      "asset_binding_id": "AB000011",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "修士，角色姓名",
      "visual_anchor_summary": "修士，角色姓名",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：铜钱剑、金钟银铃、老道"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "修士，角色姓名\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：修士 - 拥有 - 铜钱剑；修士 - 拥有 - 金钟银铃；修士 - 告知 - 老道",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000011",
        "visual_card_id": "VC000011",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011"
      }
    },
    {
      "entity_uid": "E000012",
      "name": "童子",
      "canonical_name": "童子",
      "display_name": "童子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000012",
      "voice_card_id": "VO000012",
      "asset_binding_id": "AB000012",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "童子，功能角色",
      "visual_anchor_summary": "童子，功能角色",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：老道"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": true,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "童子，功能角色\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：KG 中该实体仍为弱证据或占位实体，建议人工复审；关系上下文：老道 - 告知 - 童子",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定",
        "实体主档待复核"
      ],
      "risk_flags": [
        "entity_review",
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "实体主档待复核；参考图缺口；语音参考缺口",
      "init_action": "review_required",
      "init_action_reason": "实体主档待复核；参考图缺口；语音参考缺口",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000012",
        "visual_card_id": "VC000012",
        "voice_card_id": "VO000012",
        "asset_binding_id": "AB000012"
      }
    }
  ],
  "characters": [
    {
      "entity_uid": "E000002",
      "name": "李凡",
      "canonical_name": "李凡",
      "display_name": "李凡",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "穿越者"
      ],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000002",
      "voice_card_id": "VO000002",
      "asset_binding_id": "AB000002",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "李凡，主要角色",
      "visual_anchor_summary": "李凡，主要角色",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：李凡 / 穿越者",
        "常见关联对象：穿越者心理健康维护系统、老道、芝麻饼",
        "已处理文本出现范围：C0001 -> C0002"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "李凡，主要角色\n外观要点：二十一童子之一；现代穿越者；拥有心理健康系统\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：李凡 - 拥有 - 穿越者心理健康维护系统；老道 - 告知 - 李凡；芝麻饼 - 影响 - 李凡",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      }
    },
    {
      "entity_uid": "E000001",
      "name": "老道",
      "canonical_name": "老道",
      "display_name": "老道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "老道士"
      ],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000001",
      "voice_card_id": "VO000001",
      "asset_binding_id": "AB000001",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "老道，修道之人",
      "visual_anchor_summary": "老道士突然爆发出一声怪笑；法坛前只有个墨帻法褐的老道",
      "design_keywords": [],
      "design_prompt_fragments": [
        "老道士突然爆发出一声怪笑",
        "法坛前只有个墨帻法褐的老道"
      ],
      "appearance_core": [
        "老道士突然爆发出一声怪笑"
      ],
      "clothing_core": [
        "法坛前只有个墨帻法褐的老道"
      ],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：老道 / 老道士",
        "常见关联对象：朱木剑、修士、童子",
        "已处理文本出现范围：C0001 -> C0002"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "老道士突然爆发出一声怪笑；法坛前只有个墨帻法褐的老道\n外观要点：老道士突然爆发出一声怪笑\n服饰母题：法坛前只有个墨帻法褐的老道\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：老道 - 拥有 - 朱木剑；修士 - 告知 - 老道；老道 - 告知 - 童子",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000001",
        "visual_card_id": "VC000001",
        "voice_card_id": "VO000001",
        "asset_binding_id": "AB000001"
      }
    },
    {
      "entity_uid": "E000011",
      "name": "修士",
      "canonical_name": "修士",
      "display_name": "修士",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "角色姓名",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000011",
      "voice_card_id": "VO000011",
      "asset_binding_id": "AB000011",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "修士，角色姓名",
      "visual_anchor_summary": "修士，角色姓名",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：铜钱剑、金钟银铃、老道"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "修士，角色姓名\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：关系上下文：修士 - 拥有 - 铜钱剑；修士 - 拥有 - 金钟银铃；修士 - 告知 - 老道",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000011",
        "visual_card_id": "VC000011",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011"
      }
    },
    {
      "entity_uid": "E000012",
      "name": "童子",
      "canonical_name": "童子",
      "display_name": "童子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000012",
      "voice_card_id": "VO000012",
      "asset_binding_id": "AB000012",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "童子，功能角色",
      "visual_anchor_summary": "童子，功能角色",
      "design_keywords": [],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：老道"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "unknown",
        "age_impression": "unknown",
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": []
      },
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": true,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "bio_text": "童子，功能角色\n声音建议：自然人声；保持跨场景音色稳定；吐字清晰\n主要出现集次：EP0001\n补充：KG 中该实体仍为弱证据或占位实体，建议人工复审；关系上下文：老道 - 告知 - 童子",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定",
        "实体主档待复核"
      ],
      "risk_flags": [
        "entity_review",
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "实体主档待复核；参考图缺口；语音参考缺口",
      "init_action": "review_required",
      "init_action_reason": "实体主档待复核；参考图缺口；语音参考缺口",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000012",
        "visual_card_id": "VC000012",
        "voice_card_id": "VO000012",
        "asset_binding_id": "AB000012"
      }
    }
  ],
  "asset_ready_summary": {
    "status": "pass",
    "issue_count": 0,
    "fail_count": 0,
    "warn_count": 0,
    "info_count": 0,
    "character_count": 4,
    "priority_character_count": 0,
    "character_ready_count": 0,
    "priority_character_ready_count": 0,
    "character_primary_visual_ready_count": 4,
    "character_variant_ready_count": 0,
    "character_voice_ready_count": 0,
    "missing_character_visual_count": 0,
    "missing_character_voice_count": 0,
    "priority_character_visual_gap_count": 0,
    "priority_character_voice_gap_count": 0,
    "priority_character_variant_gap_count": 0,
    "character_manual_blocked_count": 0,
    "character_manual_needs_fix_count": 0,
    "location_asset_count": 3,
    "location_ready_count": 0,
    "location_visual_gap_count": 0,
    "location_scene_mapping_gap_count": 0,
    "location_manual_blocked_count": 0,
    "prop_asset_count": 1,
    "prop_ready_count": 0,
    "prop_visual_gap_count": 0,
    "prop_usage_mapping_gap_count": 0,
    "prop_manual_blocked_count": 0,
    "voice_suggestion_count": 4,
    "voice_binding_gap_count": 4,
    "voice_reference_gap_count": 4,
    "character_asset_suggestion_count": 4
  },
  "asset_ready_issues": [],
  "upload_ready_summary": {
    "status": "pass",
    "issue_count": 1,
    "fail_count": 0,
    "warn_count": 0,
    "info_count": 1,
    "episode_count": 1,
    "block_count": 4,
    "character_bio_count": 4,
    "named_episode_count": 1,
    "episode_with_summary_count": 1,
    "episode_with_opening_hook_count": 1,
    "episode_with_ending_hook_count": 1,
    "episode_with_upload_text_count": 1,
    "recommended_upload_mode": "single_file",
    "upload_script_char_count": 1195,
    "single_file_within_limit": true,
    "part_count": 1,
    "oversized_episode_count": 0,
    "oversized_part_count": 0,
    "has_global_preface": true,
    "time_layer_annotation_recommended": true
  },
  "upload_ready_issues": [
    {
      "code": "non_mainline_time_mode",
      "severity": "info",
      "title": "存在非主线时间层",
      "detail": "当前剧本包含回忆、梦境或并行线等时间层，上传时建议显式标注，以免平台误解时态切换。",
      "target_type": "package",
      "target_id": "",
      "source_refs": [
        "flashback"
      ],
      "recommended_action": "在分集标题、场次标题或正文中显式提示时间层切换。"
    }
  ],
  "skipped_unbound_character_refs": [],
  "locations": [
    {
      "entity_uid": "E000003",
      "name": "墨竹山",
      "canonical_name": "墨竹山",
      "display_name": "墨竹山",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "地点",
      "subtype": "山岳/洞天",
      "importance": "minor",
      "priority": "P3",
      "location_role": "oneoff_set",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "visual_card_id": "VC000003",
      "asset_binding_id": "AB000003",
      "identity_summary": "仙侠世界中的山脉；人烟罕至的险地",
      "visual_anchor_summary": "墨竹山。相关场面：介绍墨竹山险恶环境与山中魔尊法坛。。画面线索：墨竹山；蛮荒险恶的自然环境与突兀存在的人造…。",
      "design_prompt_fragments": [
        "墨竹山",
        "介绍墨竹山险恶环境与山中魔尊法坛。",
        "蛮荒险恶的自然环境与突兀存在的人造…"
      ],
      "location_core": [
        "仙侠世界中的山脉",
        "墨竹山，地方三千里",
        "整个墨色竹林中"
      ],
      "landmark_core": [
        "墨竹山",
        "蛮荒险恶的自然环境与突兀存在的人造…"
      ],
      "atmosphere_core": [
        "墨竹山"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B001",
          "title": "介绍墨竹山险恶环境与山中魔尊法坛。",
          "kind": "scene",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        }
      ],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": false,
        "auto_needs_voice_binding": false,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": false,
        "needs_voice_binding": false,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": true,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "na",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": true,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": false
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定"
      ],
      "reason": "覆盖 1 集、命中 1 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "should_build",
      "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000003",
        "visual_card_id": "VC000003",
        "voice_card_id": "",
        "asset_binding_id": "AB000003"
      }
    },
    {
      "entity_uid": "E000008",
      "name": "瑶光洞",
      "canonical_name": "瑶光洞",
      "display_name": "瑶光洞",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "地点",
      "subtype": "山岳/洞天",
      "importance": "minor",
      "priority": "P3",
      "location_role": "oneoff_set",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000008",
      "asset_binding_id": "AB000008",
      "identity_summary": "玉蟾婆的洞府；修士提及的地方",
      "visual_anchor_summary": "瑶光洞。相关场面：【闪回】修士三人组携童子出场。画面线索：瑶光洞；修士三人组携童子出场。",
      "design_prompt_fragments": [
        "瑶光洞",
        "【闪回】修士三人组携童子出场",
        "修士三人组携童子出场。"
      ],
      "location_core": [
        "玉蟾婆的洞府",
        "瑶光洞的玉蟾婆来观里作客"
      ],
      "landmark_core": [
        "瑶光洞",
        "修士三人组携童子出场。"
      ],
      "atmosphere_core": [
        "瑶光洞"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        }
      ],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": false,
        "auto_needs_voice_binding": false,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": false,
        "needs_voice_binding": false,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": true,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "na",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": true,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": false
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定"
      ],
      "reason": "覆盖 1 集、命中 1 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "should_build",
      "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000008",
        "visual_card_id": "VC000008",
        "voice_card_id": "",
        "asset_binding_id": "AB000008"
      }
    },
    {
      "entity_uid": "",
      "name": "墨竹山法坛",
      "canonical_name": "墨竹山法坛",
      "display_name": "墨竹山法坛",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "地点",
      "subtype": "",
      "importance": "unknown",
      "priority": "P4",
      "location_role": "oneoff_set",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003"
      ],
      "visual_card_id": "",
      "asset_binding_id": "",
      "identity_summary": "",
      "visual_anchor_summary": "墨竹山法坛。相关场面：【闪回】修士三人组携童子出场；【闪回】李凡接受穿越现实，尝试呼唤系统。。画面线索：瑶光洞；修士三人组携童子出场。",
      "design_prompt_fragments": [
        "墨竹山法坛",
        "【闪回】修士三人组携童子出场",
        "【闪回】李凡接受穿越现实，尝试呼唤系统。",
        "瑶光洞",
        "修士三人组携童子出场。"
      ],
      "location_core": [
        "墨竹山法坛",
        "【闪回】修士三人组携童子出场",
        "【闪回】李凡接受穿越现实，尝试呼唤系统。"
      ],
      "landmark_core": [
        "瑶光洞",
        "修士三人组携童子出场。"
      ],
      "atmosphere_core": [
        "墨竹山法坛",
        "李凡决定“既来之则安之”，并首次尝…"
      ],
      "style_constraints": [],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
          "kind": "scene",
          "lead_scene_id": "S0003",
          "source_scene_ids": [
            "S0003"
          ],
          "source_group_ids": [
            "AG0002__S02"
          ],
          "source_beat_ids": [
            "AB0002__S02"
          ]
        }
      ],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": false,
        "auto_needs_voice_binding": false,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": false,
        "needs_voice_binding": false,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定"
      ],
      "reason": "覆盖 1 集、命中 2 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "should_build",
      "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "",
        "visual_card_id": "",
        "voice_card_id": "",
        "asset_binding_id": ""
      }
    }
  ],
  "props": [
    {
      "entity_uid": "E000004",
      "name": "魔尊法相",
      "canonical_name": "魔尊法相",
      "display_name": "魔尊法相",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "物品",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "prop_role": "incidental_prop",
      "episode_ids": [
        "EP0001"
      ],
      "first_seen": "C0001",
      "last_seen": "C0002",
      "source_scene_ids": [
        "S0001"
      ],
      "source_group_ids": [
        "AG0001"
      ],
      "source_beat_ids": [
        "AB0001"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "visual_card_id": "VC000004",
      "asset_binding_id": "AB000004",
      "identity_summary": "法坛中央的雕像；魔尊形象",
      "visual_anchor_summary": "",
      "design_prompt_fragments": [],
      "prop_core": [
        "魔尊法相",
        "法坛中央的雕像",
        "魔尊形象",
        "八臂魔尊托着明月"
      ],
      "material_core": [],
      "form_core": [],
      "usage_core": [],
      "owner_candidates": [],
      "matched_terms": [
        "魔尊法相"
      ],
      "usage_hits": 1,
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B001",
          "title": "介绍墨竹山险恶环境与山中魔尊法坛。",
          "kind": "scene",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        }
      ],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": false,
        "auto_needs_voice_binding": false,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": false,
        "needs_voice_binding": false,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": true,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "na",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": true,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": false
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定"
      ],
      "reason": "剧本块命中 1 次，适合优先建立道具/界面资产。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "should_build",
      "init_action_reason": "道具重要但非首阻断项，可在核心资产后补齐",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "entity_uid": "E000004",
        "visual_card_id": "VC000004",
        "voice_card_id": "",
        "asset_binding_id": "AB000004"
      }
    }
  ],
  "voices": [
    {
      "entity_uid": "E000002",
      "name": "李凡",
      "canonical_name": "李凡",
      "display_name": "李凡",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000002",
      "asset_binding_id": "AB000002",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "voice_anchor_summary": "",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [],
      "casting_tags": [],
      "voice_variants": [],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "needs": [
        "补角色语音参考",
        "补角色音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
          "kind": "scene",
          "lead_scene_id": "S0003",
          "source_scene_ids": [
            "S0003"
          ],
          "source_group_ids": [
            "AG0002__S02"
          ],
          "source_beat_ids": [
            "AB0002__S02"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "系统出现",
          "kind": "bridge",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000001",
      "name": "老道",
      "canonical_name": "老道",
      "display_name": "老道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000001",
      "asset_binding_id": "AB000001",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004"
      ],
      "voice_anchor_summary": "",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [],
      "casting_tags": [],
      "voice_variants": [],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "needs": [
        "补角色语音参考",
        "补角色音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000001",
        "visual_card_id": "",
        "voice_card_id": "VO000001",
        "asset_binding_id": "AB000001"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
          "kind": "scene",
          "lead_scene_id": "S0003",
          "source_scene_ids": [
            "S0003"
          ],
          "source_group_ids": [
            "AG0002__S02"
          ],
          "source_beat_ids": [
            "AB0002__S02"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "系统出现",
          "kind": "bridge",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000011",
      "name": "修士",
      "canonical_name": "修士",
      "display_name": "修士",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000011",
      "asset_binding_id": "AB000011",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "voice_anchor_summary": "",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [],
      "casting_tags": [],
      "voice_variants": [],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": false,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "needs": [
        "补角色语音参考",
        "补角色音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "should_build",
      "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000011",
        "visual_card_id": "",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000012",
      "name": "童子",
      "canonical_name": "童子",
      "display_name": "童子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P4",
      "role_tier": "featured",
      "voice_card_id": "VO000012",
      "asset_binding_id": "AB000012",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "voice_anchor_summary": "",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [],
      "casting_tags": [],
      "voice_variants": [],
      "asset_profile": {},
      "asset_readiness": {
        "reference_image_count": 0,
        "reference_audio_count": 0,
        "lora_binding_count": 0,
        "voice_binding_count": 0,
        "manual_override_count": 0,
        "auto_needs_visual_reference": true,
        "auto_needs_visual_lock": true,
        "auto_needs_voice_reference": true,
        "auto_needs_voice_binding": true,
        "needs_visual_reference": true,
        "needs_visual_lock": true,
        "needs_voice_reference": true,
        "needs_voice_binding": true,
        "visual_seed_text_ready": true,
        "voice_seed_text_ready": true,
        "dramart_asset_spec_ready": false,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 0,
        "required_voice_asset_count": 0,
        "entity_needs_review": true,
        "manual_needs_fix": false,
        "manual_blocked": false,
        "manual_needs_fix_scopes": [],
        "manual_blocked_scopes": [],
        "manual_approved_scopes": [],
        "manual_locked_scopes": [],
        "manual_override_flags": {
          "entity_ok": false,
          "visual_ok": false,
          "voice_ok": false,
          "asset_ok": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "ready_for_dramart": false,
        "ready_for_dramart_init": false
      },
      "review_overlay": {
        "scopes": {
          "entity": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "visual": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "voice": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          },
          "assets": {
            "status": "todo",
            "locked": false,
            "reviewer": "",
            "review_note": "",
            "labels": [],
            "updated_at": "",
            "is_approved": false,
            "is_na": false,
            "is_blocked": false,
            "is_needs_fix": false,
            "is_open": true
          }
        },
        "blocked_scopes": [],
        "needs_fix_scopes": [],
        "approved_scopes": [],
        "locked_scopes": [],
        "open_scopes": [],
        "manual_blocked": false,
        "manual_needs_fix": false
      },
      "needs": [
        "补角色语音参考",
        "补角色音色绑定"
      ],
      "risk_flags": [
        "entity_review",
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "实体主档待复核；参考图缺口；语音参考缺口",
      "init_action": "review_required",
      "init_action_reason": "实体主档待复核；参考图缺口；语音参考缺口",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "entity_uid": "E000012",
        "visual_card_id": "",
        "voice_card_id": "VO000012",
        "asset_binding_id": "AB000012"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】修士三人组携童子出场",
          "kind": "dialogue",
          "lead_scene_id": "S0002",
          "source_scene_ids": [
            "S0002"
          ],
          "source_group_ids": [
            "AG0002__S01"
          ],
          "source_beat_ids": [
            "AB0002__S01"
          ]
        }
      ]
    }
  ],
  "asset_suggestions": {
    "characters": [
      {
        "entity_uid": "E000002",
        "name": "李凡",
        "canonical_name": "李凡",
        "display_name": "李凡",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002",
        "visual_anchor_summary": "李凡，主要角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
            "kind": "scene",
            "lead_scene_id": "S0003",
            "source_scene_ids": [
              "S0003"
            ],
            "source_group_ids": [
              "AG0002__S02"
            ],
            "source_beat_ids": [
              "AB0002__S02"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "系统出现",
            "kind": "bridge",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "required_visual_assets": [],
        "optional_visual_assets": [],
        "required_voice_assets": [],
        "variant_keys": [],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000002",
          "visual_card_id": "VC000002",
          "voice_card_id": "VO000002",
          "asset_binding_id": "AB000002"
        }
      },
      {
        "entity_uid": "E000001",
        "name": "老道",
        "canonical_name": "老道",
        "display_name": "老道",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "visual_card_id": "VC000001",
        "voice_card_id": "VO000001",
        "asset_binding_id": "AB000001",
        "visual_anchor_summary": "老道士突然爆发出一声怪笑；法坛前只有个墨帻法褐的老道",
        "design_prompt_fragments": [
          "老道士突然爆发出一声怪笑",
          "法坛前只有个墨帻法褐的老道"
        ],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
            "kind": "scene",
            "lead_scene_id": "S0003",
            "source_scene_ids": [
              "S0003"
            ],
            "source_group_ids": [
              "AG0002__S02"
            ],
            "source_beat_ids": [
              "AB0002__S02"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "系统出现",
            "kind": "bridge",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "required_visual_assets": [],
        "optional_visual_assets": [],
        "required_voice_assets": [],
        "variant_keys": [],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000001",
          "visual_card_id": "VC000001",
          "voice_card_id": "VO000001",
          "asset_binding_id": "AB000001"
        }
      },
      {
        "entity_uid": "E000011",
        "name": "修士",
        "canonical_name": "修士",
        "display_name": "修士",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000011",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011",
        "visual_anchor_summary": "修士，角色姓名",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "required_visual_assets": [],
        "optional_visual_assets": [],
        "required_voice_assets": [],
        "variant_keys": [],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "角色已具备基础识别信息，建议在主角色之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000011",
          "visual_card_id": "VC000011",
          "voice_card_id": "VO000011",
          "asset_binding_id": "AB000011"
        }
      },
      {
        "entity_uid": "E000012",
        "name": "童子",
        "canonical_name": "童子",
        "display_name": "童子",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000012",
        "voice_card_id": "VO000012",
        "asset_binding_id": "AB000012",
        "visual_anchor_summary": "童子，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": true,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "required_visual_assets": [],
        "optional_visual_assets": [],
        "required_voice_assets": [],
        "variant_keys": [],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定",
          "实体主档待复核"
        ],
        "risk_flags": [
          "entity_review",
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "实体主档待复核；参考图缺口；语音参考缺口",
        "init_action": "review_required",
        "init_action_reason": "实体主档待复核；参考图缺口；语音参考缺口",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000012",
          "visual_card_id": "VC000012",
          "voice_card_id": "VO000012",
          "asset_binding_id": "AB000012"
        }
      }
    ],
    "locations": [
      {
        "entity_uid": "E000003",
        "name": "墨竹山",
        "canonical_name": "墨竹山",
        "display_name": "墨竹山",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "地点",
        "subtype": "山岳/洞天",
        "importance": "minor",
        "priority": "P3",
        "location_role": "oneoff_set",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "visual_card_id": "VC000003",
        "asset_binding_id": "AB000003",
        "identity_summary": "仙侠世界中的山脉；人烟罕至的险地",
        "visual_anchor_summary": "墨竹山。相关场面：介绍墨竹山险恶环境与山中魔尊法坛。。画面线索：墨竹山；蛮荒险恶的自然环境与突兀存在的人造…。",
        "design_prompt_fragments": [
          "墨竹山",
          "介绍墨竹山险恶环境与山中魔尊法坛。",
          "蛮荒险恶的自然环境与突兀存在的人造…"
        ],
        "location_core": [
          "仙侠世界中的山脉",
          "墨竹山，地方三千里",
          "整个墨色竹林中"
        ],
        "landmark_core": [
          "墨竹山",
          "蛮荒险恶的自然环境与突兀存在的人造…"
        ],
        "atmosphere_core": [
          "墨竹山"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "介绍墨竹山险恶环境与山中魔尊法坛。",
            "kind": "scene",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": false,
          "auto_needs_voice_binding": false,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": false,
          "needs_voice_binding": false,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": true,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "na",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": true,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": false
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "review_notes": [
          "缺少参考图",
          "缺少视觉锁定绑定"
        ],
        "reason": "覆盖 1 集、命中 1 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "should_build",
        "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000003",
          "visual_card_id": "VC000003",
          "voice_card_id": "",
          "asset_binding_id": "AB000003"
        }
      },
      {
        "entity_uid": "E000008",
        "name": "瑶光洞",
        "canonical_name": "瑶光洞",
        "display_name": "瑶光洞",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "地点",
        "subtype": "山岳/洞天",
        "importance": "minor",
        "priority": "P3",
        "location_role": "oneoff_set",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000008",
        "asset_binding_id": "AB000008",
        "identity_summary": "玉蟾婆的洞府；修士提及的地方",
        "visual_anchor_summary": "瑶光洞。相关场面：【闪回】修士三人组携童子出场。画面线索：瑶光洞；修士三人组携童子出场。",
        "design_prompt_fragments": [
          "瑶光洞",
          "【闪回】修士三人组携童子出场",
          "修士三人组携童子出场。"
        ],
        "location_core": [
          "玉蟾婆的洞府",
          "瑶光洞的玉蟾婆来观里作客"
        ],
        "landmark_core": [
          "瑶光洞",
          "修士三人组携童子出场。"
        ],
        "atmosphere_core": [
          "瑶光洞"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": false,
          "auto_needs_voice_binding": false,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": false,
          "needs_voice_binding": false,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": true,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "na",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": true,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": false
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "review_notes": [
          "缺少参考图",
          "缺少视觉锁定绑定"
        ],
        "reason": "覆盖 1 集、命中 1 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "should_build",
        "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000008",
          "visual_card_id": "VC000008",
          "voice_card_id": "",
          "asset_binding_id": "AB000008"
        }
      },
      {
        "entity_uid": "",
        "name": "墨竹山法坛",
        "canonical_name": "墨竹山法坛",
        "display_name": "墨竹山法坛",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "地点",
        "subtype": "",
        "importance": "unknown",
        "priority": "P4",
        "location_role": "oneoff_set",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003"
        ],
        "visual_card_id": "",
        "asset_binding_id": "",
        "identity_summary": "",
        "visual_anchor_summary": "墨竹山法坛。相关场面：【闪回】修士三人组携童子出场；【闪回】李凡接受穿越现实，尝试呼唤系统。。画面线索：瑶光洞；修士三人组携童子出场。",
        "design_prompt_fragments": [
          "墨竹山法坛",
          "【闪回】修士三人组携童子出场",
          "【闪回】李凡接受穿越现实，尝试呼唤系统。",
          "瑶光洞",
          "修士三人组携童子出场。"
        ],
        "location_core": [
          "墨竹山法坛",
          "【闪回】修士三人组携童子出场",
          "【闪回】李凡接受穿越现实，尝试呼唤系统。"
        ],
        "landmark_core": [
          "瑶光洞",
          "修士三人组携童子出场。"
        ],
        "atmosphere_core": [
          "墨竹山法坛",
          "李凡决定“既来之则安之”，并首次尝…"
        ],
        "style_constraints": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
            "kind": "scene",
            "lead_scene_id": "S0003",
            "source_scene_ids": [
              "S0003"
            ],
            "source_group_ids": [
              "AG0002__S02"
            ],
            "source_beat_ids": [
              "AB0002__S02"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": false,
          "auto_needs_voice_binding": false,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": false,
          "needs_voice_binding": false,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "review_notes": [
          "缺少参考图",
          "缺少视觉锁定绑定"
        ],
        "reason": "覆盖 1 集、命中 2 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "should_build",
        "init_action_reason": "场景具备候选映射，建议按主场景之后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "",
          "visual_card_id": "",
          "voice_card_id": "",
          "asset_binding_id": ""
        }
      }
    ],
    "props": [
      {
        "entity_uid": "E000004",
        "name": "魔尊法相",
        "canonical_name": "魔尊法相",
        "display_name": "魔尊法相",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "物品",
        "subtype": "",
        "importance": "minor",
        "priority": "P3",
        "prop_role": "incidental_prop",
        "episode_ids": [
          "EP0001"
        ],
        "first_seen": "C0001",
        "last_seen": "C0002",
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "visual_card_id": "VC000004",
        "asset_binding_id": "AB000004",
        "identity_summary": "法坛中央的雕像；魔尊形象",
        "visual_anchor_summary": "",
        "design_prompt_fragments": [],
        "prop_core": [
          "魔尊法相",
          "法坛中央的雕像",
          "魔尊形象",
          "八臂魔尊托着明月"
        ],
        "material_core": [],
        "form_core": [],
        "usage_core": [],
        "owner_candidates": [],
        "matched_terms": [
          "魔尊法相"
        ],
        "usage_hits": 1,
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "介绍墨竹山险恶环境与山中魔尊法坛。",
            "kind": "scene",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          }
        ],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": false,
          "auto_needs_voice_binding": false,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": false,
          "needs_voice_binding": false,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": true,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "na",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": true,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": false
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "na",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": true,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": false
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "review_notes": [
          "缺少参考图",
          "缺少视觉锁定绑定"
        ],
        "reason": "剧本块命中 1 次，适合优先建立道具/界面资产。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "should_build",
        "init_action_reason": "道具重要但非首阻断项，可在核心资产后补齐",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001"
          ],
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ],
          "entity_uid": "E000004",
          "visual_card_id": "VC000004",
          "voice_card_id": "",
          "asset_binding_id": "AB000004"
        }
      }
    ],
    "voices": [
      {
        "entity_uid": "E000002",
        "name": "李凡",
        "canonical_name": "李凡",
        "display_name": "李凡",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": [],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "needs": [
          "补角色语音参考",
          "补角色音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000002",
          "visual_card_id": "",
          "voice_card_id": "VO000002",
          "asset_binding_id": "AB000002"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
            "kind": "scene",
            "lead_scene_id": "S0003",
            "source_scene_ids": [
              "S0003"
            ],
            "source_group_ids": [
              "AG0002__S02"
            ],
            "source_beat_ids": [
              "AB0002__S02"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "系统出现",
            "kind": "bridge",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000001",
        "name": "老道",
        "canonical_name": "老道",
        "display_name": "老道",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000001",
        "asset_binding_id": "AB000001",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004"
        ],
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": [],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "needs": [
          "补角色语音参考",
          "补角色音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000001",
          "visual_card_id": "",
          "voice_card_id": "VO000001",
          "asset_binding_id": "AB000001"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】李凡接受穿越现实，尝试呼唤系统。",
            "kind": "scene",
            "lead_scene_id": "S0003",
            "source_scene_ids": [
              "S0003"
            ],
            "source_group_ids": [
              "AG0002__S02"
            ],
            "source_beat_ids": [
              "AB0002__S02"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "系统出现",
            "kind": "bridge",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000011",
        "name": "修士",
        "canonical_name": "修士",
        "display_name": "修士",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": [],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": false,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "needs": [
          "补角色语音参考",
          "补角色音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "should_build",
        "init_action_reason": "声音建议已存在，但可排在核心角色之后处理",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000011",
          "visual_card_id": "",
          "voice_card_id": "VO000011",
          "asset_binding_id": "AB000011"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000012",
        "name": "童子",
        "canonical_name": "童子",
        "display_name": "童子",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "voice_card_id": "VO000012",
        "asset_binding_id": "AB000012",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "voice_anchor_summary": "",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [],
        "casting_tags": [],
        "voice_variants": [],
        "asset_profile": {},
        "asset_readiness": {
          "reference_image_count": 0,
          "reference_audio_count": 0,
          "lora_binding_count": 0,
          "voice_binding_count": 0,
          "manual_override_count": 0,
          "auto_needs_visual_reference": true,
          "auto_needs_visual_lock": true,
          "auto_needs_voice_reference": true,
          "auto_needs_voice_binding": true,
          "needs_visual_reference": true,
          "needs_visual_lock": true,
          "needs_voice_reference": true,
          "needs_voice_binding": true,
          "visual_seed_text_ready": true,
          "voice_seed_text_ready": true,
          "dramart_asset_spec_ready": false,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 0,
          "required_voice_asset_count": 0,
          "entity_needs_review": true,
          "manual_needs_fix": false,
          "manual_blocked": false,
          "manual_needs_fix_scopes": [],
          "manual_blocked_scopes": [],
          "manual_approved_scopes": [],
          "manual_locked_scopes": [],
          "manual_override_flags": {
            "entity_ok": false,
            "visual_ok": false,
            "voice_ok": false,
            "asset_ok": false
          },
          "review_overlay": {
            "scopes": {
              "entity": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "visual": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "voice": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              },
              "assets": {
                "status": "todo",
                "locked": false,
                "reviewer": "",
                "review_note": "",
                "labels": [],
                "updated_at": "",
                "is_approved": false,
                "is_na": false,
                "is_blocked": false,
                "is_needs_fix": false,
                "is_open": true
              }
            },
            "blocked_scopes": [],
            "needs_fix_scopes": [],
            "approved_scopes": [],
            "locked_scopes": [],
            "open_scopes": [],
            "manual_blocked": false,
            "manual_needs_fix": false
          },
          "ready_for_dramart": false,
          "ready_for_dramart_init": false
        },
        "review_overlay": {
          "scopes": {
            "entity": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "visual": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "voice": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            },
            "assets": {
              "status": "todo",
              "locked": false,
              "reviewer": "",
              "review_note": "",
              "labels": [],
              "updated_at": "",
              "is_approved": false,
              "is_na": false,
              "is_blocked": false,
              "is_needs_fix": false,
              "is_open": true
            }
          },
          "blocked_scopes": [],
          "needs_fix_scopes": [],
          "approved_scopes": [],
          "locked_scopes": [],
          "open_scopes": [],
          "manual_blocked": false,
          "manual_needs_fix": false
        },
        "needs": [
          "补角色语音参考",
          "补角色音色绑定"
        ],
        "risk_flags": [
          "entity_review",
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "实体主档待复核；参考图缺口；语音参考缺口",
        "init_action": "review_required",
        "init_action_reason": "实体主档待复核；参考图缺口；语音参考缺口",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "E000012",
          "visual_card_id": "",
          "voice_card_id": "VO000012",
          "asset_binding_id": "AB000012"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】修士三人组携童子出场",
            "kind": "dialogue",
            "lead_scene_id": "S0002",
            "source_scene_ids": [
              "S0002"
            ],
            "source_group_ids": [
              "AG0002__S01"
            ],
            "source_beat_ids": [
              "AB0002__S01"
            ]
          }
        ]
      }
    ]
  },
  "asset_action_summary": {
    "characters": {
      "review_required": 1,
      "must_build": 0,
      "should_build": 3,
      "ready": 0
    },
    "locations": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 3,
      "ready": 0
    },
    "props": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 1,
      "ready": 0
    },
    "voices": {
      "review_required": 1,
      "must_build": 0,
      "should_build": 3,
      "ready": 0
    }
  },
  "risk_summary": {
    "total_risk_item_count": 42,
    "risk_flag_count": 5,
    "flags": [
      {
        "flag": "visual_lock_gap",
        "count": 12,
        "asset_types": [
          "character",
          "location",
          "prop",
          "voice"
        ],
        "examples": [
          "李凡",
          "老道",
          "修士",
          "童子",
          "墨竹山",
          "瑶光洞"
        ]
      },
      {
        "flag": "visual_reference_gap",
        "count": 12,
        "asset_types": [
          "character",
          "location",
          "prop",
          "voice"
        ],
        "examples": [
          "李凡",
          "老道",
          "修士",
          "童子",
          "墨竹山",
          "瑶光洞"
        ]
      },
      {
        "flag": "voice_binding_gap",
        "count": 8,
        "asset_types": [
          "character",
          "voice"
        ],
        "examples": [
          "李凡",
          "老道",
          "修士",
          "童子"
        ]
      },
      {
        "flag": "voice_reference_gap",
        "count": 8,
        "asset_types": [
          "character",
          "voice"
        ],
        "examples": [
          "李凡",
          "老道",
          "修士",
          "童子"
        ]
      },
      {
        "flag": "entity_review",
        "count": 2,
        "asset_types": [
          "character",
          "voice"
        ],
        "examples": [
          "童子"
        ]
      }
    ]
  },
  "review_checklist": [
    {
      "check_id": "CHK0001",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：李凡",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000002",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0002",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：李凡",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000002",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0003",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：老道",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000001",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0004",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：老道",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000001",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0005",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：修士",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000011",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0006",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：修士",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000011",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0007",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：童子",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0008",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：童子",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0009",
      "category": "manual_review",
      "severity": "info",
      "status": "todo",
      "title": "角色主档待复核：童子",
      "detail": "实体主档仍处于待复核状态，建议在继续资产制作前先确认实体设定。",
      "target_type": "character",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在实体页确认实体主档后，再推进资产或上传。"
    },
    {
      "check_id": "CHK0010",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：墨竹山",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000003",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0011",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：瑶光洞",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000008",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0012",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：墨竹山法坛",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0013",
      "category": "prop_asset",
      "severity": "info",
      "status": "todo",
      "title": "道具建议补参考：魔尊法相",
      "detail": "关键道具/系统资产尚未准备参考图。",
      "target_type": "prop",
      "target_id": "E000004",
      "source_refs": [
        "C0001",
        "C0002"
      ],
      "recommended_action": "补一张标准参考图，必要时再补特写或界面规范。"
    },
    {
      "check_id": "CHK0014",
      "category": "time_mode",
      "severity": "info",
      "status": "todo",
      "title": "存在非主线时间层",
      "detail": "当前剧本包含回忆、梦境或并行线等时间层，上传到 Dramart 前需要显式标注。",
      "target_type": "package",
      "target_id": "outline",
      "source_refs": [
        "flashback"
      ],
      "recommended_action": "在分集文本或场次标题中明确标出时间层切换。"
    }
  ],
  "upload_bundle": {
    "contract_version": "dramart_upload_bundle.v3",
    "content_policy": {
      "contract_version": "dramart_package_scope.v1",
      "package_roles": [
        "export_layer",
        "asset_suggestion_layer",
        "risk_reveal_layer"
      ],
      "allowed_derivations": [
        "字段兜底与格式整形",
        "episode_upload_markdown 聚合输出",
        "asset_suggestion / readiness / risk overlay 派生",
        "upload markdown 的大纲与导览拼装"
      ],
      "forbidden_repairs": [
        "改写 screenplay_text 正文主体",
        "重写 title / opening_hook / ending_hook 主文案",
        "用 package 文案覆盖 episode 主角色排序"
      ],
      "source_of_truth": {
        "screenplay": "03d_screenplay.json",
        "entity_registry": "02e_entity_registry.json",
        "visual_cards": "02f_entity_visual_cards.json",
        "voice_cards": "02g_entity_voice_cards.json",
        "asset_bindings": "02h_entity_assets.json"
      }
    },
    "upload_script_filename": "03e_dramart_upload_script.md",
    "upload_script_markdown": "# 道祖是克苏鲁\n\n## 故事大纲\n故事核心：蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n核心钩子：将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。\n\n## 主要人物\n- 李凡：主要角色\n- 老道：修道之人\n- 修士：角色姓名\n- 童子：功能角色\n\n## 分集导览\n- 第01集 镜头从险峻山峦全景：蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n\n## 正文剧本\n\n# 第01集 镜头从险峻山峦全景\n\n本集围绕李凡、老道、童子、修士展开，主要场面落在墨竹山、瑶光洞、墨竹山法坛。蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n本集看点集中在“将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。”，并收在“李凡对“心理健康维护系统”的预期（如金手指）与现实（看…”。\n\n## 场次01 介绍墨竹山险恶环境与山中魔尊法坛。\n\n场面落在墨竹山。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 场次02 【闪回】修士三人组携童子出场\n\n这一场属于回忆时间层，场面落在瑶光洞、墨竹山法坛，出场人物有老道、修士、童子、李凡。\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 场次03 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n这一场属于回忆时间层，场面落在墨竹山法坛，出场人物有李凡、老道。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 场次04 系统出现\n\n出场人物有李凡、老道。\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
    "upload_ready": true,
    "recommended_upload_mode": "single_file",
    "validation": {
      "max_chars_per_upload": 100000,
      "single_file_char_count": 1195,
      "single_file_within_limit": true,
      "episode_count": 1,
      "part_count": 1,
      "oversized_episode_count": 0,
      "oversized_part_count": 0
    },
    "episode_uploads": [
      {
        "episode_id": "EP0001",
        "title": "第01集 镜头从险峻山峦全景",
        "filename": "03e_dramart_upload_EP0001.md",
        "char_count": 965,
        "block_count": 4,
        "time_modes": [
          "unknown",
          "flashback",
          "mainline"
        ],
        "source_scene_ids": [
          "S0001",
          "S0002",
          "S0003",
          "S0004"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002__S01",
          "AG0002__S02",
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002__S01",
          "AB0002__S02",
          "AB0003"
        ],
        "markdown": "# 第01集 镜头从险峻山峦全景\n\n本集围绕李凡、老道、童子、修士展开，主要场面落在墨竹山、瑶光洞、墨竹山法坛。蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n本集看点集中在“将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。”，并收在“李凡对“心理健康维护系统”的预期（如金手指）与现实（看…”。\n\n## 场次01 介绍墨竹山险恶环境与山中魔尊法坛。\n\n场面落在墨竹山。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 场次02 【闪回】修士三人组携童子出场\n\n这一场属于回忆时间层，场面落在瑶光洞、墨竹山法坛，出场人物有老道、修士、童子、李凡。\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 场次03 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n这一场属于回忆时间层，场面落在墨竹山法坛，出场人物有李凡、老道。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 场次04 系统出现\n\n出场人物有李凡、老道。\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "",
          "visual_card_id": "",
          "voice_card_id": "",
          "asset_binding_id": ""
        }
      }
    ],
    "upload_parts": [
      {
        "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": 965,
        "within_limit": true,
        "markdown": "# 第01集 镜头从险峻山峦全景\n\n本集围绕李凡、老道、童子、修士展开，主要场面落在墨竹山、瑶光洞、墨竹山法坛。蛮荒险恶的自然环境与突兀存在的人造…，系统宣布‘心情下降1点’，心理健康维护系统出现。\n用最精炼、最具冲击力的视听语言，蛮荒险恶的自然环境与突兀存在的人造神迹（法…，镜头从险峻山峦全景，推至林中平地。\n本集看点集中在“将观众带入一个危险而神秘的仙侠世界，并埋下“谁在此建坛。”，并收在“李凡对“心理健康维护系统”的预期（如金手指）与现实（看…”。\n\n## 场次01 介绍墨竹山险恶环境与山中魔尊法坛。\n\n场面落在墨竹山。\n\n（墨竹山）\n蛮荒险恶的自然环境与突兀存在的人造神迹（法坛）之间的视觉与概念冲突。\n毒瘴与妖兽横行的氛围。\n人力开凿的平地。\n八臂六首的魔尊法相。\n镜头从险峻山峦全景，推至林中平地。\n有人先把相一句句讲明。\n镜头从险峻山峦全景，推至林中平地，最终定格在诡异魔尊法相的那一刻——从建立环境到引入核心谜题。\n\n## 场次02 【闪回】修士三人组携童子出场\n\n这一场属于回忆时间层，场面落在瑶光洞、墨竹山法坛，出场人物有老道、修士、童子、李凡。\n\n（瑶光洞）\n李凡：这层险处不是嘴上说说，真落到身上，躲不过就要伤身。\n童子：话既然说到这里，我今天就想听个准话。\n修士三人组携童子出场。\n修士交代童子来源（玉蟾婆吃人）\n老道画圈并说出“晚上不管听到什么，看到什么，只要不走出圈子，可保性命无虞”\n\n## 场次03 【闪回】李凡接受穿越现实，尝试呼唤系统。\n\n这一场属于回忆时间层，场面落在墨竹山法坛，出场人物有李凡、老道。\n\n（墨竹山法坛）\n李凡决定“既来之则安之”，并首次尝试呼唤系统。\n李凡往前逼出一步，场上的人也都不能再装作没听见。\n李凡对穿越到仙侠世界的吐槽与无奈。\n李凡观察老道并评估其威胁。\n李凡尝试在心中呼唤系统。\n李凡的现代认知与仙侠现实的冲突。\n\n## 场次04 系统出现\n\n出场人物有李凡、老道。\n\n心理健康维护系统出现。 / 系统提示李凡选择先天气运。 李凡因系统提示烦躁咆哮，老道瞪视后扔给他芝… / 李凡看着饼发愣。\n李凡对“心理健康维护系统”的预期（如金手指）与现实（看似无用的功能）之间的内在冲突。\n系统宣布‘心情下降1点’。\n系统出现。\n显示欢迎信息。\n李凡的疑惑与吐槽。",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [],
          "source_scene_ids": [
            "S0001",
            "S0002",
            "S0003",
            "S0004"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002__S01",
            "AG0002__S02",
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002__S01",
            "AB0002__S02",
            "AB0003"
          ],
          "entity_uid": "",
          "visual_card_id": "",
          "voice_card_id": "",
          "asset_binding_id": ""
        }
      }
    ],
    "warnings": [
      "存在回忆、梦境或并行线等时间层，上传时建议在正文标题中显式标注。"
    ],
    "notes": [
      "上传正文建议使用 upload_bundle 中的上传版正文，不混入 checklist 或资产说明。",
      "若 recommended_upload_mode=split_parts，请按 upload_parts 顺序逐段上传。",
      "其余角色、场景、道具与音色信息请从 dramart_package.json 中读取。"
    ],
    "source_ref": {
      "episode_ids": [
        "EP0001"
      ],
      "block_ids": [],
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002__S01",
        "AG0002__S02",
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002__S01",
        "AB0002__S02",
        "AB0003"
      ],
      "entity_uid": "",
      "visual_card_id": "",
      "voice_card_id": "",
      "asset_binding_id": ""
    },
    "readiness_summary": {
      "status": "pass",
      "issue_count": 1,
      "fail_count": 0,
      "warn_count": 0,
      "info_count": 1,
      "episode_count": 1,
      "block_count": 4,
      "character_bio_count": 4,
      "named_episode_count": 1,
      "episode_with_summary_count": 1,
      "episode_with_opening_hook_count": 1,
      "episode_with_ending_hook_count": 1,
      "episode_with_upload_text_count": 1,
      "recommended_upload_mode": "single_file",
      "upload_script_char_count": 1195,
      "single_file_within_limit": true,
      "part_count": 1,
      "oversized_episode_count": 0,
      "oversized_part_count": 0,
      "has_global_preface": true,
      "time_layer_annotation_recommended": true
    },
    "readiness_issues": [
      {
        "code": "non_mainline_time_mode",
        "severity": "info",
        "title": "存在非主线时间层",
        "detail": "当前剧本包含回忆、梦境或并行线等时间层，上传时建议显式标注，以免平台误解时态切换。",
        "target_type": "package",
        "target_id": "",
        "source_refs": [
          "flashback"
        ],
        "recommended_action": "在分集标题、场次标题或正文中显式提示时间层切换。"
      }
    ]
  }
}