{
  "meta": {
    "package_version": "dramart_package.v3",
    "content_policy_version": "dramart_package_scope.v1",
    "project_title": "ershinian_pg24099_ch1_4",
    "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": 6,
    "source_scene_ref_count": 6,
    "character_bio_count": 22,
    "location_asset_count": 9,
    "prop_asset_count": 0,
    "voice_suggestion_count": 22,
    "review_checklist_count": 54,
    "upload_script_char_count": 4563,
    "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,
    "source_screenplay_generation_status": "ok",
    "source_screenplay_blocked_block_count": 0,
    "source_screenplay_blocked_episode_count": 0,
    "source_screenplay_placeholder_block_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": 194,
    "risk_flag_count": 4,
    "entity_review_summary": {
      "entity": {
        "total": 42,
        "applicable": 42,
        "todo": 42,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 42
      },
      "visual": {
        "total": 42,
        "applicable": 42,
        "todo": 42,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 42
      },
      "voice": {
        "total": 42,
        "applicable": 24,
        "todo": 24,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 18,
        "locked": 0,
        "open": 24
      },
      "assets": {
        "total": 42,
        "applicable": 42,
        "todo": 42,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 42
      },
      "event_count": 0
    },
    "time_mode_counts": {
      "flashback": 5,
      "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": "ershinian_pg24099_ch1_4",
    "format": "Dramart 漫剧/短剧输入包",
    "premise": "死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…",
    "core_hook": "死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…",
    "episode_count": 1,
    "block_count": 6,
    "source_scene_ref_count": 6,
    "time_mode_counts": {
      "flashback": 5,
      "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": "死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…",
      "summary": "高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。",
      "opening_hook": "死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…",
      "ending_hook": "这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "block_count": 6,
      "block_ids": [
        "EP0001B001",
        "EP0001B002",
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "time_modes": [
        "flashback",
        "mainline"
      ],
      "character_names": [
        "死裡逃生",
        "伯父",
        "太太",
        "候補道",
        "藩臺",
        "九死一生",
        "桂花",
        "吳景曾",
        "制臺",
        "客人",
        "土老兒",
        "張鼎臣"
      ],
      "character_display_names": [
        "死裡逃生",
        "伯父",
        "太太",
        "候補道",
        "藩臺",
        "九死一生",
        "桂花",
        "吳景曾",
        "制臺",
        "客人",
        "土老兒",
        "張鼎臣"
      ],
      "character_entity_uids": [
        "E000002",
        "E000014",
        "E000019",
        "E000036",
        "E000035",
        "E000004",
        "E000028",
        "E000025",
        "E000034",
        "E000043",
        "E000027",
        "E000011"
      ],
      "location_names": [
        "上海",
        "四馬路",
        "邑廟豫園",
        "南京",
        "杭州",
        "客棧",
        "會香裡",
        "京城"
      ],
      "location_display_names": [
        "上海",
        "四馬路",
        "邑廟豫園",
        "南京",
        "杭州",
        "客棧",
        "會香裡",
        "京城"
      ],
      "location_entity_uids": [
        "E000001",
        "E000029",
        "E000006",
        "E000013",
        "E000012",
        "E000020",
        "E000030",
        "E000031"
      ],
      "episode_markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\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桂花：野鸡道台的历史。\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主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "episode_upload_markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\n\n本集围绕死裡逃生、伯父、太太、候補道、藩臺、九死一生、桂花、吳景曾、制臺、客人、土老兒、張鼎臣展开，主要场面落在上海、四馬路、邑廟豫園、南京、杭州、客棧、會香裡、京城。死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。\n本集看点集中在“死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…”，并收在“这是他首次直观感受到表面身份与背后权力可能不符的官场现实。”。\n\n## 场次01 【闪回】上海繁华与堕落的社会风貌描述\n\n这一场属于回忆时间层，场面落在上海、四馬路、邑廟豫園，出场人物有死裡逃生、九死一生、漢子。\n这一场先把死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将推到台前。\n场面里先见上海繁华与堕落的社会风貌描述，紧跟着把死裡逃生在豫园获赠《二十年目睹之怪现状》手稿压出来。\n临到场尾，死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时。\n本场推进：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将，个人良知与社会腐化的冲突（死裡逃生对上海虚伪生活的厌恶 vs. 无处容身的迷茫），知识传播的使命与个人无力感的冲突。\n场面目标：高效建立故事发生的时代背景（腐败的晚清上海）和叙事框架（‘死裡逃生’获得并决定传播‘九死一生’的笔记），奠定全剧讽刺、揭露的基调。\n必留动作：上海繁华与堕落的社会风貌描述；死裡逃生在豫园获赠《二十年目睹之怪现状》手稿；手稿作者署名为‘九死一生’；死裡逃生决定将手稿寄往横滨《新小说》发表。\n连续抓手：时间模式：flashback（倒叙开场）；时间锚点：‘六十年前’需通过旁白或字幕明确；角色引入：死裡逃生（叙述者/传递者）、九死一生（隐含作者）；关键道具：《二十年目睹之怪现状》手稿的首次出现。\n前后承接上，要把flashback（倒叙开场）与‘六十年前’需通过旁白或字幕明确继续压在同一股气口里。\n\n（上海）\n死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时，内心受到巨大触动，决定担负起传播之责。\n死裡逃生抬头盯住眼前动静，脚下已经往前迈了出去。\n死裡逃生：九死一生。\n上海繁华与堕落的社会风貌描述。\n死裡逃生决定将手稿寄往横滨《新小说》发表。\n\n## 场次02 【闪回】九死一生决定请伯父\n\n这一场属于回忆时间层，场面落在南京、上海、杭州，出场人物有尤雲岫、張鼎臣、九死一生、伯父、死裡逃生、母親、廣東人、買辦。\n这一场先把本段概述：小说第二回标题：守常经不使疏逾戚，睹怪状几疑贼是官推到台前。\n场面里先见标题的悬疑与讽刺基调，紧跟着把父亲病逝杭州的噩耗压出来。\n临到场尾，主角听从母亲建议，独自前往南京寻伯父。\n本场推进：表面秩序（守常经）与潜在混乱（怪状、贼官难辨）的暗示性对立，主角听从母亲建议，独自前往南京寻伯父。\n场面目标：塑造主角初显文才与得到长辈认可的形象，同时通过财务处理与寻亲受挫展现其面临的现实困境，并以船上事件暗示官场腐败，增强故事悬念。\n必留动作：第二回标题文字；标题的悬疑与讽刺基调；父亲病逝杭州的噩耗；尤云岫受托伴行；张鼎臣询问后事主意并暗示尤云岫不可靠。\n连续抓手：紧接S0001之后；保持叙事流的顺畅过渡；保持flashback结构；时间锚点“十五岁那年”\n前后承接上，要把紧接S0001之后与保持叙事流的顺畅过渡继续压在同一股气口里。\n\n（南京）\n主角听从母亲建议，独自前往南京寻伯父。\n父亲病逝杭州的噩耗。\n尤云岫受托伴行。\n张鼎臣询问后事主意并暗示尤云岫不可靠。\n表面秩序与潜在混乱的暗示性对立。\n小说第二回标题：守常经不使疏逾戚。\n\n## 场次03 【闪回】主角盘缠将尽的窘境\n\n这一场属于回忆时间层，场面落在南京、上海、客棧、四馬路、會香裡，出场人物有伯父、李氏、藩臺、土老兒、吳景曾、太太、候補道、桂花。\n这一场先把【闪回】主角盘缠将尽的窘境推到台前。\n场面里先见“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示，紧跟着把主角盘缠将尽的窘境压出来。\n临到场尾，桂花提出“只要你娶了我做填房，不許再娶別人”\n本场推进：无直接人物冲突，是叙事结构（传统标题形式）与影视化流畅呈现之间的张力，桂花提出“只要你娶了我做填房，不許再娶別人”，并立刻行动（除招牌、关大门、改称呼），将劝捐的谋划落实为实际的婚姻与身份改变。\n场面目标：在继之与“我”的对话框架内，生动呈现桂花劝捐官这一讽刺故事，既推进主线人物关系（继之分享见闻），又以支线故事影射社会现实。\n必留动作：第三回标题文字；“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示；主角盘缠将尽的窘境；街头偶遇吴继之的惊喜与识别过程；吴继之邀请主角搬入公馆。\n连续抓手：承接S0004场景的情绪或状态；保持叙事顺序与故事顺序差（order_delta: 1）；保持flashback结构，与S0005衔接；主角服装、精神状态与前期一致。\n前后承接上，要把承接S0004场景的情绪或状态与保持叙事顺序与故事顺序差（order_…继续压在同一股气口里。\n\n（南京）\n伯父：只要你娶了我做填房，不許再娶別人。\n街头偶遇吴继之的惊喜与识别。\n桂花盘问家境劝其捐官。\n主角盘缠将尽的窘境。\n街头偶遇吴继之的惊喜与识别过程。\n吴继之邀请主角搬入公馆。\n\n## 场次04 【闪回】桂花为土老儿捐官谋差\n\n这一场属于回忆时间层，场面落在南京、京城、會香裡、蘇州，出场人物有藩臺、制臺、土老兒、桂花、撫臺、吳景曾、候補道。\n这一场先把桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人推到台前。\n场面里先见桂花为土老儿捐官谋差，紧跟着把藩台识破真相压出来。\n临到场尾，藩台接到京城回电，识破桂花与土老儿的底细。\n本场推进：桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人，桂花（精明、有野心）与土老儿（愚钝、不争气）的内在矛盾，虚假身份与官场现实的冲突，藩台接到京城回电，识破桂花与土老儿的底细。\n场面目标：通过旁白叙述与画面蒙太奇，高效、讽刺地呈现“野鸡道台”事件的完整经过，突出官场荒诞与人物命运的意外转折。\n必留动作：桂花为土老儿捐官谋差；藩台识破真相；桂花成为诰封夫人；继之作为讲述者；故事以“野鸡道台的历史”作结。\n连续抓手：保持flashback结构；继之的讲述视角；与S0007场景的衔接；时间锚点“想起”\n前后承接上，要把保持flashback结构与继之的讲述视角继续压在同一股气口里。\n\n（南京）\n桂花：野鸡道台的历史。\n候補道：话已经压到这里，“野鸡道台的历史”总该给我一句准信。\n桂花为土老儿捐官谋差。\n藩台识破真相。\n藩台接到京城回电，识破桂花与土老儿的底细。\n桂花成为诰封夫人。\n候補道：野鸡道台的历史。\n\n## 场次05 继之作为讲述者\n\n场面落在南京、京城、客棧，出场人物有候補道、太太、制臺、吳景曾、候補縣太爺、藩臺、總督大帥、買辦。\n这一场先把繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現推到台前。\n场面里先见继之作为讲述者，紧跟着把候补道献妻治病的核心情节压出来。\n临到场尾，继之点破“令伯这种行径，不定是有意回避你的了”\n本场推进：繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現，候补道为巴结上司而献妻的卑劣手段，与姨太太们维护自身地位/尊严之间的冲突，本质是官场腐败与家庭伦理的碰撞。\n场面目标：通过生动的对话和闪回画面，将一则官场丑闻以讽刺喜剧的方式呈现，强化故事的荒诞感，并塑造继之敏锐的观察者和评论者形象。\n必留动作：继之作为讲述者；候补道献妻治病的核心情节；按摩丑事被姨太太们发现；姨太太们围殴的闹剧场面；事件传遍南京城的讽刺性结尾。\n连续抓手：继之与“我”的对话连续性；候补道人物后续提及（C0010）；与前序场景（S0009）的叙事节奏衔接；为后续场景（S0011）建立新的章节预期。\n前后承接上，要把继之与“我”的对话连续性与候补道人物后续提及（C0010）继续压在同一股气口里。\n\n（南京）\n太太：令伯这种行径，不定是有意回避你的了。\n继之作为讲述者。\n按摩丑事被姨太太们发现。\n姨太太们围殴的闹剧场面。\n候補道：令伯这种行径，不定是有意回避你的了。\n繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現。\n\n## 场次06 【闪回】继之告知主角将接办大关差使\n\n这一场属于回忆时间层，场面落在上海，出场人物有伯父、藩臺、主人、客人、母親、吳景曾、太太。\n这一场先把继之告知主角将接办大关差使，并为其安排书启职位推到台前。\n场面里先见继之告知主角将接办大关差使，紧跟着把继之为主角安排书启职位并借银压出来。\n临到场尾，主角目睹神秘客人被恭敬送出的时刻。\n本场推进：继之告知主角将接办大关差使，并为其安排书启职位，主角对伯父真实去向的怀疑与门房掩饰之间的信息冲突，平民打扮的神秘客人与高官主人之间反常的尊卑关系所暗示的潜在权力博弈。\n场面目标：通过对话推进主角的职业安排和家庭疑云，并引入一个象征官场权力关系的神秘场景。\n必留动作：继之告知主角将接办大关差使；继之为主角安排书启职位并借银；主角前往伯父公馆打听行踪未果；主角偶遇神秘客人及主人恭敬送客的场面。\n连续抓手：保持倒叙（flashback）的时间模式；保留“二十年前”的时间锚点；确保伯父、继之等角色形象连贯。\n前后承接上，要把保持倒叙（flashback）的时间模式与保留“二十年前”的时间锚点继续压在同一股气口里。\n\n（上海）\n继之告知主角将接办大关差使。\n继之为主角安排书启职位并借银。\n主角前往伯父公馆打听行踪未果。\n主角偶遇神秘客人及主人恭敬送客的场面。\n主角目睹神秘客人被恭敬送出的时刻。\n主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "episode_upload_char_count": 4160,
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "",
        "visual_card_id": "",
        "voice_card_id": "",
        "asset_binding_id": ""
      }
    }
  ],
  "episodes": [
    {
      "episode_id": "EP0001",
      "episode_index": 1,
      "title": "第01集 不許再娶別人”，并立刻行动（除…",
      "logline": "死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…",
      "summary": "高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。",
      "opening_hook": "死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…",
      "ending_hook": "这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "block_count": 6,
      "block_ids": [
        "EP0001B001",
        "EP0001B002",
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "time_modes": [
        "flashback",
        "mainline"
      ],
      "character_names": [
        "死裡逃生",
        "伯父",
        "太太",
        "候補道",
        "藩臺",
        "九死一生",
        "桂花",
        "吳景曾",
        "制臺",
        "客人",
        "土老兒",
        "張鼎臣"
      ],
      "character_display_names": [
        "死裡逃生",
        "伯父",
        "太太",
        "候補道",
        "藩臺",
        "九死一生",
        "桂花",
        "吳景曾",
        "制臺",
        "客人",
        "土老兒",
        "張鼎臣"
      ],
      "character_entity_uids": [
        "E000002",
        "E000014",
        "E000019",
        "E000036",
        "E000035",
        "E000004",
        "E000028",
        "E000025",
        "E000034",
        "E000043",
        "E000027",
        "E000011"
      ],
      "location_names": [
        "上海",
        "四馬路",
        "邑廟豫園",
        "南京",
        "杭州",
        "客棧",
        "會香裡",
        "京城"
      ],
      "location_display_names": [
        "上海",
        "四馬路",
        "邑廟豫園",
        "南京",
        "杭州",
        "客棧",
        "會香裡",
        "京城"
      ],
      "location_entity_uids": [
        "E000001",
        "E000029",
        "E000006",
        "E000013",
        "E000012",
        "E000020",
        "E000030",
        "E000031"
      ],
      "episode_markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\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桂花：野鸡道台的历史。\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主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "episode_upload_markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\n\n本集围绕死裡逃生、伯父、太太、候補道、藩臺、九死一生、桂花、吳景曾、制臺、客人、土老兒、張鼎臣展开，主要场面落在上海、四馬路、邑廟豫園、南京、杭州、客棧、會香裡、京城。死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。\n本集看点集中在“死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…”，并收在“这是他首次直观感受到表面身份与背后权力可能不符的官场现实。”。\n\n## 场次01 【闪回】上海繁华与堕落的社会风貌描述\n\n这一场属于回忆时间层，场面落在上海、四馬路、邑廟豫園，出场人物有死裡逃生、九死一生、漢子。\n这一场先把死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将推到台前。\n场面里先见上海繁华与堕落的社会风貌描述，紧跟着把死裡逃生在豫园获赠《二十年目睹之怪现状》手稿压出来。\n临到场尾，死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时。\n本场推进：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将，个人良知与社会腐化的冲突（死裡逃生对上海虚伪生活的厌恶 vs. 无处容身的迷茫），知识传播的使命与个人无力感的冲突。\n场面目标：高效建立故事发生的时代背景（腐败的晚清上海）和叙事框架（‘死裡逃生’获得并决定传播‘九死一生’的笔记），奠定全剧讽刺、揭露的基调。\n必留动作：上海繁华与堕落的社会风貌描述；死裡逃生在豫园获赠《二十年目睹之怪现状》手稿；手稿作者署名为‘九死一生’；死裡逃生决定将手稿寄往横滨《新小说》发表。\n连续抓手：时间模式：flashback（倒叙开场）；时间锚点：‘六十年前’需通过旁白或字幕明确；角色引入：死裡逃生（叙述者/传递者）、九死一生（隐含作者）；关键道具：《二十年目睹之怪现状》手稿的首次出现。\n前后承接上，要把flashback（倒叙开场）与‘六十年前’需通过旁白或字幕明确继续压在同一股气口里。\n\n（上海）\n死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时，内心受到巨大触动，决定担负起传播之责。\n死裡逃生抬头盯住眼前动静，脚下已经往前迈了出去。\n死裡逃生：九死一生。\n上海繁华与堕落的社会风貌描述。\n死裡逃生决定将手稿寄往横滨《新小说》发表。\n\n## 场次02 【闪回】九死一生决定请伯父\n\n这一场属于回忆时间层，场面落在南京、上海、杭州，出场人物有尤雲岫、張鼎臣、九死一生、伯父、死裡逃生、母親、廣東人、買辦。\n这一场先把本段概述：小说第二回标题：守常经不使疏逾戚，睹怪状几疑贼是官推到台前。\n场面里先见标题的悬疑与讽刺基调，紧跟着把父亲病逝杭州的噩耗压出来。\n临到场尾，主角听从母亲建议，独自前往南京寻伯父。\n本场推进：表面秩序（守常经）与潜在混乱（怪状、贼官难辨）的暗示性对立，主角听从母亲建议，独自前往南京寻伯父。\n场面目标：塑造主角初显文才与得到长辈认可的形象，同时通过财务处理与寻亲受挫展现其面临的现实困境，并以船上事件暗示官场腐败，增强故事悬念。\n必留动作：第二回标题文字；标题的悬疑与讽刺基调；父亲病逝杭州的噩耗；尤云岫受托伴行；张鼎臣询问后事主意并暗示尤云岫不可靠。\n连续抓手：紧接S0001之后；保持叙事流的顺畅过渡；保持flashback结构；时间锚点“十五岁那年”\n前后承接上，要把紧接S0001之后与保持叙事流的顺畅过渡继续压在同一股气口里。\n\n（南京）\n主角听从母亲建议，独自前往南京寻伯父。\n父亲病逝杭州的噩耗。\n尤云岫受托伴行。\n张鼎臣询问后事主意并暗示尤云岫不可靠。\n表面秩序与潜在混乱的暗示性对立。\n小说第二回标题：守常经不使疏逾戚。\n\n## 场次03 【闪回】主角盘缠将尽的窘境\n\n这一场属于回忆时间层，场面落在南京、上海、客棧、四馬路、會香裡，出场人物有伯父、李氏、藩臺、土老兒、吳景曾、太太、候補道、桂花。\n这一场先把【闪回】主角盘缠将尽的窘境推到台前。\n场面里先见“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示，紧跟着把主角盘缠将尽的窘境压出来。\n临到场尾，桂花提出“只要你娶了我做填房，不許再娶別人”\n本场推进：无直接人物冲突，是叙事结构（传统标题形式）与影视化流畅呈现之间的张力，桂花提出“只要你娶了我做填房，不許再娶別人”，并立刻行动（除招牌、关大门、改称呼），将劝捐的谋划落实为实际的婚姻与身份改变。\n场面目标：在继之与“我”的对话框架内，生动呈现桂花劝捐官这一讽刺故事，既推进主线人物关系（继之分享见闻），又以支线故事影射社会现实。\n必留动作：第三回标题文字；“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示；主角盘缠将尽的窘境；街头偶遇吴继之的惊喜与识别过程；吴继之邀请主角搬入公馆。\n连续抓手：承接S0004场景的情绪或状态；保持叙事顺序与故事顺序差（order_delta: 1）；保持flashback结构，与S0005衔接；主角服装、精神状态与前期一致。\n前后承接上，要把承接S0004场景的情绪或状态与保持叙事顺序与故事顺序差（order_…继续压在同一股气口里。\n\n（南京）\n伯父：只要你娶了我做填房，不許再娶別人。\n街头偶遇吴继之的惊喜与识别。\n桂花盘问家境劝其捐官。\n主角盘缠将尽的窘境。\n街头偶遇吴继之的惊喜与识别过程。\n吴继之邀请主角搬入公馆。\n\n## 场次04 【闪回】桂花为土老儿捐官谋差\n\n这一场属于回忆时间层，场面落在南京、京城、會香裡、蘇州，出场人物有藩臺、制臺、土老兒、桂花、撫臺、吳景曾、候補道。\n这一场先把桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人推到台前。\n场面里先见桂花为土老儿捐官谋差，紧跟着把藩台识破真相压出来。\n临到场尾，藩台接到京城回电，识破桂花与土老儿的底细。\n本场推进：桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人，桂花（精明、有野心）与土老儿（愚钝、不争气）的内在矛盾，虚假身份与官场现实的冲突，藩台接到京城回电，识破桂花与土老儿的底细。\n场面目标：通过旁白叙述与画面蒙太奇，高效、讽刺地呈现“野鸡道台”事件的完整经过，突出官场荒诞与人物命运的意外转折。\n必留动作：桂花为土老儿捐官谋差；藩台识破真相；桂花成为诰封夫人；继之作为讲述者；故事以“野鸡道台的历史”作结。\n连续抓手：保持flashback结构；继之的讲述视角；与S0007场景的衔接；时间锚点“想起”\n前后承接上，要把保持flashback结构与继之的讲述视角继续压在同一股气口里。\n\n（南京）\n桂花：野鸡道台的历史。\n候補道：话已经压到这里，“野鸡道台的历史”总该给我一句准信。\n桂花为土老儿捐官谋差。\n藩台识破真相。\n藩台接到京城回电，识破桂花与土老儿的底细。\n桂花成为诰封夫人。\n候補道：野鸡道台的历史。\n\n## 场次05 继之作为讲述者\n\n场面落在南京、京城、客棧，出场人物有候補道、太太、制臺、吳景曾、候補縣太爺、藩臺、總督大帥、買辦。\n这一场先把繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現推到台前。\n场面里先见继之作为讲述者，紧跟着把候补道献妻治病的核心情节压出来。\n临到场尾，继之点破“令伯这种行径，不定是有意回避你的了”\n本场推进：繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現，候补道为巴结上司而献妻的卑劣手段，与姨太太们维护自身地位/尊严之间的冲突，本质是官场腐败与家庭伦理的碰撞。\n场面目标：通过生动的对话和闪回画面，将一则官场丑闻以讽刺喜剧的方式呈现，强化故事的荒诞感，并塑造继之敏锐的观察者和评论者形象。\n必留动作：继之作为讲述者；候补道献妻治病的核心情节；按摩丑事被姨太太们发现；姨太太们围殴的闹剧场面；事件传遍南京城的讽刺性结尾。\n连续抓手：继之与“我”的对话连续性；候补道人物后续提及（C0010）；与前序场景（S0009）的叙事节奏衔接；为后续场景（S0011）建立新的章节预期。\n前后承接上，要把继之与“我”的对话连续性与候补道人物后续提及（C0010）继续压在同一股气口里。\n\n（南京）\n太太：令伯这种行径，不定是有意回避你的了。\n继之作为讲述者。\n按摩丑事被姨太太们发现。\n姨太太们围殴的闹剧场面。\n候補道：令伯这种行径，不定是有意回避你的了。\n繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現。\n\n## 场次06 【闪回】继之告知主角将接办大关差使\n\n这一场属于回忆时间层，场面落在上海，出场人物有伯父、藩臺、主人、客人、母親、吳景曾、太太。\n这一场先把继之告知主角将接办大关差使，并为其安排书启职位推到台前。\n场面里先见继之告知主角将接办大关差使，紧跟着把继之为主角安排书启职位并借银压出来。\n临到场尾，主角目睹神秘客人被恭敬送出的时刻。\n本场推进：继之告知主角将接办大关差使，并为其安排书启职位，主角对伯父真实去向的怀疑与门房掩饰之间的信息冲突，平民打扮的神秘客人与高官主人之间反常的尊卑关系所暗示的潜在权力博弈。\n场面目标：通过对话推进主角的职业安排和家庭疑云，并引入一个象征官场权力关系的神秘场景。\n必留动作：继之告知主角将接办大关差使；继之为主角安排书启职位并借银；主角前往伯父公馆打听行踪未果；主角偶遇神秘客人及主人恭敬送客的场面。\n连续抓手：保持倒叙（flashback）的时间模式；保留“二十年前”的时间锚点；确保伯父、继之等角色形象连贯。\n前后承接上，要把保持倒叙（flashback）的时间模式与保留“二十年前”的时间锚点继续压在同一股气口里。\n\n（上海）\n继之告知主角将接办大关差使。\n继之为主角安排书启职位并借银。\n主角前往伯父公馆打听行踪未果。\n主角偶遇神秘客人及主人恭敬送客的场面。\n主角目睹神秘客人被恭敬送出的时刻。\n主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
      "episode_upload_char_count": 4160,
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "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": "E000004",
      "name": "九死一生",
      "canonical_name": "九死一生",
      "display_name": "九死一生",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "我",
        "姪兒",
        "姪少爺"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "core",
      "priority": "P0",
      "role_tier": "lead",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "visual_card_id": "VC000004",
      "voice_card_id": "VO000004",
      "asset_binding_id": "AB000004",
      "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 -> C0007"
      ],
      "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": [
          {
            "variant_id": "VO000004:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000004:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000004:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "core",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "杭州",
          "上海",
          "尤雲岫",
          "張鼎臣"
        ],
        "variant_keys": [
          "VC000004:costume:default",
          "VO000004:default",
          "VO000004:low",
          "VO000004:high"
        ],
        "prompt_fragments": [
          "笔记作者；父亲去世",
          "九死一生",
          "笔记作者",
          "父亲去世",
          "筆記作者"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：九死一生 - 前往 - 杭州；九死一生 - 前往 - 上海；尤雲岫 - 告知 - 九死一生",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000004",
        "visual_card_id": "VC000004",
        "voice_card_id": "VO000004",
        "asset_binding_id": "AB000004"
      }
    },
    {
      "entity_uid": "E000014",
      "name": "伯父",
      "canonical_name": "伯父",
      "display_name": "伯父",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "令伯"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "令伯"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "major",
      "priority": "P1",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B006"
      ],
      "visual_card_id": "VC000014",
      "voice_card_id": "VO000014",
      "asset_binding_id": "AB000014",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：伯父 / 令伯",
        "常见关联对象：張鼎臣、九死一生、南京",
        "已处理文本出现范围：C0004 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000014:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000014:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000014:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "張鼎臣",
          "九死一生",
          "南京",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000014:costume:default",
          "VO000014:default",
          "VO000014:low",
          "VO000014:high"
        ],
        "prompt_fragments": [
          "九死一生伯父；南京候补",
          "伯父",
          "九死一生伯父",
          "南京候补",
          "南京候補"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：伯父 - 告知 - 張鼎臣；九死一生 - 告知 - 伯父；伯父 - 前往 - 南京",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000014",
        "visual_card_id": "VC000014",
        "voice_card_id": "VO000014",
        "asset_binding_id": "AB000014"
      }
    },
    {
      "entity_uid": "E000025",
      "name": "吳景曾",
      "canonical_name": "吳景曾",
      "display_name": "吳景曾",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "繼之"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "繼之"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "major",
      "priority": "P1",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000025",
      "voice_card_id": "VO000025",
      "asset_binding_id": "AB000025",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：吳景曾 / 繼之",
        "常见关联对象：九死一生、李氏、伯父",
        "已处理文本出现范围：C0006 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000025:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000025:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000025:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "李氏",
          "伯父",
          "藩臺"
        ],
        "variant_keys": [
          "VC000025:costume:default",
          "VO000025:default",
          "VO000025:low",
          "VO000025:high"
        ],
        "prompt_fragments": [
          "九死一生同窗；勸戒九死一生",
          "吳景曾",
          "九死一生同窗",
          "勸戒九死一生",
          "姓吳，名景曾，表字繼之"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：九死一生 - 告知 - 吳景曾；吳景曾 - 告知 - 九死一生；吳景曾 - 告知 - 李氏",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000025",
        "visual_card_id": "VC000025",
        "voice_card_id": "VO000025",
        "asset_binding_id": "AB000025"
      }
    },
    {
      "entity_uid": "E000036",
      "name": "候補道",
      "canonical_name": "候補道",
      "display_name": "候補道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "尊夫人",
        "婦人",
        "妾",
        "候補道夫人",
        "夫人"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "夫人",
        "尊夫人",
        "婦人"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000036",
      "voice_card_id": "VO000036",
      "asset_binding_id": "AB000036",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：候補道 / 尊夫人 / 婦人 / 妾 / 候補道夫人 / 夫人",
        "常见关联对象：制臺、太太、總督大帥",
        "已处理文本出现范围：C0009 -> C0010"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "候補道；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000036:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000036:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000036:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "制臺",
          "太太",
          "總督大帥"
        ],
        "variant_keys": [
          "VC000036:costume:default",
          "VO000036:default",
          "VO000036:low",
          "VO000036:high"
        ],
        "prompt_fragments": [
          "年輕官員；自稱懂醫",
          "候補道",
          "年輕官員",
          "自稱懂醫",
          "懂按摩術"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 告知 - 制臺；太太 - 对抗 - 候補道；候補道 - 对抗 - 總督大帥",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000036",
        "visual_card_id": "VC000036",
        "voice_card_id": "VO000036",
        "asset_binding_id": "AB000036"
      }
    },
    {
      "entity_uid": "E000027",
      "name": "土老兒",
      "canonical_name": "土老兒",
      "display_name": "土老兒",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000027",
      "voice_card_id": "VO000027",
      "asset_binding_id": "AB000027",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：四馬路、會香裡、桂花",
        "已处理文本出现范围：C0007 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000027:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000027:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000027:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "四馬路",
          "會香裡",
          "桂花",
          "蘇州"
        ],
        "variant_keys": [
          "VC000027:costume:default",
          "VO000027:default",
          "VO000027:low",
          "VO000027:high"
        ],
        "prompt_fragments": [
          "跑街夥計；聽桂花勸做官",
          "土老兒",
          "跑街夥計",
          "聽桂花勸做官",
          "捐官道臺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：土老兒 - 前往 - 四馬路；土老兒 - 前往 - 會香裡；桂花 - 告知 - 土老兒",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000027",
        "visual_card_id": "VC000027",
        "voice_card_id": "VO000027",
        "asset_binding_id": "AB000027"
      }
    },
    {
      "entity_uid": "E000019",
      "name": "太太",
      "canonical_name": "太太",
      "display_name": "太太",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "伯母",
        "姨太太"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "伯母",
        "姨太太"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000019",
      "voice_card_id": "VO000019",
      "asset_binding_id": "AB000019",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：太太 / 伯母 / 姨太太",
        "常见关联对象：九死一生、候補道、吳景曾",
        "已处理文本出现范围：C0005 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000019:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000019:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000019:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "候補道",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000019:costume:default",
          "VO000019:default",
          "VO000019:low",
          "VO000019:high"
        ],
        "prompt_fragments": [
          "伯父妻子；制臺妾室",
          "太太",
          "伯父妻子",
          "制臺妾室",
          "多人"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：太太 - 告知 - 九死一生；太太 - 对抗 - 候補道；吳景曾 - 告知 - 太太",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000019",
        "visual_card_id": "VC000019",
        "voice_card_id": "VO000019",
        "asset_binding_id": "AB000019"
      }
    },
    {
      "entity_uid": "E000011",
      "name": "張鼎臣",
      "canonical_name": "張鼎臣",
      "display_name": "張鼎臣",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "世伯",
        "鼎臣"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "世伯",
        "鼎臣"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：張鼎臣 / 世伯 / 鼎臣",
        "常见关联对象：九死一生、伯父",
        "已处理文本出现范围：C0003 -> C0004"
      ],
      "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": [
          {
            "variant_id": "VO000011:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000011:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000011:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图",
          "关键随身物参考"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "伯父"
        ],
        "variant_keys": [
          "VC000011:costume:default",
          "VO000011:default",
          "VO000011:low",
          "VO000011:high"
        ],
        "prompt_fragments": [
          "店中当手；鼎臣看著我，笑了一笑",
          "張鼎臣",
          "店中当手",
          "处理父亲后事",
          "店中有一位當手，姓張，表字…",
          "鼎臣看著我，笑了一笑"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 3,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000011",
        "visual_card_id": "VC000011",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011"
      }
    },
    {
      "entity_uid": "E000028",
      "name": "桂花",
      "canonical_name": "桂花",
      "display_name": "桂花",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "黃魚"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "黃魚"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000028",
      "voice_card_id": "VO000028",
      "asset_binding_id": "AB000028",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：桂花 / 黃魚",
        "常见关联对象：土老兒、京城",
        "已处理文本出现范围：C0007 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000028:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000028:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000028:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒",
          "京城"
        ],
        "variant_keys": [
          "VC000028:costume:default",
          "VO000028:default",
          "VO000028:low",
          "VO000028:high"
        ],
        "prompt_fragments": [
          "大腳妓女；勸土老兒做官",
          "桂花",
          "大腳妓女",
          "勸土老兒做官",
          "王府丫頭出身"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：桂花 - 告知 - 土老兒；土老兒 - 告知 - 桂花；桂花 - 前往 - 京城",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000028",
        "visual_card_id": "VC000028",
        "voice_card_id": "VO000028",
        "asset_binding_id": "AB000028"
      }
    },
    {
      "entity_uid": "E000002",
      "name": "死裡逃生",
      "canonical_name": "死裡逃生",
      "display_name": "死裡逃生",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "少年",
        "中年"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "少年",
        "中年"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "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": [
        {
          "variant_id": "VC000002:state:age",
          "label": "少年感",
          "variant_type": "age",
          "signals": [
            "少年感"
          ],
          "evidence": [],
          "notes": "年龄感属于静态主设约束，可直接用于角色资产初始化。"
        }
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：死裡逃生 / 少年 / 中年",
        "常见关联对象：邑廟豫園、漢子、虹口蓬路日本郵便局",
        "已处理文本出现范围：C0001 -> C0003"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "masculine",
        "age_impression": "teen",
        "voice_anchor_summary": "死裡逃生；角色 / 男性向 / 少年感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定",
          "带年轻感"
        ],
        "pitch": "high",
        "pace": "fast",
        "speaking_style": [
          "吐字清晰",
          "语流更轻快"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色",
          "保持少年感，不在不同段落间来回漂移"
        ],
        "casting_tags": [
          "角色",
          "男性向",
          "少年感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰",
          "语流更轻快"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000002:default",
            "label": "常规对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰",
              "语流更轻快"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000002:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000002:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "邑廟豫園",
          "漢子",
          "虹口蓬路日本郵便局",
          "深山窮谷"
        ],
        "variant_keys": [
          "VC000002:costume:default",
          "VC000002:state:age",
          "VO000002:default",
          "VO000002:low",
          "VO000002:high"
        ],
        "prompt_fragments": [
          "小说主角；经历坎坷后醒悟",
          "死裡逃生",
          "小说主角",
          "经历坎坷后醒悟",
          "自家起了一個別號，叫做「死…"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰；语流更轻快\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      }
    },
    {
      "entity_uid": "E000035",
      "name": "藩臺",
      "canonical_name": "藩臺",
      "display_name": "藩臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000035",
      "voice_card_id": "VO000035",
      "asset_binding_id": "AB000035",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補縣太爺、吳景曾",
        "已处理文本出现范围：C0008 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000035:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000035:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000035:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補縣太爺",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000035:costume:default",
          "VO000035:default",
          "VO000035:low",
          "VO000035:high"
        ],
        "prompt_fragments": [
          "旗人官員；與某王姻親",
          "藩臺",
          "旗人官員",
          "與某王姻親",
          "怪罪候補縣太爺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補縣太爺 - 对抗 - 藩臺；藩臺 - 告知 - 吳景曾",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000035",
        "visual_card_id": "VC000035",
        "voice_card_id": "VO000035",
        "asset_binding_id": "AB000035"
      }
    },
    {
      "entity_uid": "E000038",
      "name": "候補縣太爺",
      "canonical_name": "候補縣太爺",
      "display_name": "候補縣太爺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "老班子"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "老班子"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "visual_card_id": "VC000038",
      "voice_card_id": "VO000038",
      "asset_binding_id": "AB000038",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：候補縣太爺 / 老班子",
        "常见关联对象：藩臺、巡防局",
        "已处理文本出现范围：C0010 -> C0010"
      ],
      "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": [
          {
            "variant_id": "VO000038:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000038:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000038:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "藩臺",
          "巡防局"
        ],
        "variant_keys": [
          "VC000038:costume:default",
          "VO000038:default",
          "VO000038:low",
          "VO000038:high"
        ],
        "prompt_fragments": [
          "扮官做賊；做賭棍騙子",
          "候補縣太爺",
          "扮官做賊",
          "做賭棍騙子",
          "候補縣太爺做賊"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補縣太爺 - 对抗 - 藩臺；巡防局 - 对抗 - 候補縣太爺",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000038",
        "visual_card_id": "VC000038",
        "voice_card_id": "VO000038",
        "asset_binding_id": "AB000038"
      }
    },
    {
      "entity_uid": "E000034",
      "name": "制臺",
      "canonical_name": "制臺",
      "display_name": "制臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000034",
      "voice_card_id": "VO000034",
      "asset_binding_id": "AB000034",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "制臺，功能角色",
      "visual_anchor_summary": "制臺，功能角色",
      "design_keywords": [
        "制臺",
        "南京官員",
        "年老糊塗",
        "年老好色"
      ],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [
        {
          "variant_id": "VC000034:state:weak",
          "label": "虚弱态",
          "variant_type": "weak",
          "signals": [
            "病"
          ],
          "evidence": [
            "制臺得了個心神彷彿的病"
          ],
          "notes": "候选状态变体，仅在后续剧情明确进入该状态时使用。"
        }
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補道",
        "已处理文本出现范围：C0008 -> C0009"
      ],
      "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": [
          {
            "variant_id": "VO000034:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000034:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000034:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000034:costume:default",
          "VC000034:state:weak",
          "VO000034:default",
          "VO000034:low",
          "VO000034:high"
        ],
        "prompt_fragments": [
          "南京官員；年老糊塗",
          "制臺",
          "南京官員",
          "年老糊塗",
          "年老好色"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 告知 - 制臺",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000034",
        "visual_card_id": "VC000034",
        "voice_card_id": "VO000034",
        "asset_binding_id": "AB000034"
      }
    },
    {
      "entity_uid": "E000010",
      "name": "尤雲岫",
      "canonical_name": "尤雲岫",
      "display_name": "尤雲岫",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "尤公",
        "雲岫",
        "姓尤的"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "尤公",
        "雲岫",
        "姓尤的"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000010",
      "voice_card_id": "VO000010",
      "asset_binding_id": "AB000010",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：尤雲岫 / 尤公 / 雲岫 / 姓尤的",
        "常见关联对象：九死一生",
        "已处理文本出现范围：C0003 -> C0004"
      ],
      "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": [
          {
            "variant_id": "VO000010:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000010:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000010:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [
          "伴主角出门"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [
          "VC000010:costume:default",
          "VO000010:default",
          "VO000010:low",
          "VO000010:high"
        ],
        "prompt_fragments": [
          "父亲朋友；伴主角出门",
          "尤雲岫",
          "父亲朋友",
          "伴主角出门",
          "這個人姓尤，表字雲岫"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：尤雲岫 - 告知 - 九死一生；九死一生 - 告知 - 尤雲岫",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000010",
        "visual_card_id": "VC000010",
        "voice_card_id": "VO000010",
        "asset_binding_id": "AB000010"
      }
    },
    {
      "entity_uid": "E000016",
      "name": "廣東人",
      "canonical_name": "廣東人",
      "display_name": "廣東人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000016",
      "voice_card_id": "VO000016",
      "asset_binding_id": "AB000016",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：買辦、賊人",
        "已处理文本出现范围：C0005 -> C0005"
      ],
      "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": [
          {
            "variant_id": "VO000016:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000016:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000016:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "買辦",
          "賊人"
        ],
        "variant_keys": [
          "VC000016:costume:default",
          "VO000016:default",
          "VO000016:low",
          "VO000016:high"
        ],
        "prompt_fragments": [
          "機警；眼明手快",
          "廣東人",
          "眼明手快"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：買辦 - 告知 - 廣東人；賊人 - 告知 - 廣東人",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000016",
        "visual_card_id": "VC000016",
        "voice_card_id": "VO000016",
        "asset_binding_id": "AB000016"
      }
    },
    {
      "entity_uid": "E000033",
      "name": "撫臺",
      "canonical_name": "撫臺",
      "display_name": "撫臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0008"
      ],
      "source_group_ids": [
        "AG0004"
      ],
      "source_beat_ids": [
        "AB0004"
      ],
      "block_ids": [
        "EP0001B004"
      ],
      "visual_card_id": "VC000033",
      "voice_card_id": "VO000033",
      "asset_binding_id": "AB000033",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：土老兒",
        "已处理文本出现范围：C0008 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000033:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000033:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000033:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [
          "VC000033:costume:default",
          "VO000033:default",
          "VO000033:low",
          "VO000033:high"
        ],
        "prompt_fragments": [
          "蘇州官員；圓通之人",
          "撫臺",
          "蘇州官員",
          "圓通之人",
          "撫臺見他土形土狀的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：撫臺 - 告知 - 土老兒",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "entity_uid": "E000033",
        "visual_card_id": "VC000033",
        "voice_card_id": "VO000033",
        "asset_binding_id": "AB000033"
      }
    },
    {
      "entity_uid": "E000026",
      "name": "李氏",
      "canonical_name": "李氏",
      "display_name": "李氏",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "大嫂"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "大嫂"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0007"
      ],
      "source_group_ids": [
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0003"
      ],
      "block_ids": [
        "EP0001B003"
      ],
      "visual_card_id": "VC000026",
      "voice_card_id": "VO000026",
      "asset_binding_id": "AB000026",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：李氏 / 大嫂",
        "常见关联对象：吳景曾",
        "已处理文本出现范围：C0006 -> C0006"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "李氏；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000026:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000026:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000026:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "吳景曾"
        ],
        "variant_keys": [
          "VC000026:costume:default",
          "VO000026:default",
          "VO000026:low",
          "VO000026:high"
        ],
        "prompt_fragments": [
          "繼之夫人",
          "李氏",
          "請出他夫人李氏來相見"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：吳景曾 - 告知 - 李氏",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003"
        ],
        "source_scene_ids": [
          "S0007"
        ],
        "source_group_ids": [
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0003"
        ],
        "entity_uid": "E000026",
        "visual_card_id": "VC000026",
        "voice_card_id": "VO000026",
        "asset_binding_id": "AB000026"
      }
    },
    {
      "entity_uid": "E000015",
      "name": "母親",
      "canonical_name": "母親",
      "display_name": "母親",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "家母",
        "尊堂"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "家母",
        "尊堂"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0012"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B006"
      ],
      "visual_card_id": "VC000015",
      "voice_card_id": "VO000015",
      "asset_binding_id": "AB000015",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：母親 / 家母 / 尊堂",
        "常见关联对象：九死一生、吳景曾",
        "已处理文本出现范围：C0004 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000015:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000015:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000015:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000015:costume:default",
          "VO000015:default",
          "VO000015:low",
          "VO000015:high"
        ],
        "prompt_fragments": [
          "九死一生母亲",
          "母親",
          "我母親二人，在家中過了半年",
          "可知尊堂伯母在那裡盼望呢。"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：母親 - 告知 - 九死一生；吳景曾 - 告知 - 母親",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0004",
          "S0012"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0006"
        ],
        "entity_uid": "E000015",
        "visual_card_id": "VC000015",
        "voice_card_id": "VO000015",
        "asset_binding_id": "AB000015"
      }
    },
    {
      "entity_uid": "E000003",
      "name": "漢子",
      "canonical_name": "漢子",
      "display_name": "漢子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001"
      ],
      "source_group_ids": [
        "AG0001"
      ],
      "source_beat_ids": [
        "AB0001"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "visual_card_id": "VC000003",
      "voice_card_id": "VO000003",
      "asset_binding_id": "AB000003",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
      "visual_anchor_summary": "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
      "design_keywords": [
        "漢子",
        "神秘赠书人",
        "忽見一個漢子，衣衫襤褸，氣…",
        "手中拿著一本冊子"
      ],
      "design_prompt_fragments": [
        "神秘赠书人",
        "忽見一個漢子，衣衫襤褸，氣宇軒昂",
        "忽見一個漢子，衣衫襤褸，氣…"
      ],
      "appearance_core": [],
      "clothing_core": [
        "忽見一個漢子，衣衫襤褸，氣宇軒昂"
      ],
      "prop_core": [],
      "costume_variants": [
        {
          "variant_id": "VC000003:costume:default",
          "label": "基础造型",
          "variant_type": "default",
          "appearance": [],
          "clothing": [
            "忽見一個漢子，衣衫襤褸，氣宇軒昂"
          ],
          "props": [],
          "source_mode": "static_core",
          "notes": "默认角色主设；后续镜头只在此基础上叠加情绪、动作和状态。"
        }
      ],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：死裡逃生",
        "已处理文本出现范围：C0001 -> C0001"
      ],
      "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": [
          {
            "variant_id": "VO000003:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000003:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000003:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "死裡逃生"
        ],
        "variant_keys": [
          "VC000003:costume:default",
          "VO000003:default",
          "VO000003:low",
          "VO000003:high"
        ],
        "prompt_fragments": [
          "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
          "漢子",
          "神秘赠书人",
          "忽見一個漢子，衣衫襤褸，氣…",
          "手中拿著一本冊子"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "entity_uid": "E000003",
        "visual_card_id": "VC000003",
        "voice_card_id": "VO000003",
        "asset_binding_id": "AB000003"
      }
    },
    {
      "entity_uid": "E000037",
      "name": "總督大帥",
      "canonical_name": "總督大帥",
      "display_name": "總督大帥",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "visual_card_id": "VC000037",
      "voice_card_id": "VO000037",
      "asset_binding_id": "AB000037",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補道",
        "已处理文本出现范围：C0010 -> C0010"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "總督大帥；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000037:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000037:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000037:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000037:costume:default",
          "VO000037:default",
          "VO000037:low",
          "VO000037:high"
        ],
        "prompt_fragments": [
          "被夫人影響",
          "總督大帥",
          "總督大帥被夫人影響"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 对抗 - 總督大帥",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000037",
        "visual_card_id": "VC000037",
        "voice_card_id": "VO000037",
        "asset_binding_id": "AB000037"
      }
    },
    {
      "entity_uid": "E000017",
      "name": "買辦",
      "canonical_name": "買辦",
      "display_name": "買辦",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0009"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0005"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B005"
      ],
      "visual_card_id": "VC000017",
      "voice_card_id": "VO000017",
      "asset_binding_id": "AB000017",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：廣東人",
        "已处理文本出现范围：C0005 -> C0005"
      ],
      "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": [
          {
            "variant_id": "VO000017:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000017:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000017:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "廣東人"
        ],
        "variant_keys": [
          "VC000017:costume:default",
          "VO000017:default",
          "VO000017:low",
          "VO000017:high"
        ],
        "prompt_fragments": [
          "船上管理人員",
          "買辦",
          "買辦搶著說道"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：買辦 - 告知 - 廣東人",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0004",
          "S0009"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0005"
        ],
        "entity_uid": "E000017",
        "visual_card_id": "VC000017",
        "voice_card_id": "VO000017",
        "asset_binding_id": "AB000017"
      }
    },
    {
      "entity_uid": "E000042",
      "name": "主人",
      "canonical_name": "主人",
      "display_name": "主人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0012"
      ],
      "source_group_ids": [
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "visual_card_id": "VC000042",
      "voice_card_id": "VO000042",
      "asset_binding_id": "AB000042",
      "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 只能在此静态身份卡之上叠加动态状态",
        "已处理文本出现范围：C0012 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000042:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000042:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000042:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000042:costume:default",
          "VO000042:default",
          "VO000042:low",
          "VO000042:high"
        ],
        "prompt_fragments": [
          "公館主人",
          "主人",
          "再看那主人時"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0012"
        ],
        "source_group_ids": [
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0006"
        ],
        "entity_uid": "E000042",
        "visual_card_id": "VC000042",
        "voice_card_id": "VO000042",
        "asset_binding_id": "AB000042"
      }
    },
    {
      "entity_uid": "E000043",
      "name": "客人",
      "canonical_name": "客人",
      "display_name": "客人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "visual_card_id": "VC000043",
      "voice_card_id": "VO000043",
      "asset_binding_id": "AB000043",
      "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 只能在此静态身份卡之上叠加动态状态",
        "已处理文本出现范围：C0012 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000043:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000043:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000043:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000043:costume:default",
          "VO000043:default",
          "VO000043:low",
          "VO000043:high"
        ],
        "prompt_fragments": [
          "公館訪客",
          "客人",
          "直到那客人走的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000043",
        "visual_card_id": "VC000043",
        "voice_card_id": "VO000043",
        "asset_binding_id": "AB000043"
      }
    }
  ],
  "characters": [
    {
      "entity_uid": "E000004",
      "name": "九死一生",
      "canonical_name": "九死一生",
      "display_name": "九死一生",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "我",
        "姪兒",
        "姪少爺"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "core",
      "priority": "P0",
      "role_tier": "lead",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "visual_card_id": "VC000004",
      "voice_card_id": "VO000004",
      "asset_binding_id": "AB000004",
      "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 -> C0007"
      ],
      "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": [
          {
            "variant_id": "VO000004:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000004:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000004:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "core",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "杭州",
          "上海",
          "尤雲岫",
          "張鼎臣"
        ],
        "variant_keys": [
          "VC000004:costume:default",
          "VO000004:default",
          "VO000004:low",
          "VO000004:high"
        ],
        "prompt_fragments": [
          "笔记作者；父亲去世",
          "九死一生",
          "笔记作者",
          "父亲去世",
          "筆記作者"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：九死一生 - 前往 - 杭州；九死一生 - 前往 - 上海；尤雲岫 - 告知 - 九死一生",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000004",
        "visual_card_id": "VC000004",
        "voice_card_id": "VO000004",
        "asset_binding_id": "AB000004"
      }
    },
    {
      "entity_uid": "E000014",
      "name": "伯父",
      "canonical_name": "伯父",
      "display_name": "伯父",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "令伯"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "令伯"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "major",
      "priority": "P1",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B006"
      ],
      "visual_card_id": "VC000014",
      "voice_card_id": "VO000014",
      "asset_binding_id": "AB000014",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：伯父 / 令伯",
        "常见关联对象：張鼎臣、九死一生、南京",
        "已处理文本出现范围：C0004 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000014:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000014:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000014:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "張鼎臣",
          "九死一生",
          "南京",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000014:costume:default",
          "VO000014:default",
          "VO000014:low",
          "VO000014:high"
        ],
        "prompt_fragments": [
          "九死一生伯父；南京候补",
          "伯父",
          "九死一生伯父",
          "南京候补",
          "南京候補"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：伯父 - 告知 - 張鼎臣；九死一生 - 告知 - 伯父；伯父 - 前往 - 南京",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000014",
        "visual_card_id": "VC000014",
        "voice_card_id": "VO000014",
        "asset_binding_id": "AB000014"
      }
    },
    {
      "entity_uid": "E000025",
      "name": "吳景曾",
      "canonical_name": "吳景曾",
      "display_name": "吳景曾",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "繼之"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "繼之"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "major",
      "priority": "P1",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000025",
      "voice_card_id": "VO000025",
      "asset_binding_id": "AB000025",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：吳景曾 / 繼之",
        "常见关联对象：九死一生、李氏、伯父",
        "已处理文本出现范围：C0006 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000025:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000025:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000025:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "李氏",
          "伯父",
          "藩臺"
        ],
        "variant_keys": [
          "VC000025:costume:default",
          "VO000025:default",
          "VO000025:low",
          "VO000025:high"
        ],
        "prompt_fragments": [
          "九死一生同窗；勸戒九死一生",
          "吳景曾",
          "九死一生同窗",
          "勸戒九死一生",
          "姓吳，名景曾，表字繼之"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：九死一生 - 告知 - 吳景曾；吳景曾 - 告知 - 九死一生；吳景曾 - 告知 - 李氏",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000025",
        "visual_card_id": "VC000025",
        "voice_card_id": "VO000025",
        "asset_binding_id": "AB000025"
      }
    },
    {
      "entity_uid": "E000036",
      "name": "候補道",
      "canonical_name": "候補道",
      "display_name": "候補道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "尊夫人",
        "婦人",
        "妾",
        "候補道夫人",
        "夫人"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "夫人",
        "尊夫人",
        "婦人"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000036",
      "voice_card_id": "VO000036",
      "asset_binding_id": "AB000036",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：候補道 / 尊夫人 / 婦人 / 妾 / 候補道夫人 / 夫人",
        "常见关联对象：制臺、太太、總督大帥",
        "已处理文本出现范围：C0009 -> C0010"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "候補道；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000036:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000036:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000036:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "制臺",
          "太太",
          "總督大帥"
        ],
        "variant_keys": [
          "VC000036:costume:default",
          "VO000036:default",
          "VO000036:low",
          "VO000036:high"
        ],
        "prompt_fragments": [
          "年輕官員；自稱懂醫",
          "候補道",
          "年輕官員",
          "自稱懂醫",
          "懂按摩術"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 告知 - 制臺；太太 - 对抗 - 候補道；候補道 - 对抗 - 總督大帥",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000036",
        "visual_card_id": "VC000036",
        "voice_card_id": "VO000036",
        "asset_binding_id": "AB000036"
      }
    },
    {
      "entity_uid": "E000027",
      "name": "土老兒",
      "canonical_name": "土老兒",
      "display_name": "土老兒",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000027",
      "voice_card_id": "VO000027",
      "asset_binding_id": "AB000027",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：四馬路、會香裡、桂花",
        "已处理文本出现范围：C0007 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000027:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000027:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000027:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "四馬路",
          "會香裡",
          "桂花",
          "蘇州"
        ],
        "variant_keys": [
          "VC000027:costume:default",
          "VO000027:default",
          "VO000027:low",
          "VO000027:high"
        ],
        "prompt_fragments": [
          "跑街夥計；聽桂花勸做官",
          "土老兒",
          "跑街夥計",
          "聽桂花勸做官",
          "捐官道臺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：土老兒 - 前往 - 四馬路；土老兒 - 前往 - 會香裡；桂花 - 告知 - 土老兒",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000027",
        "visual_card_id": "VC000027",
        "voice_card_id": "VO000027",
        "asset_binding_id": "AB000027"
      }
    },
    {
      "entity_uid": "E000019",
      "name": "太太",
      "canonical_name": "太太",
      "display_name": "太太",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "伯母",
        "姨太太"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "伯母",
        "姨太太"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000019",
      "voice_card_id": "VO000019",
      "asset_binding_id": "AB000019",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：太太 / 伯母 / 姨太太",
        "常见关联对象：九死一生、候補道、吳景曾",
        "已处理文本出现范围：C0005 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000019:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000019:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000019:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "候補道",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000019:costume:default",
          "VO000019:default",
          "VO000019:low",
          "VO000019:high"
        ],
        "prompt_fragments": [
          "伯父妻子；制臺妾室",
          "太太",
          "伯父妻子",
          "制臺妾室",
          "多人"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：太太 - 告知 - 九死一生；太太 - 对抗 - 候補道；吳景曾 - 告知 - 太太",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000019",
        "visual_card_id": "VC000019",
        "voice_card_id": "VO000019",
        "asset_binding_id": "AB000019"
      }
    },
    {
      "entity_uid": "E000011",
      "name": "張鼎臣",
      "canonical_name": "張鼎臣",
      "display_name": "張鼎臣",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "世伯",
        "鼎臣"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "世伯",
        "鼎臣"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：張鼎臣 / 世伯 / 鼎臣",
        "常见关联对象：九死一生、伯父",
        "已处理文本出现范围：C0003 -> C0004"
      ],
      "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": [
          {
            "variant_id": "VO000011:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000011:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000011:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图",
          "关键随身物参考"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "伯父"
        ],
        "variant_keys": [
          "VC000011:costume:default",
          "VO000011:default",
          "VO000011:low",
          "VO000011:high"
        ],
        "prompt_fragments": [
          "店中当手；鼎臣看著我，笑了一笑",
          "張鼎臣",
          "店中当手",
          "处理父亲后事",
          "店中有一位當手，姓張，表字…",
          "鼎臣看著我，笑了一笑"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 3,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000011",
        "visual_card_id": "VC000011",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011"
      }
    },
    {
      "entity_uid": "E000028",
      "name": "桂花",
      "canonical_name": "桂花",
      "display_name": "桂花",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "黃魚"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "黃魚"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000028",
      "voice_card_id": "VO000028",
      "asset_binding_id": "AB000028",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：桂花 / 黃魚",
        "常见关联对象：土老兒、京城",
        "已处理文本出现范围：C0007 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000028:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000028:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000028:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒",
          "京城"
        ],
        "variant_keys": [
          "VC000028:costume:default",
          "VO000028:default",
          "VO000028:low",
          "VO000028:high"
        ],
        "prompt_fragments": [
          "大腳妓女；勸土老兒做官",
          "桂花",
          "大腳妓女",
          "勸土老兒做官",
          "王府丫頭出身"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：桂花 - 告知 - 土老兒；土老兒 - 告知 - 桂花；桂花 - 前往 - 京城",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000028",
        "visual_card_id": "VC000028",
        "voice_card_id": "VO000028",
        "asset_binding_id": "AB000028"
      }
    },
    {
      "entity_uid": "E000002",
      "name": "死裡逃生",
      "canonical_name": "死裡逃生",
      "display_name": "死裡逃生",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "少年",
        "中年"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "少年",
        "中年"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "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": [
        {
          "variant_id": "VC000002:state:age",
          "label": "少年感",
          "variant_type": "age",
          "signals": [
            "少年感"
          ],
          "evidence": [],
          "notes": "年龄感属于静态主设约束，可直接用于角色资产初始化。"
        }
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：死裡逃生 / 少年 / 中年",
        "常见关联对象：邑廟豫園、漢子、虹口蓬路日本郵便局",
        "已处理文本出现范围：C0001 -> C0003"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "masculine",
        "age_impression": "teen",
        "voice_anchor_summary": "死裡逃生；角色 / 男性向 / 少年感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定",
          "带年轻感"
        ],
        "pitch": "high",
        "pace": "fast",
        "speaking_style": [
          "吐字清晰",
          "语流更轻快"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色",
          "保持少年感，不在不同段落间来回漂移"
        ],
        "casting_tags": [
          "角色",
          "男性向",
          "少年感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰",
          "语流更轻快"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000002:default",
            "label": "常规对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰",
              "语流更轻快"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000002:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000002:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "邑廟豫園",
          "漢子",
          "虹口蓬路日本郵便局",
          "深山窮谷"
        ],
        "variant_keys": [
          "VC000002:costume:default",
          "VC000002:state:age",
          "VO000002:default",
          "VO000002:low",
          "VO000002:high"
        ],
        "prompt_fragments": [
          "小说主角；经历坎坷后醒悟",
          "死裡逃生",
          "小说主角",
          "经历坎坷后醒悟",
          "自家起了一個別號，叫做「死…"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰；语流更轻快\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      }
    },
    {
      "entity_uid": "E000035",
      "name": "藩臺",
      "canonical_name": "藩臺",
      "display_name": "藩臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "supporting",
      "priority": "P2",
      "role_tier": "supporting",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "visual_card_id": "VC000035",
      "voice_card_id": "VO000035",
      "asset_binding_id": "AB000035",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補縣太爺、吳景曾",
        "已处理文本出现范围：C0008 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000035:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000035:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000035:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補縣太爺",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000035:costume:default",
          "VO000035:default",
          "VO000035:low",
          "VO000035:high"
        ],
        "prompt_fragments": [
          "旗人官員；與某王姻親",
          "藩臺",
          "旗人官員",
          "與某王姻親",
          "怪罪候補縣太爺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補縣太爺 - 对抗 - 藩臺；藩臺 - 告知 - 吳景曾",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000035",
        "visual_card_id": "VC000035",
        "voice_card_id": "VO000035",
        "asset_binding_id": "AB000035"
      }
    },
    {
      "entity_uid": "E000038",
      "name": "候補縣太爺",
      "canonical_name": "候補縣太爺",
      "display_name": "候補縣太爺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "老班子"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "老班子"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "visual_card_id": "VC000038",
      "voice_card_id": "VO000038",
      "asset_binding_id": "AB000038",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：候補縣太爺 / 老班子",
        "常见关联对象：藩臺、巡防局",
        "已处理文本出现范围：C0010 -> C0010"
      ],
      "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": [
          {
            "variant_id": "VO000038:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000038:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000038:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "藩臺",
          "巡防局"
        ],
        "variant_keys": [
          "VC000038:costume:default",
          "VO000038:default",
          "VO000038:low",
          "VO000038:high"
        ],
        "prompt_fragments": [
          "扮官做賊；做賭棍騙子",
          "候補縣太爺",
          "扮官做賊",
          "做賭棍騙子",
          "候補縣太爺做賊"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補縣太爺 - 对抗 - 藩臺；巡防局 - 对抗 - 候補縣太爺",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000038",
        "visual_card_id": "VC000038",
        "voice_card_id": "VO000038",
        "asset_binding_id": "AB000038"
      }
    },
    {
      "entity_uid": "E000034",
      "name": "制臺",
      "canonical_name": "制臺",
      "display_name": "制臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000034",
      "voice_card_id": "VO000034",
      "asset_binding_id": "AB000034",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "制臺，功能角色",
      "visual_anchor_summary": "制臺，功能角色",
      "design_keywords": [
        "制臺",
        "南京官員",
        "年老糊塗",
        "年老好色"
      ],
      "design_prompt_fragments": [],
      "appearance_core": [],
      "clothing_core": [],
      "prop_core": [],
      "costume_variants": [],
      "state_variants": [
        {
          "variant_id": "VC000034:state:weak",
          "label": "虚弱态",
          "variant_type": "weak",
          "signals": [
            "病"
          ],
          "evidence": [
            "制臺得了個心神彷彿的病"
          ],
          "notes": "候选状态变体，仅在后续剧情明确进入该状态时使用。"
        }
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補道",
        "已处理文本出现范围：C0008 -> C0009"
      ],
      "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": [
          {
            "variant_id": "VO000034:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000034:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000034:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000034:costume:default",
          "VC000034:state:weak",
          "VO000034:default",
          "VO000034:low",
          "VO000034:high"
        ],
        "prompt_fragments": [
          "南京官員；年老糊塗",
          "制臺",
          "南京官員",
          "年老糊塗",
          "年老好色"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 告知 - 制臺",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000034",
        "visual_card_id": "VC000034",
        "voice_card_id": "VO000034",
        "asset_binding_id": "AB000034"
      }
    },
    {
      "entity_uid": "E000010",
      "name": "尤雲岫",
      "canonical_name": "尤雲岫",
      "display_name": "尤雲岫",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "尤公",
        "雲岫",
        "姓尤的"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "尤公",
        "雲岫",
        "姓尤的"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000010",
      "voice_card_id": "VO000010",
      "asset_binding_id": "AB000010",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：尤雲岫 / 尤公 / 雲岫 / 姓尤的",
        "常见关联对象：九死一生",
        "已处理文本出现范围：C0003 -> C0004"
      ],
      "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": [
          {
            "variant_id": "VO000010:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000010:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000010:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [
          "伴主角出门"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [
          "VC000010:costume:default",
          "VO000010:default",
          "VO000010:low",
          "VO000010:high"
        ],
        "prompt_fragments": [
          "父亲朋友；伴主角出门",
          "尤雲岫",
          "父亲朋友",
          "伴主角出门",
          "這個人姓尤，表字雲岫"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：尤雲岫 - 告知 - 九死一生；九死一生 - 告知 - 尤雲岫",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000010",
        "visual_card_id": "VC000010",
        "voice_card_id": "VO000010",
        "asset_binding_id": "AB000010"
      }
    },
    {
      "entity_uid": "E000016",
      "name": "廣東人",
      "canonical_name": "廣東人",
      "display_name": "廣東人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000016",
      "voice_card_id": "VO000016",
      "asset_binding_id": "AB000016",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：買辦、賊人",
        "已处理文本出现范围：C0005 -> C0005"
      ],
      "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": [
          {
            "variant_id": "VO000016:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000016:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000016:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "買辦",
          "賊人"
        ],
        "variant_keys": [
          "VC000016:costume:default",
          "VO000016:default",
          "VO000016:low",
          "VO000016:high"
        ],
        "prompt_fragments": [
          "機警；眼明手快",
          "廣東人",
          "眼明手快"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：買辦 - 告知 - 廣東人；賊人 - 告知 - 廣東人",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000016",
        "visual_card_id": "VC000016",
        "voice_card_id": "VO000016",
        "asset_binding_id": "AB000016"
      }
    },
    {
      "entity_uid": "E000033",
      "name": "撫臺",
      "canonical_name": "撫臺",
      "display_name": "撫臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0008"
      ],
      "source_group_ids": [
        "AG0004"
      ],
      "source_beat_ids": [
        "AB0004"
      ],
      "block_ids": [
        "EP0001B004"
      ],
      "visual_card_id": "VC000033",
      "voice_card_id": "VO000033",
      "asset_binding_id": "AB000033",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：土老兒",
        "已处理文本出现范围：C0008 -> C0008"
      ],
      "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": [
          {
            "variant_id": "VO000033:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000033:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000033:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [
          "VC000033:costume:default",
          "VO000033:default",
          "VO000033:low",
          "VO000033:high"
        ],
        "prompt_fragments": [
          "蘇州官員；圓通之人",
          "撫臺",
          "蘇州官員",
          "圓通之人",
          "撫臺見他土形土狀的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：撫臺 - 告知 - 土老兒",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "entity_uid": "E000033",
        "visual_card_id": "VC000033",
        "voice_card_id": "VO000033",
        "asset_binding_id": "AB000033"
      }
    },
    {
      "entity_uid": "E000026",
      "name": "李氏",
      "canonical_name": "李氏",
      "display_name": "李氏",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "大嫂"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "大嫂"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0007"
      ],
      "source_group_ids": [
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0003"
      ],
      "block_ids": [
        "EP0001B003"
      ],
      "visual_card_id": "VC000026",
      "voice_card_id": "VO000026",
      "asset_binding_id": "AB000026",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：李氏 / 大嫂",
        "常见关联对象：吳景曾",
        "已处理文本出现范围：C0006 -> C0006"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "李氏；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000026:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000026:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000026:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "吳景曾"
        ],
        "variant_keys": [
          "VC000026:costume:default",
          "VO000026:default",
          "VO000026:low",
          "VO000026:high"
        ],
        "prompt_fragments": [
          "繼之夫人",
          "李氏",
          "請出他夫人李氏來相見"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：吳景曾 - 告知 - 李氏",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003"
        ],
        "source_scene_ids": [
          "S0007"
        ],
        "source_group_ids": [
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0003"
        ],
        "entity_uid": "E000026",
        "visual_card_id": "VC000026",
        "voice_card_id": "VO000026",
        "asset_binding_id": "AB000026"
      }
    },
    {
      "entity_uid": "E000015",
      "name": "母親",
      "canonical_name": "母親",
      "display_name": "母親",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [
        "家母",
        "尊堂"
      ],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [
        "家母",
        "尊堂"
      ],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0012"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B006"
      ],
      "visual_card_id": "VC000015",
      "voice_card_id": "VO000015",
      "asset_binding_id": "AB000015",
      "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 只能在此静态身份卡之上叠加动态状态",
        "别名与本名指向同一实体：母親 / 家母 / 尊堂",
        "常见关联对象：九死一生、吳景曾",
        "已处理文本出现范围：C0004 -> C0011"
      ],
      "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": [
          {
            "variant_id": "VO000015:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000015:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000015:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000015:costume:default",
          "VO000015:default",
          "VO000015:low",
          "VO000015:high"
        ],
        "prompt_fragments": [
          "九死一生母亲",
          "母親",
          "我母親二人，在家中過了半年",
          "可知尊堂伯母在那裡盼望呢。"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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配音约束：锁定基础音色，不因场景切换改变发声位置；情绪变化优先通过力度和语速调整，不改人声底色\n建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：母親 - 告知 - 九死一生；吳景曾 - 告知 - 母親",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0004",
          "S0012"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0006"
        ],
        "entity_uid": "E000015",
        "visual_card_id": "VC000015",
        "voice_card_id": "VO000015",
        "asset_binding_id": "AB000015"
      }
    },
    {
      "entity_uid": "E000003",
      "name": "漢子",
      "canonical_name": "漢子",
      "display_name": "漢子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001"
      ],
      "source_group_ids": [
        "AG0001"
      ],
      "source_beat_ids": [
        "AB0001"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "visual_card_id": "VC000003",
      "voice_card_id": "VO000003",
      "asset_binding_id": "AB000003",
      "merge_suspect": {},
      "resolution_overlay": {},
      "identity_summary": "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
      "visual_anchor_summary": "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
      "design_keywords": [
        "漢子",
        "神秘赠书人",
        "忽見一個漢子，衣衫襤褸，氣…",
        "手中拿著一本冊子"
      ],
      "design_prompt_fragments": [
        "神秘赠书人",
        "忽見一個漢子，衣衫襤褸，氣宇軒昂",
        "忽見一個漢子，衣衫襤褸，氣…"
      ],
      "appearance_core": [],
      "clothing_core": [
        "忽見一個漢子，衣衫襤褸，氣宇軒昂"
      ],
      "prop_core": [],
      "costume_variants": [
        {
          "variant_id": "VC000003:costume:default",
          "label": "基础造型",
          "variant_type": "default",
          "appearance": [],
          "clothing": [
            "忽見一個漢子，衣衫襤褸，氣宇軒昂"
          ],
          "props": [],
          "source_mode": "static_core",
          "notes": "默认角色主设；后续镜头只在此基础上叠加情绪、动作和状态。"
        }
      ],
      "state_variants": [],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持角色核心外貌、服饰母题和主要随身物一致"
      ],
      "consistency_rules": [
        "后续 scene 与 shot 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：死裡逃生",
        "已处理文本出现范围：C0001 -> C0001"
      ],
      "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": [
          {
            "variant_id": "VO000003:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000003:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000003:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "死裡逃生"
        ],
        "variant_keys": [
          "VC000003:costume:default",
          "VO000003:default",
          "VO000003:low",
          "VO000003:high"
        ],
        "prompt_fragments": [
          "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
          "漢子",
          "神秘赠书人",
          "忽見一個漢子，衣衫襤褸，氣…",
          "手中拿著一本冊子"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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声音建议：自然人声；保持跨场景音色稳定；吐字清晰\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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "entity_uid": "E000003",
        "visual_card_id": "VC000003",
        "voice_card_id": "VO000003",
        "asset_binding_id": "AB000003"
      }
    },
    {
      "entity_uid": "E000037",
      "name": "總督大帥",
      "canonical_name": "總督大帥",
      "display_name": "總督大帥",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "visual_card_id": "VC000037",
      "voice_card_id": "VO000037",
      "asset_binding_id": "AB000037",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：候補道",
        "已处理文本出现范围：C0010 -> C0010"
      ],
      "voice_profile": {
        "voice_role": "character",
        "gender_presentation": "feminine",
        "age_impression": "unknown",
        "voice_anchor_summary": "總督大帥；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000037:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000037:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000037:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000037:costume:default",
          "VO000037:default",
          "VO000037:low",
          "VO000037:high"
        ],
        "prompt_fragments": [
          "被夫人影響",
          "總督大帥",
          "總督大帥被夫人影響"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：候補道 - 对抗 - 總督大帥",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000037",
        "visual_card_id": "VC000037",
        "voice_card_id": "VO000037",
        "asset_binding_id": "AB000037"
      }
    },
    {
      "entity_uid": "E000017",
      "name": "買辦",
      "canonical_name": "買辦",
      "display_name": "買辦",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "minor",
      "priority": "P3",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0009"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0005"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B005"
      ],
      "visual_card_id": "VC000017",
      "voice_card_id": "VO000017",
      "asset_binding_id": "AB000017",
      "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 只能在此静态身份卡之上叠加动态状态",
        "常见关联对象：廣東人",
        "已处理文本出现范围：C0005 -> C0005"
      ],
      "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": [
          {
            "variant_id": "VO000017:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000017:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000017:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "廣東人"
        ],
        "variant_keys": [
          "VC000017:costume:default",
          "VO000017:default",
          "VO000017:low",
          "VO000017:high"
        ],
        "prompt_fragments": [
          "船上管理人員",
          "買辦",
          "買辦搶著說道"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001\n补充：关系上下文：買辦 - 告知 - 廣東人",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0004",
          "S0009"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0005"
        ],
        "entity_uid": "E000017",
        "visual_card_id": "VC000017",
        "voice_card_id": "VO000017",
        "asset_binding_id": "AB000017"
      }
    },
    {
      "entity_uid": "E000042",
      "name": "主人",
      "canonical_name": "主人",
      "display_name": "主人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0012"
      ],
      "source_group_ids": [
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "visual_card_id": "VC000042",
      "voice_card_id": "VO000042",
      "asset_binding_id": "AB000042",
      "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 只能在此静态身份卡之上叠加动态状态",
        "已处理文本出现范围：C0012 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000042:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000042:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000042:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000042:costume:default",
          "VO000042:default",
          "VO000042:low",
          "VO000042:high"
        ],
        "prompt_fragments": [
          "公館主人",
          "主人",
          "再看那主人時"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0012"
        ],
        "source_group_ids": [
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0006"
        ],
        "entity_uid": "E000042",
        "visual_card_id": "VC000042",
        "voice_card_id": "VO000042",
        "asset_binding_id": "AB000042"
      }
    },
    {
      "entity_uid": "E000043",
      "name": "客人",
      "canonical_name": "客人",
      "display_name": "客人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "aliases": [],
      "title_aliases": [],
      "faction": "",
      "identity_notes": "",
      "disambiguation_notes": "",
      "work_entity_pool_ref": {},
      "appeared_as_names": [],
      "type": "人物",
      "subtype": "",
      "importance": "background",
      "priority": "P4",
      "role_tier": "featured",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "visual_card_id": "VC000043",
      "voice_card_id": "VO000043",
      "asset_binding_id": "AB000043",
      "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 只能在此静态身份卡之上叠加动态状态",
        "已处理文本出现范围：C0012 -> C0012"
      ],
      "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": [
          {
            "variant_id": "VO000043:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000043:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000043:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ]
      },
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000043:costume:default",
          "VO000043:default",
          "VO000043:low",
          "VO000043:high"
        ],
        "prompt_fragments": [
          "公館訪客",
          "客人",
          "直到那客人走的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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建议资产：角色主设图；角色半身参考图\n主要出现集次：EP0001",
      "review_notes": [
        "缺少参考图",
        "缺少视觉锁定绑定",
        "缺少语音参考",
        "缺少音色绑定"
      ],
      "risk_flags": [
        "visual_reference_gap",
        "voice_reference_gap",
        "voice_binding_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000043",
        "visual_card_id": "VC000043",
        "voice_card_id": "VO000043",
        "asset_binding_id": "AB000043"
      }
    }
  ],
  "asset_ready_summary": {
    "status": "pass",
    "issue_count": 0,
    "fail_count": 0,
    "warn_count": 0,
    "info_count": 0,
    "character_count": 22,
    "priority_character_count": 3,
    "character_ready_count": 22,
    "priority_character_ready_count": 3,
    "character_primary_visual_ready_count": 22,
    "character_variant_ready_count": 22,
    "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": 9,
    "location_ready_count": 9,
    "location_visual_gap_count": 0,
    "location_scene_mapping_gap_count": 0,
    "location_manual_blocked_count": 0,
    "prop_asset_count": 0,
    "prop_ready_count": 0,
    "prop_visual_gap_count": 0,
    "prop_usage_mapping_gap_count": 0,
    "prop_manual_blocked_count": 0,
    "voice_suggestion_count": 22,
    "voice_binding_gap_count": 22,
    "voice_reference_gap_count": 22,
    "character_asset_suggestion_count": 22
  },
  "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": 6,
    "character_bio_count": 22,
    "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": 4563,
    "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,
    "source_screenplay_generation_status": "ok",
    "source_screenplay_blocked_block_count": 0,
    "source_screenplay_blocked_episode_count": 0,
    "source_screenplay_placeholder_block_count": 0
  },
  "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": "E000013",
      "name": "南京",
      "canonical_name": "南京",
      "display_name": "南京",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "地点",
      "subtype": "",
      "importance": "major",
      "priority": "P1",
      "location_role": "recurring_set",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000013",
      "asset_binding_id": "AB000013",
      "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": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "major",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "這事一時傳遍了南京城"
        ],
        "owner_candidates": [
          "伯父",
          "九死一生",
          "土老兒"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "這事一時傳遍了南京城",
          "南京"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 4 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000013",
        "visual_card_id": "VC000013",
        "voice_card_id": "",
        "asset_binding_id": "AB000013"
      }
    },
    {
      "entity_uid": "E000001",
      "name": "上海",
      "canonical_name": "上海",
      "display_name": "上海",
      "identity_conflict": {},
      "conflict_group_id": "",
      "type": "地点",
      "subtype": "山岳/洞天",
      "importance": "supporting",
      "priority": "P2",
      "location_role": "recurring_set",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002",
        "EP0001B003",
        "EP0001B006"
      ],
      "visual_card_id": "VC000001",
      "asset_binding_id": "AB000001",
      "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": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "supporting",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "上海",
          "繁华都市",
          "轻浮险诈之地"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "上海",
          "山岳/洞天",
          "繁华都市"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 4 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000001",
        "visual_card_id": "VC000001",
        "voice_card_id": "",
        "asset_binding_id": "AB000001"
      }
    },
    {
      "entity_uid": "E000031",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B004",
        "EP0001B005"
      ],
      "visual_card_id": "VC000031",
      "asset_binding_id": "AB000031",
      "identity_summary": "捐官地點",
      "visual_anchor_summary": "桂花帶了土老兒到京城裡去",
      "design_prompt_fragments": [
        "桂花帶了土老兒到京城裡去",
        "京城",
        "城镇/疆域"
      ],
      "location_core": [
        "桂花帶了土老兒到京城裡去"
      ],
      "landmark_core": [
        "桂花帶了土老兒到京城裡去"
      ],
      "atmosphere_core": [
        "按摩丑事被姨太太们发现，继之讲述候…"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "桂花帶了土老兒到京城裡去"
        ],
        "owner_candidates": [
          "桂花"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "桂花帶了土老兒到京城裡去",
          "京城",
          "城镇/疆域"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 2 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000031",
        "visual_card_id": "VC000031",
        "voice_card_id": "",
        "asset_binding_id": "AB000031"
      }
    },
    {
      "entity_uid": "E000029",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B003"
      ],
      "visual_card_id": "VC000029",
      "asset_binding_id": "AB000029",
      "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": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "四馬路",
          "野雞最多地方",
          "走到了四馬路野雞最多的地方"
        ],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "四馬路",
          "野雞最多地方"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 2 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B003"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000029",
        "visual_card_id": "VC000029",
        "voice_card_id": "",
        "asset_binding_id": "AB000029"
      }
    },
    {
      "entity_uid": "E000020",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B005"
      ],
      "visual_card_id": "VC000020",
      "asset_binding_id": "AB000020",
      "identity_summary": "暫住地點",
      "visual_anchor_summary": "客棧",
      "design_prompt_fragments": [
        "客棧",
        "暫住地點"
      ],
      "location_core": [
        "客棧",
        "暫住地點",
        "搬到客棧裡去住",
        "搬到客棧裡住了兩天"
      ],
      "landmark_core": [
        "客棧",
        "暫住地點",
        "搬到客棧裡去住"
      ],
      "atmosphere_core": [
        "按摩丑事被姨太太们发现，继之讲述候…"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "客棧",
          "暫住地點",
          "搬到客棧裡去住"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "客棧",
          "暫住地點"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 2 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000020",
        "visual_card_id": "VC000020",
        "voice_card_id": "",
        "asset_binding_id": "AB000020"
      }
    },
    {
      "entity_uid": "E000030",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "visual_card_id": "VC000030",
      "asset_binding_id": "AB000030",
      "identity_summary": "四馬路地點",
      "visual_anchor_summary": "會香裡",
      "design_prompt_fragments": [
        "會香裡",
        "四馬路地點"
      ],
      "location_core": [
        "會香裡",
        "四馬路地點",
        "叫做甚麼會香裡"
      ],
      "landmark_core": [
        "會香裡",
        "四馬路地點",
        "叫做甚麼會香裡"
      ],
      "atmosphere_core": [
        "藩台识破真相。"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "會香裡",
          "四馬路地點",
          "叫做甚麼會香裡"
        ],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "會香裡",
          "四馬路地點"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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 集、命中 2 个剧本块，适合优先建主场景。",
      "risk_flags": [
        "visual_reference_gap",
        "visual_lock_gap"
      ],
      "risk_summary": "参考图缺口；视觉锁定缺口",
      "init_action": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000030",
        "visual_card_id": "VC000030",
        "voice_card_id": "",
        "asset_binding_id": "AB000030"
      }
    },
    {
      "entity_uid": "E000012",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "visual_card_id": "VC000012",
      "asset_binding_id": "AB000012",
      "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": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "杭州",
          "父亲商号所在地",
          "叫我到杭州去"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "杭州",
          "城镇/疆域",
          "父亲商号所在地"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000012",
        "visual_card_id": "VC000012",
        "voice_card_id": "",
        "asset_binding_id": "AB000012"
      }
    },
    {
      "entity_uid": "E000032",
      "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": [
        "S0008"
      ],
      "source_group_ids": [
        "AG0004"
      ],
      "source_beat_ids": [
        "AB0004"
      ],
      "block_ids": [
        "EP0001B004"
      ],
      "visual_card_id": "VC000032",
      "asset_binding_id": "AB000032",
      "identity_summary": "稟到地點",
      "visual_anchor_summary": "蘇州",
      "design_prompt_fragments": [
        "蘇州",
        "城镇/疆域",
        "稟到地點"
      ],
      "location_core": [
        "蘇州",
        "稟到地點",
        "走到蘇州去稟到"
      ],
      "landmark_core": [
        "蘇州",
        "稟到地點",
        "走到蘇州去稟到"
      ],
      "atmosphere_core": [
        "南京"
      ],
      "style_constraints": [
        "保持同一实体在跨镜头中的核心身份稳定",
        "保持场景结构、地标和整体氛围一致"
      ],
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "蘇州",
          "稟到地點",
          "走到蘇州去稟到"
        ],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "蘇州",
          "城镇/疆域",
          "稟到地點"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "entity_uid": "E000032",
        "visual_card_id": "VC000032",
        "voice_card_id": "",
        "asset_binding_id": "AB000032"
      }
    },
    {
      "entity_uid": "E000006",
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "visual_card_id": "VC000006",
      "asset_binding_id": "AB000006",
      "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": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        }
      ],
      "asset_profile": {
        "asset_role": "location",
        "priority": "minor",
        "required_visual_assets": [
          "主场景参考图"
        ],
        "optional_visual_assets": [
          "关键地标补充图"
        ],
        "required_voice_assets": [],
        "usage_hints": [
          "邑廟豫園",
          "游玩地点",
          "遂信步走到邑廟豫園，遊玩一番"
        ],
        "owner_candidates": [
          "死裡逃生"
        ],
        "variant_keys": [],
        "prompt_fragments": [
          "邑廟豫園",
          "游玩地点"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 1,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000006",
        "visual_card_id": "VC000006",
        "voice_card_id": "",
        "asset_binding_id": "AB000006"
      }
    }
  ],
  "props": [],
  "voices": [
    {
      "entity_uid": "E000004",
      "name": "九死一生",
      "canonical_name": "九死一生",
      "display_name": "九死一生",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P0",
      "role_tier": "lead",
      "voice_card_id": "VO000004",
      "asset_binding_id": "AB000004",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "voice_anchor_summary": "九死一生；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000004:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000004:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000004:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "core",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "杭州",
          "上海",
          "尤雲岫",
          "張鼎臣"
        ],
        "variant_keys": [
          "VC000004:costume:default",
          "VO000004:default",
          "VO000004:low",
          "VO000004:high"
        ],
        "prompt_fragments": [
          "笔记作者；父亲去世",
          "九死一生",
          "笔记作者",
          "父亲去世",
          "筆記作者"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000004",
        "visual_card_id": "",
        "voice_card_id": "VO000004",
        "asset_binding_id": "AB000004"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B001",
          "title": "【闪回】上海繁华与堕落的社会风貌描述",
          "kind": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000014",
      "name": "伯父",
      "canonical_name": "伯父",
      "display_name": "伯父",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P1",
      "role_tier": "supporting",
      "voice_card_id": "VO000014",
      "asset_binding_id": "AB000014",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B003",
        "EP0001B006"
      ],
      "voice_anchor_summary": "伯父；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000014:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000014:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000014:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "張鼎臣",
          "九死一生",
          "南京",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000014:costume:default",
          "VO000014:default",
          "VO000014:low",
          "VO000014:high"
        ],
        "prompt_fragments": [
          "九死一生伯父；南京候补",
          "伯父",
          "九死一生伯父",
          "南京候补",
          "南京候補"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000014",
        "visual_card_id": "",
        "voice_card_id": "VO000014",
        "asset_binding_id": "AB000014"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000025",
      "name": "吳景曾",
      "canonical_name": "吳景曾",
      "display_name": "吳景曾",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P1",
      "role_tier": "supporting",
      "voice_card_id": "VO000025",
      "asset_binding_id": "AB000025",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "voice_anchor_summary": "吳景曾；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000025:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000025:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000025:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "major",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "李氏",
          "伯父",
          "藩臺"
        ],
        "variant_keys": [
          "VC000025:costume:default",
          "VO000025:default",
          "VO000025:low",
          "VO000025:high"
        ],
        "prompt_fragments": [
          "九死一生同窗；勸戒九死一生",
          "吳景曾",
          "九死一生同窗",
          "勸戒九死一生",
          "姓吳，名景曾，表字繼之"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000025",
        "visual_card_id": "",
        "voice_card_id": "VO000025",
        "asset_binding_id": "AB000025"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000036",
      "name": "候補道",
      "canonical_name": "候補道",
      "display_name": "候補道",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000036",
      "asset_binding_id": "AB000036",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005"
      ],
      "voice_anchor_summary": "候補道；角色 / 女性向 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "女性向",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000036:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000036:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000036:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "制臺",
          "太太",
          "總督大帥"
        ],
        "variant_keys": [
          "VC000036:costume:default",
          "VO000036:default",
          "VO000036:low",
          "VO000036:high"
        ],
        "prompt_fragments": [
          "年輕官員；自稱懂醫",
          "候補道",
          "年輕官員",
          "自稱懂醫",
          "懂按摩術"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000036",
        "visual_card_id": "",
        "voice_card_id": "VO000036",
        "asset_binding_id": "AB000036"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000027",
      "name": "土老兒",
      "canonical_name": "土老兒",
      "display_name": "土老兒",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000027",
      "asset_binding_id": "AB000027",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "voice_anchor_summary": "土老兒；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000027:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000027:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000027:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "四馬路",
          "會香裡",
          "桂花",
          "蘇州"
        ],
        "variant_keys": [
          "VC000027:costume:default",
          "VO000027:default",
          "VO000027:low",
          "VO000027:high"
        ],
        "prompt_fragments": [
          "跑街夥計；聽桂花勸做官",
          "土老兒",
          "跑街夥計",
          "聽桂花勸做官",
          "捐官道臺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000027",
        "visual_card_id": "",
        "voice_card_id": "VO000027",
        "asset_binding_id": "AB000027"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000019",
      "name": "太太",
      "canonical_name": "太太",
      "display_name": "太太",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000019",
      "asset_binding_id": "AB000019",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B005",
        "EP0001B006"
      ],
      "voice_anchor_summary": "太太；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000019:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000019:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000019:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "候補道",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000019:costume:default",
          "VO000019:default",
          "VO000019:low",
          "VO000019:high"
        ],
        "prompt_fragments": [
          "伯父妻子；制臺妾室",
          "太太",
          "伯父妻子",
          "制臺妾室",
          "多人"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000019",
        "visual_card_id": "",
        "voice_card_id": "VO000019",
        "asset_binding_id": "AB000019"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000011",
      "name": "張鼎臣",
      "canonical_name": "張鼎臣",
      "display_name": "張鼎臣",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000011",
      "asset_binding_id": "AB000011",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "voice_anchor_summary": "張鼎臣；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000011:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000011:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000011:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图",
          "关键随身物参考"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "伯父"
        ],
        "variant_keys": [
          "VC000011:costume:default",
          "VO000011:default",
          "VO000011:low",
          "VO000011:high"
        ],
        "prompt_fragments": [
          "店中当手；鼎臣看著我，笑了一笑",
          "張鼎臣",
          "店中当手",
          "处理父亲后事",
          "店中有一位當手，姓張，表字…",
          "鼎臣看著我，笑了一笑"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 3,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "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": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000028",
      "name": "桂花",
      "canonical_name": "桂花",
      "display_name": "桂花",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000028",
      "asset_binding_id": "AB000028",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004"
      ],
      "voice_anchor_summary": "桂花；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000028:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000028:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000028:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒",
          "京城"
        ],
        "variant_keys": [
          "VC000028:costume:default",
          "VO000028:default",
          "VO000028:low",
          "VO000028:high"
        ],
        "prompt_fragments": [
          "大腳妓女；勸土老兒做官",
          "桂花",
          "大腳妓女",
          "勸土老兒做官",
          "王府丫頭出身"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000028",
        "visual_card_id": "",
        "voice_card_id": "VO000028",
        "asset_binding_id": "AB000028"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        }
      ]
    },
    {
      "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B001",
        "EP0001B002"
      ],
      "voice_anchor_summary": "死裡逃生；角色 / 男性向 / 少年感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定",
        "带年轻感"
      ],
      "pitch": "high",
      "pace": "fast",
      "speaking_style": [
        "吐字清晰",
        "语流更轻快"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色",
        "保持少年感，不在不同段落间来回漂移"
      ],
      "casting_tags": [
        "角色",
        "男性向",
        "少年感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰",
        "语流更轻快"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000002:default",
          "label": "常规对白",
          "pace": "fast",
          "pitch": "high",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰",
            "语流更轻快"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000002:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "high",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000002:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "high",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "邑廟豫園",
          "漢子",
          "虹口蓬路日本郵便局",
          "深山窮谷"
        ],
        "variant_keys": [
          "VC000002:costume:default",
          "VC000002:state:age",
          "VO000002:default",
          "VO000002:low",
          "VO000002:high"
        ],
        "prompt_fragments": [
          "小说主角；经历坎坷后醒悟",
          "死裡逃生",
          "小说主角",
          "经历坎坷后醒悟",
          "自家起了一個別號，叫做「死…"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000002",
        "visual_card_id": "",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B001",
          "title": "【闪回】上海繁华与堕落的社会风貌描述",
          "kind": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000035",
      "name": "藩臺",
      "canonical_name": "藩臺",
      "display_name": "藩臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P2",
      "role_tier": "supporting",
      "voice_card_id": "VO000035",
      "asset_binding_id": "AB000035",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B003",
        "EP0001B004",
        "EP0001B005",
        "EP0001B006"
      ],
      "voice_anchor_summary": "藩臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000035:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000035:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000035:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "supporting",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補縣太爺",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000035:costume:default",
          "VO000035:default",
          "VO000035:low",
          "VO000035:high"
        ],
        "prompt_fragments": [
          "旗人官員；與某王姻親",
          "藩臺",
          "旗人官員",
          "與某王姻親",
          "怪罪候補縣太爺"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000035",
        "visual_card_id": "",
        "voice_card_id": "VO000035",
        "asset_binding_id": "AB000035"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000038",
      "name": "候補縣太爺",
      "canonical_name": "候補縣太爺",
      "display_name": "候補縣太爺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000038",
      "asset_binding_id": "AB000038",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "voice_anchor_summary": "候補縣太爺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000038:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000038:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000038:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "藩臺",
          "巡防局"
        ],
        "variant_keys": [
          "VC000038:costume:default",
          "VO000038:default",
          "VO000038:low",
          "VO000038:high"
        ],
        "prompt_fragments": [
          "扮官做賊；做賭棍騙子",
          "候補縣太爺",
          "扮官做賊",
          "做賭棍騙子",
          "候補縣太爺做賊"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000038",
        "visual_card_id": "",
        "voice_card_id": "VO000038",
        "asset_binding_id": "AB000038"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000034",
      "name": "制臺",
      "canonical_name": "制臺",
      "display_name": "制臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000034",
      "asset_binding_id": "AB000034",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B004",
        "EP0001B005"
      ],
      "voice_anchor_summary": "制臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000034:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000034:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000034:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [
          "状态变体图"
        ],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000034:costume:default",
          "VC000034:state:weak",
          "VO000034:default",
          "VO000034:low",
          "VO000034:high"
        ],
        "prompt_fragments": [
          "南京官員；年老糊塗",
          "制臺",
          "南京官員",
          "年老糊塗",
          "年老好色"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000034",
        "visual_card_id": "",
        "voice_card_id": "VO000034",
        "asset_binding_id": "AB000034"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000010",
      "name": "尤雲岫",
      "canonical_name": "尤雲岫",
      "display_name": "尤雲岫",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000010",
      "asset_binding_id": "AB000010",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "voice_anchor_summary": "尤雲岫；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000010:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000010:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000010:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [
          "伴主角出门"
        ],
        "owner_candidates": [
          "九死一生"
        ],
        "variant_keys": [
          "VC000010:costume:default",
          "VO000010:default",
          "VO000010:low",
          "VO000010:high"
        ],
        "prompt_fragments": [
          "父亲朋友；伴主角出门",
          "尤雲岫",
          "父亲朋友",
          "伴主角出门",
          "這個人姓尤，表字雲岫"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000010",
        "visual_card_id": "",
        "voice_card_id": "VO000010",
        "asset_binding_id": "AB000010"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000016",
      "name": "廣東人",
      "canonical_name": "廣東人",
      "display_name": "廣東人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000016",
      "asset_binding_id": "AB000016",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004"
      ],
      "source_group_ids": [
        "AG0002"
      ],
      "source_beat_ids": [
        "AB0002"
      ],
      "block_ids": [
        "EP0001B002"
      ],
      "voice_anchor_summary": "廣東人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000016:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000016:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000016:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "買辦",
          "賊人"
        ],
        "variant_keys": [
          "VC000016:costume:default",
          "VO000016:default",
          "VO000016:low",
          "VO000016:high"
        ],
        "prompt_fragments": [
          "機警；眼明手快",
          "廣東人",
          "眼明手快"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "entity_uid": "E000016",
        "visual_card_id": "",
        "voice_card_id": "VO000016",
        "asset_binding_id": "AB000016"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000033",
      "name": "撫臺",
      "canonical_name": "撫臺",
      "display_name": "撫臺",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000033",
      "asset_binding_id": "AB000033",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0008"
      ],
      "source_group_ids": [
        "AG0004"
      ],
      "source_beat_ids": [
        "AB0004"
      ],
      "block_ids": [
        "EP0001B004"
      ],
      "voice_anchor_summary": "撫臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000033:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000033:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000033:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "土老兒"
        ],
        "variant_keys": [
          "VC000033:costume:default",
          "VO000033:default",
          "VO000033:low",
          "VO000033:high"
        ],
        "prompt_fragments": [
          "蘇州官員；圓通之人",
          "撫臺",
          "蘇州官員",
          "圓通之人",
          "撫臺見他土形土狀的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "entity_uid": "E000033",
        "visual_card_id": "",
        "voice_card_id": "VO000033",
        "asset_binding_id": "AB000033"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B004",
          "title": "【闪回】桂花为土老儿捐官谋差",
          "kind": "bridge",
          "lead_scene_id": "S0008",
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000026",
      "name": "李氏",
      "canonical_name": "李氏",
      "display_name": "李氏",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000026",
      "asset_binding_id": "AB000026",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0007"
      ],
      "source_group_ids": [
        "AG0003"
      ],
      "source_beat_ids": [
        "AB0003"
      ],
      "block_ids": [
        "EP0001B003"
      ],
      "voice_anchor_summary": "李氏；角色 / 女性向 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "女性向",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000026:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000026:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000026:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "吳景曾"
        ],
        "variant_keys": [
          "VC000026:costume:default",
          "VO000026:default",
          "VO000026:low",
          "VO000026:high"
        ],
        "prompt_fragments": [
          "繼之夫人",
          "李氏",
          "請出他夫人李氏來相見"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B003"
        ],
        "source_scene_ids": [
          "S0007"
        ],
        "source_group_ids": [
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0003"
        ],
        "entity_uid": "E000026",
        "visual_card_id": "",
        "voice_card_id": "VO000026",
        "asset_binding_id": "AB000026"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B003",
          "title": "【闪回】主角盘缠将尽的窘境",
          "kind": "dialogue",
          "lead_scene_id": "S0007",
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000015",
      "name": "母親",
      "canonical_name": "母親",
      "display_name": "母親",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000015",
      "asset_binding_id": "AB000015",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0012"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B006"
      ],
      "voice_anchor_summary": "母親；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000015:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000015:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000015:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "九死一生",
          "吳景曾"
        ],
        "variant_keys": [
          "VC000015:costume:default",
          "VO000015:default",
          "VO000015:low",
          "VO000015:high"
        ],
        "prompt_fragments": [
          "九死一生母亲",
          "母親",
          "我母親二人，在家中過了半年",
          "可知尊堂伯母在那裡盼望呢。"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0004",
          "S0012"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0006"
        ],
        "entity_uid": "E000015",
        "visual_card_id": "",
        "voice_card_id": "VO000015",
        "asset_binding_id": "AB000015"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000003",
      "name": "漢子",
      "canonical_name": "漢子",
      "display_name": "漢子",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000003",
      "asset_binding_id": "AB000003",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001"
      ],
      "source_group_ids": [
        "AG0001"
      ],
      "source_beat_ids": [
        "AB0001"
      ],
      "block_ids": [
        "EP0001B001"
      ],
      "voice_anchor_summary": "漢子；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000003:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000003:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000003:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "死裡逃生"
        ],
        "variant_keys": [
          "VC000003:costume:default",
          "VO000003:default",
          "VO000003:low",
          "VO000003:high"
        ],
        "prompt_fragments": [
          "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
          "漢子",
          "神秘赠书人",
          "忽見一個漢子，衣衫襤褸，氣…",
          "手中拿著一本冊子"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "entity_uid": "E000003",
        "visual_card_id": "",
        "voice_card_id": "VO000003",
        "asset_binding_id": "AB000003"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B001",
          "title": "【闪回】上海繁华与堕落的社会风貌描述",
          "kind": "bridge",
          "lead_scene_id": "S0001",
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000037",
      "name": "總督大帥",
      "canonical_name": "總督大帥",
      "display_name": "總督大帥",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000037",
      "asset_binding_id": "AB000037",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0009"
      ],
      "source_group_ids": [
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0005"
      ],
      "block_ids": [
        "EP0001B005"
      ],
      "voice_anchor_summary": "總督大帥；角色 / 女性向 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "女性向",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000037:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000037:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000037:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "候補道"
        ],
        "variant_keys": [
          "VC000037:costume:default",
          "VO000037:default",
          "VO000037:low",
          "VO000037:high"
        ],
        "prompt_fragments": [
          "被夫人影響",
          "總督大帥",
          "總督大帥被夫人影響"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "entity_uid": "E000037",
        "visual_card_id": "",
        "voice_card_id": "VO000037",
        "asset_binding_id": "AB000037"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000017",
      "name": "買辦",
      "canonical_name": "買辦",
      "display_name": "買辦",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P3",
      "role_tier": "featured",
      "voice_card_id": "VO000017",
      "asset_binding_id": "AB000017",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0004",
        "S0009"
      ],
      "source_group_ids": [
        "AG0002",
        "AG0005"
      ],
      "source_beat_ids": [
        "AB0002",
        "AB0005"
      ],
      "block_ids": [
        "EP0001B002",
        "EP0001B005"
      ],
      "voice_anchor_summary": "買辦；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000017:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000017:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000017:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "minor",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [
          "廣東人"
        ],
        "variant_keys": [
          "VC000017:costume:default",
          "VO000017:default",
          "VO000017:low",
          "VO000017:high"
        ],
        "prompt_fragments": [
          "船上管理人員",
          "買辦",
          "買辦搶著說道"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B005"
        ],
        "source_scene_ids": [
          "S0004",
          "S0009"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0005"
        ],
        "entity_uid": "E000017",
        "visual_card_id": "",
        "voice_card_id": "VO000017",
        "asset_binding_id": "AB000017"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B002",
          "title": "【闪回】九死一生决定请伯父",
          "kind": "dialogue",
          "lead_scene_id": "S0004",
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ]
        },
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B005",
          "title": "继之作为讲述者",
          "kind": "dialogue",
          "lead_scene_id": "S0009",
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000042",
      "name": "主人",
      "canonical_name": "主人",
      "display_name": "主人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P4",
      "role_tier": "featured",
      "voice_card_id": "VO000042",
      "asset_binding_id": "AB000042",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0012"
      ],
      "source_group_ids": [
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "voice_anchor_summary": "主人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000042:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000042:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000042:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000042:costume:default",
          "VO000042:default",
          "VO000042:low",
          "VO000042:high"
        ],
        "prompt_fragments": [
          "公館主人",
          "主人",
          "再看那主人時"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0012"
        ],
        "source_group_ids": [
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0006"
        ],
        "entity_uid": "E000042",
        "visual_card_id": "",
        "voice_card_id": "VO000042",
        "asset_binding_id": "AB000042"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    },
    {
      "entity_uid": "E000043",
      "name": "客人",
      "canonical_name": "客人",
      "display_name": "客人",
      "identity_conflict": {},
      "conflict_group_id": "",
      "priority": "P4",
      "role_tier": "featured",
      "voice_card_id": "VO000043",
      "asset_binding_id": "AB000043",
      "voice_role": "character",
      "episode_ids": [
        "EP0001"
      ],
      "source_scene_ids": [
        "S0001",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "block_ids": [
        "EP0001B006"
      ],
      "voice_anchor_summary": "客人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
      "timbre": [
        "自然人声",
        "保持跨场景音色稳定"
      ],
      "pitch": "unknown",
      "pace": "medium",
      "speaking_style": [
        "吐字清晰"
      ],
      "delivery_core": [
        "锁定基础音色，不因场景切换改变发声位置",
        "情绪变化优先通过力度和语速调整，不改人声底色"
      ],
      "casting_tags": [
        "角色",
        "未知性别呈现",
        "未知年龄感",
        "自然人声",
        "保持跨场景音色稳定",
        "吐字清晰"
      ],
      "voice_variants": [
        {
          "variant_id": "VO000043:default",
          "label": "常规对白",
          "pace": "medium",
          "pitch": "unknown",
          "timbre": [
            "自然人声",
            "保持跨场景音色稳定"
          ],
          "speaking_style": [
            "吐字清晰"
          ],
          "notes": "默认对白态，用于大多数正常交流场景。"
        },
        {
          "variant_id": "VO000043:low",
          "label": "低强度对白",
          "pace": "slow",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "压低力度"
          ],
          "notes": "适用于密谈、独白或收束段落。"
        },
        {
          "variant_id": "VO000043:high",
          "label": "高强度对白",
          "pace": "fast",
          "pitch": "unknown",
          "timbre": [
            "自然人声"
          ],
          "speaking_style": [
            "吐字清晰",
            "提高爆发力"
          ],
          "notes": "适用于冲突、喊叫或高压时刻。"
        }
      ],
      "asset_profile": {
        "asset_role": "character",
        "priority": "background",
        "required_visual_assets": [
          "角色主设图",
          "角色半身参考图"
        ],
        "optional_visual_assets": [],
        "required_voice_assets": [
          "基础音色样例",
          "情绪扩展样例"
        ],
        "usage_hints": [],
        "owner_candidates": [],
        "variant_keys": [
          "VC000043:costume:default",
          "VO000043:default",
          "VO000043:low",
          "VO000043:high"
        ],
        "prompt_fragments": [
          "公館訪客",
          "客人",
          "直到那客人走的"
        ],
        "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
      },
      "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": true,
        "needs_visual_seed_text": false,
        "needs_voice_seed_text": false,
        "required_visual_asset_count": 2,
        "required_voice_asset_count": 2,
        "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": true
      },
      "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": "ready",
      "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
      "source_ref": {
        "episode_ids": [
          "EP0001"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "entity_uid": "E000043",
        "visual_card_id": "",
        "voice_card_id": "VO000043",
        "asset_binding_id": "AB000043"
      },
      "main_scene_candidates": [
        {
          "episode_id": "EP0001",
          "block_id": "EP0001B006",
          "title": "【闪回】继之告知主角将接办大关差使",
          "kind": "dialogue",
          "lead_scene_id": "S0012",
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ]
        }
      ]
    }
  ],
  "asset_suggestions": {
    "characters": [
      {
        "entity_uid": "E000004",
        "name": "九死一生",
        "canonical_name": "九死一生",
        "display_name": "九死一生",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P0",
        "role_tier": "lead",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "visual_card_id": "VC000004",
        "voice_card_id": "VO000004",
        "asset_binding_id": "AB000004",
        "visual_anchor_summary": "九死一生，核心角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "core",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "杭州",
            "上海",
            "尤雲岫",
            "張鼎臣"
          ],
          "variant_keys": [
            "VC000004:costume:default",
            "VO000004:default",
            "VO000004:low",
            "VO000004:high"
          ],
          "prompt_fragments": [
            "笔记作者；父亲去世",
            "九死一生",
            "笔记作者",
            "父亲去世",
            "筆記作者"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000004:costume:default",
          "VO000004:default",
          "VO000004:low",
          "VO000004:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000004",
          "visual_card_id": "VC000004",
          "voice_card_id": "VO000004",
          "asset_binding_id": "AB000004"
        }
      },
      {
        "entity_uid": "E000014",
        "name": "伯父",
        "canonical_name": "伯父",
        "display_name": "伯父",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P1",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "visual_card_id": "VC000014",
        "voice_card_id": "VO000014",
        "asset_binding_id": "AB000014",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "major",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "張鼎臣",
            "九死一生",
            "南京",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000014:costume:default",
            "VO000014:default",
            "VO000014:low",
            "VO000014:high"
          ],
          "prompt_fragments": [
            "九死一生伯父；南京候补",
            "伯父",
            "九死一生伯父",
            "南京候补",
            "南京候補"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000014:costume:default",
          "VO000014:default",
          "VO000014:low",
          "VO000014:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000014",
          "visual_card_id": "VC000014",
          "voice_card_id": "VO000014",
          "asset_binding_id": "AB000014"
        }
      },
      {
        "entity_uid": "E000025",
        "name": "吳景曾",
        "canonical_name": "吳景曾",
        "display_name": "吳景曾",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P1",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "visual_card_id": "VC000025",
        "voice_card_id": "VO000025",
        "asset_binding_id": "AB000025",
        "visual_anchor_summary": "吳景曾，主要角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "major",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "李氏",
            "伯父",
            "藩臺"
          ],
          "variant_keys": [
            "VC000025:costume:default",
            "VO000025:default",
            "VO000025:low",
            "VO000025:high"
          ],
          "prompt_fragments": [
            "九死一生同窗；勸戒九死一生",
            "吳景曾",
            "九死一生同窗",
            "勸戒九死一生",
            "姓吳，名景曾，表字繼之"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000025:costume:default",
          "VO000025:default",
          "VO000025:low",
          "VO000025:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000025",
          "visual_card_id": "VC000025",
          "voice_card_id": "VO000025",
          "asset_binding_id": "AB000025"
        }
      },
      {
        "entity_uid": "E000036",
        "name": "候補道",
        "canonical_name": "候補道",
        "display_name": "候補道",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "visual_card_id": "VC000036",
        "voice_card_id": "VO000036",
        "asset_binding_id": "AB000036",
        "visual_anchor_summary": "候補道，亦称候補道夫人",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "制臺",
            "太太",
            "總督大帥"
          ],
          "variant_keys": [
            "VC000036:costume:default",
            "VO000036:default",
            "VO000036:low",
            "VO000036:high"
          ],
          "prompt_fragments": [
            "年輕官員；自稱懂醫",
            "候補道",
            "年輕官員",
            "自稱懂醫",
            "懂按摩術"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000036:costume:default",
          "VO000036:default",
          "VO000036:low",
          "VO000036:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000036",
          "visual_card_id": "VC000036",
          "voice_card_id": "VO000036",
          "asset_binding_id": "AB000036"
        }
      },
      {
        "entity_uid": "E000027",
        "name": "土老兒",
        "canonical_name": "土老兒",
        "display_name": "土老兒",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "visual_card_id": "VC000027",
        "voice_card_id": "VO000027",
        "asset_binding_id": "AB000027",
        "visual_anchor_summary": "土老兒，主要角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "四馬路",
            "會香裡",
            "桂花",
            "蘇州"
          ],
          "variant_keys": [
            "VC000027:costume:default",
            "VO000027:default",
            "VO000027:low",
            "VO000027:high"
          ],
          "prompt_fragments": [
            "跑街夥計；聽桂花勸做官",
            "土老兒",
            "跑街夥計",
            "聽桂花勸做官",
            "捐官道臺"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000027:costume:default",
          "VO000027:default",
          "VO000027:low",
          "VO000027:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000027",
          "visual_card_id": "VC000027",
          "voice_card_id": "VO000027",
          "asset_binding_id": "AB000027"
        }
      },
      {
        "entity_uid": "E000019",
        "name": "太太",
        "canonical_name": "太太",
        "display_name": "太太",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005",
          "EP0001B006"
        ],
        "visual_card_id": "VC000019",
        "voice_card_id": "VO000019",
        "asset_binding_id": "AB000019",
        "visual_anchor_summary": "太太，主要角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "候補道",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000019:costume:default",
            "VO000019:default",
            "VO000019:low",
            "VO000019:high"
          ],
          "prompt_fragments": [
            "伯父妻子；制臺妾室",
            "太太",
            "伯父妻子",
            "制臺妾室",
            "多人"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000019:costume:default",
          "VO000019:default",
          "VO000019:low",
          "VO000019:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000019",
          "visual_card_id": "VC000019",
          "voice_card_id": "VO000019",
          "asset_binding_id": "AB000019"
        }
      },
      {
        "entity_uid": "E000011",
        "name": "張鼎臣",
        "canonical_name": "張鼎臣",
        "display_name": "張鼎臣",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图",
            "关键随身物参考"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "伯父"
          ],
          "variant_keys": [
            "VC000011:costume:default",
            "VO000011:default",
            "VO000011:low",
            "VO000011:high"
          ],
          "prompt_fragments": [
            "店中当手；鼎臣看著我，笑了一笑",
            "張鼎臣",
            "店中当手",
            "处理父亲后事",
            "店中有一位當手，姓張，表字…",
            "鼎臣看著我，笑了一笑"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 3,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000011:costume:default",
          "VO000011:default",
          "VO000011:low",
          "VO000011:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000011",
          "visual_card_id": "VC000011",
          "voice_card_id": "VO000011",
          "asset_binding_id": "AB000011"
        }
      },
      {
        "entity_uid": "E000028",
        "name": "桂花",
        "canonical_name": "桂花",
        "display_name": "桂花",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "visual_card_id": "VC000028",
        "voice_card_id": "VO000028",
        "asset_binding_id": "AB000028",
        "visual_anchor_summary": "桂花，主要角色",
        "design_prompt_fragments": [
          "王府丫頭出身"
        ],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "土老兒",
            "京城"
          ],
          "variant_keys": [
            "VC000028:costume:default",
            "VO000028:default",
            "VO000028:low",
            "VO000028:high"
          ],
          "prompt_fragments": [
            "大腳妓女；勸土老兒做官",
            "桂花",
            "大腳妓女",
            "勸土老兒做官",
            "王府丫頭出身"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000028:costume:default",
          "VO000028:default",
          "VO000028:low",
          "VO000028:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000028",
          "visual_card_id": "VC000028",
          "voice_card_id": "VO000028",
          "asset_binding_id": "AB000028"
        }
      },
      {
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "visual_card_id": "VC000002",
        "voice_card_id": "VO000002",
        "asset_binding_id": "AB000002",
        "visual_anchor_summary": "经历坎坷后醒悟",
        "design_prompt_fragments": [
          "经历坎坷后醒悟"
        ],
        "costume_variants": [],
        "state_variants": [
          {
            "variant_id": "VC000002:state:age",
            "label": "少年感",
            "variant_type": "age",
            "signals": [
              "少年感"
            ],
            "evidence": [],
            "notes": "年龄感属于静态主设约束，可直接用于角色资产初始化。"
          }
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [
            "状态变体图"
          ],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "邑廟豫園",
            "漢子",
            "虹口蓬路日本郵便局",
            "深山窮谷"
          ],
          "variant_keys": [
            "VC000002:costume:default",
            "VC000002:state:age",
            "VO000002:default",
            "VO000002:low",
            "VO000002:high"
          ],
          "prompt_fragments": [
            "小说主角；经历坎坷后醒悟",
            "死裡逃生",
            "小说主角",
            "经历坎坷后醒悟",
            "自家起了一個別號，叫做「死…"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000002:costume:default",
          "VC000002:state:age",
          "VO000002:default",
          "VO000002:low",
          "VO000002:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000002",
          "visual_card_id": "VC000002",
          "voice_card_id": "VO000002",
          "asset_binding_id": "AB000002"
        }
      },
      {
        "entity_uid": "E000035",
        "name": "藩臺",
        "canonical_name": "藩臺",
        "display_name": "藩臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "visual_card_id": "VC000035",
        "voice_card_id": "VO000035",
        "asset_binding_id": "AB000035",
        "visual_anchor_summary": "與某王姻親",
        "design_prompt_fragments": [
          "與某王姻親"
        ],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補縣太爺",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000035:costume:default",
            "VO000035:default",
            "VO000035:low",
            "VO000035:high"
          ],
          "prompt_fragments": [
            "旗人官員；與某王姻親",
            "藩臺",
            "旗人官員",
            "與某王姻親",
            "怪罪候補縣太爺"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000035:costume:default",
          "VO000035:default",
          "VO000035:low",
          "VO000035:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000035",
          "visual_card_id": "VC000035",
          "voice_card_id": "VO000035",
          "asset_binding_id": "AB000035"
        }
      },
      {
        "entity_uid": "E000038",
        "name": "候補縣太爺",
        "canonical_name": "候補縣太爺",
        "display_name": "候補縣太爺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "visual_card_id": "VC000038",
        "voice_card_id": "VO000038",
        "asset_binding_id": "AB000038",
        "visual_anchor_summary": "候補縣太爺，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "藩臺",
            "巡防局"
          ],
          "variant_keys": [
            "VC000038:costume:default",
            "VO000038:default",
            "VO000038:low",
            "VO000038:high"
          ],
          "prompt_fragments": [
            "扮官做賊；做賭棍騙子",
            "候補縣太爺",
            "扮官做賊",
            "做賭棍騙子",
            "候補縣太爺做賊"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000038:costume:default",
          "VO000038:default",
          "VO000038:low",
          "VO000038:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ],
          "entity_uid": "E000038",
          "visual_card_id": "VC000038",
          "voice_card_id": "VO000038",
          "asset_binding_id": "AB000038"
        }
      },
      {
        "entity_uid": "E000034",
        "name": "制臺",
        "canonical_name": "制臺",
        "display_name": "制臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "visual_card_id": "VC000034",
        "voice_card_id": "VO000034",
        "asset_binding_id": "AB000034",
        "visual_anchor_summary": "制臺，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [
          {
            "variant_id": "VC000034:state:weak",
            "label": "虚弱态",
            "variant_type": "weak",
            "signals": [
              "病"
            ],
            "evidence": [
              "制臺得了個心神彷彿的病"
            ],
            "notes": "候选状态变体，仅在后续剧情明确进入该状态时使用。"
          }
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [
            "状态变体图"
          ],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補道"
          ],
          "variant_keys": [
            "VC000034:costume:default",
            "VC000034:state:weak",
            "VO000034:default",
            "VO000034:low",
            "VO000034:high"
          ],
          "prompt_fragments": [
            "南京官員；年老糊塗",
            "制臺",
            "南京官員",
            "年老糊塗",
            "年老好色"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000034:costume:default",
          "VC000034:state:weak",
          "VO000034:default",
          "VO000034:low",
          "VO000034:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000034",
          "visual_card_id": "VC000034",
          "voice_card_id": "VO000034",
          "asset_binding_id": "AB000034"
        }
      },
      {
        "entity_uid": "E000010",
        "name": "尤雲岫",
        "canonical_name": "尤雲岫",
        "display_name": "尤雲岫",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000010",
        "voice_card_id": "VO000010",
        "asset_binding_id": "AB000010",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [
            "伴主角出门"
          ],
          "owner_candidates": [
            "九死一生"
          ],
          "variant_keys": [
            "VC000010:costume:default",
            "VO000010:default",
            "VO000010:low",
            "VO000010:high"
          ],
          "prompt_fragments": [
            "父亲朋友；伴主角出门",
            "尤雲岫",
            "父亲朋友",
            "伴主角出门",
            "這個人姓尤，表字雲岫"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000010:costume:default",
          "VO000010:default",
          "VO000010:low",
          "VO000010:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ],
          "entity_uid": "E000010",
          "visual_card_id": "VC000010",
          "voice_card_id": "VO000010",
          "asset_binding_id": "AB000010"
        }
      },
      {
        "entity_uid": "E000016",
        "name": "廣東人",
        "canonical_name": "廣東人",
        "display_name": "廣東人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000016",
        "voice_card_id": "VO000016",
        "asset_binding_id": "AB000016",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "買辦",
            "賊人"
          ],
          "variant_keys": [
            "VC000016:costume:default",
            "VO000016:default",
            "VO000016:low",
            "VO000016:high"
          ],
          "prompt_fragments": [
            "機警；眼明手快",
            "廣東人",
            "眼明手快"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000016:costume:default",
          "VO000016:default",
          "VO000016:low",
          "VO000016:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ],
          "entity_uid": "E000016",
          "visual_card_id": "VC000016",
          "voice_card_id": "VO000016",
          "asset_binding_id": "AB000016"
        }
      },
      {
        "entity_uid": "E000033",
        "name": "撫臺",
        "canonical_name": "撫臺",
        "display_name": "撫臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "visual_card_id": "VC000033",
        "voice_card_id": "VO000033",
        "asset_binding_id": "AB000033",
        "visual_anchor_summary": "撫臺，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "土老兒"
          ],
          "variant_keys": [
            "VC000033:costume:default",
            "VO000033:default",
            "VO000033:low",
            "VO000033:high"
          ],
          "prompt_fragments": [
            "蘇州官員；圓通之人",
            "撫臺",
            "蘇州官員",
            "圓通之人",
            "撫臺見他土形土狀的"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000033:costume:default",
          "VO000033:default",
          "VO000033:low",
          "VO000033:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ],
          "entity_uid": "E000033",
          "visual_card_id": "VC000033",
          "voice_card_id": "VO000033",
          "asset_binding_id": "AB000033"
        }
      },
      {
        "entity_uid": "E000026",
        "name": "李氏",
        "canonical_name": "李氏",
        "display_name": "李氏",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0007"
        ],
        "source_group_ids": [
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0003"
        ],
        "block_ids": [
          "EP0001B003"
        ],
        "visual_card_id": "VC000026",
        "voice_card_id": "VO000026",
        "asset_binding_id": "AB000026",
        "visual_anchor_summary": "李氏，功能角色",
        "design_prompt_fragments": [
          "請出他夫人李氏來相見"
        ],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "吳景曾"
          ],
          "variant_keys": [
            "VC000026:costume:default",
            "VO000026:default",
            "VO000026:low",
            "VO000026:high"
          ],
          "prompt_fragments": [
            "繼之夫人",
            "李氏",
            "請出他夫人李氏來相見"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000026:costume:default",
          "VO000026:default",
          "VO000026:low",
          "VO000026:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003"
          ],
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ],
          "entity_uid": "E000026",
          "visual_card_id": "VC000026",
          "voice_card_id": "VO000026",
          "asset_binding_id": "AB000026"
        }
      },
      {
        "entity_uid": "E000015",
        "name": "母親",
        "canonical_name": "母親",
        "display_name": "母親",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004",
          "S0012"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B006"
        ],
        "visual_card_id": "VC000015",
        "voice_card_id": "VO000015",
        "asset_binding_id": "AB000015",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000015:costume:default",
            "VO000015:default",
            "VO000015:low",
            "VO000015:high"
          ],
          "prompt_fragments": [
            "九死一生母亲",
            "母親",
            "我母親二人，在家中過了半年",
            "可知尊堂伯母在那裡盼望呢。"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000015:costume:default",
          "VO000015:default",
          "VO000015:low",
          "VO000015:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0004",
            "S0012"
          ],
          "source_group_ids": [
            "AG0002",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0002",
            "AB0006"
          ],
          "entity_uid": "E000015",
          "visual_card_id": "VC000015",
          "voice_card_id": "VO000015",
          "asset_binding_id": "AB000015"
        }
      },
      {
        "entity_uid": "E000003",
        "name": "漢子",
        "canonical_name": "漢子",
        "display_name": "漢子",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "visual_card_id": "VC000003",
        "voice_card_id": "VO000003",
        "asset_binding_id": "AB000003",
        "visual_anchor_summary": "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
        "design_prompt_fragments": [
          "神秘赠书人",
          "忽見一個漢子，衣衫襤褸，氣宇軒昂",
          "忽見一個漢子，衣衫襤褸，氣…"
        ],
        "costume_variants": [
          {
            "variant_id": "VC000003:costume:default",
            "label": "基础造型",
            "variant_type": "default",
            "appearance": [],
            "clothing": [
              "忽見一個漢子，衣衫襤褸，氣宇軒昂"
            ],
            "props": [],
            "source_mode": "static_core",
            "notes": "默认角色主设；后续镜头只在此基础上叠加情绪、动作和状态。"
          }
        ],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "死裡逃生"
          ],
          "variant_keys": [
            "VC000003:costume:default",
            "VO000003:default",
            "VO000003:low",
            "VO000003:high"
          ],
          "prompt_fragments": [
            "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
            "漢子",
            "神秘赠书人",
            "忽見一個漢子，衣衫襤褸，氣…",
            "手中拿著一本冊子"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000003:costume:default",
          "VO000003:default",
          "VO000003:low",
          "VO000003:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001"
          ],
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ],
          "entity_uid": "E000003",
          "visual_card_id": "VC000003",
          "voice_card_id": "VO000003",
          "asset_binding_id": "AB000003"
        }
      },
      {
        "entity_uid": "E000037",
        "name": "總督大帥",
        "canonical_name": "總督大帥",
        "display_name": "總督大帥",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "visual_card_id": "VC000037",
        "voice_card_id": "VO000037",
        "asset_binding_id": "AB000037",
        "visual_anchor_summary": "總督大帥，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補道"
          ],
          "variant_keys": [
            "VC000037:costume:default",
            "VO000037:default",
            "VO000037:low",
            "VO000037:high"
          ],
          "prompt_fragments": [
            "被夫人影響",
            "總督大帥",
            "總督大帥被夫人影響"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000037:costume:default",
          "VO000037:default",
          "VO000037:low",
          "VO000037:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ],
          "entity_uid": "E000037",
          "visual_card_id": "VC000037",
          "voice_card_id": "VO000037",
          "asset_binding_id": "AB000037"
        }
      },
      {
        "entity_uid": "E000017",
        "name": "買辦",
        "canonical_name": "買辦",
        "display_name": "買辦",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004",
          "S0009"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0005"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B005"
        ],
        "visual_card_id": "VC000017",
        "voice_card_id": "VO000017",
        "asset_binding_id": "AB000017",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "廣東人"
          ],
          "variant_keys": [
            "VC000017:costume:default",
            "VO000017:default",
            "VO000017:low",
            "VO000017:high"
          ],
          "prompt_fragments": [
            "船上管理人員",
            "買辦",
            "買辦搶著說道"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000017:costume:default",
          "VO000017:default",
          "VO000017:low",
          "VO000017:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0004",
            "S0009"
          ],
          "source_group_ids": [
            "AG0002",
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0002",
            "AB0005"
          ],
          "entity_uid": "E000017",
          "visual_card_id": "VC000017",
          "voice_card_id": "VO000017",
          "asset_binding_id": "AB000017"
        }
      },
      {
        "entity_uid": "E000042",
        "name": "主人",
        "canonical_name": "主人",
        "display_name": "主人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0012"
        ],
        "source_group_ids": [
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0006"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "visual_card_id": "VC000042",
        "voice_card_id": "VO000042",
        "asset_binding_id": "AB000042",
        "visual_anchor_summary": "主人，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "background",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [],
          "variant_keys": [
            "VC000042:costume:default",
            "VO000042:default",
            "VO000042:low",
            "VO000042:high"
          ],
          "prompt_fragments": [
            "公館主人",
            "主人",
            "再看那主人時"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000042:costume:default",
          "VO000042:default",
          "VO000042:low",
          "VO000042:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ],
          "entity_uid": "E000042",
          "visual_card_id": "VC000042",
          "voice_card_id": "VO000042",
          "asset_binding_id": "AB000042"
        }
      },
      {
        "entity_uid": "E000043",
        "name": "客人",
        "canonical_name": "客人",
        "display_name": "客人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "visual_card_id": "VC000043",
        "voice_card_id": "VO000043",
        "asset_binding_id": "AB000043",
        "visual_anchor_summary": "客人，功能角色",
        "design_prompt_fragments": [],
        "costume_variants": [],
        "state_variants": [],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "background",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [],
          "variant_keys": [
            "VC000043:costume:default",
            "VO000043:default",
            "VO000043:low",
            "VO000043:high"
          ],
          "prompt_fragments": [
            "公館訪客",
            "客人",
            "直到那客人走的"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": [
          "VC000043:costume:default",
          "VO000043:default",
          "VO000043:low",
          "VO000043:high"
        ],
        "reason": "角色覆盖 1 集，建议优先建立稳定角色资产。",
        "needs": [
          "缺少参考图",
          "缺少视觉锁定绑定",
          "缺少语音参考",
          "缺少音色绑定"
        ],
        "risk_flags": [
          "visual_reference_gap",
          "voice_reference_gap",
          "voice_binding_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；语音参考缺口；音色绑定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000043",
          "visual_card_id": "VC000043",
          "voice_card_id": "VO000043",
          "asset_binding_id": "AB000043"
        }
      }
    ],
    "locations": [
      {
        "entity_uid": "E000013",
        "name": "南京",
        "canonical_name": "南京",
        "display_name": "南京",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "地点",
        "subtype": "",
        "importance": "major",
        "priority": "P1",
        "location_role": "recurring_set",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "visual_card_id": "VC000013",
        "asset_binding_id": "AB000013",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "major",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "這事一時傳遍了南京城"
          ],
          "owner_candidates": [
            "伯父",
            "九死一生",
            "土老兒"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "這事一時傳遍了南京城",
            "南京"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 4 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000013",
          "visual_card_id": "VC000013",
          "voice_card_id": "",
          "asset_binding_id": "AB000013"
        }
      },
      {
        "entity_uid": "E000001",
        "name": "上海",
        "canonical_name": "上海",
        "display_name": "上海",
        "identity_conflict": {},
        "conflict_group_id": "",
        "type": "地点",
        "subtype": "山岳/洞天",
        "importance": "supporting",
        "priority": "P2",
        "location_role": "recurring_set",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "visual_card_id": "VC000001",
        "asset_binding_id": "AB000001",
        "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": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "supporting",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "上海",
            "繁华都市",
            "轻浮险诈之地"
          ],
          "owner_candidates": [
            "九死一生"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "上海",
            "山岳/洞天",
            "繁华都市"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 4 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B002",
            "EP0001B003",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000001",
          "visual_card_id": "VC000001",
          "voice_card_id": "",
          "asset_binding_id": "AB000001"
        }
      },
      {
        "entity_uid": "E000031",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "visual_card_id": "VC000031",
        "asset_binding_id": "AB000031",
        "identity_summary": "捐官地點",
        "visual_anchor_summary": "桂花帶了土老兒到京城裡去",
        "design_prompt_fragments": [
          "桂花帶了土老兒到京城裡去",
          "京城",
          "城镇/疆域"
        ],
        "location_core": [
          "桂花帶了土老兒到京城裡去"
        ],
        "landmark_core": [
          "桂花帶了土老兒到京城裡去"
        ],
        "atmosphere_core": [
          "按摩丑事被姨太太们发现，继之讲述候…"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "桂花帶了土老兒到京城裡去"
          ],
          "owner_candidates": [
            "桂花"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "桂花帶了土老兒到京城裡去",
            "京城",
            "城镇/疆域"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 2 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000031",
          "visual_card_id": "VC000031",
          "voice_card_id": "",
          "asset_binding_id": "AB000031"
        }
      },
      {
        "entity_uid": "E000029",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B003"
        ],
        "visual_card_id": "VC000029",
        "asset_binding_id": "AB000029",
        "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": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "四馬路",
            "野雞最多地方",
            "走到了四馬路野雞最多的地方"
          ],
          "owner_candidates": [
            "土老兒"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "四馬路",
            "野雞最多地方"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 2 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B003"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000029",
          "visual_card_id": "VC000029",
          "voice_card_id": "",
          "asset_binding_id": "AB000029"
        }
      },
      {
        "entity_uid": "E000020",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005"
        ],
        "visual_card_id": "VC000020",
        "asset_binding_id": "AB000020",
        "identity_summary": "暫住地點",
        "visual_anchor_summary": "客棧",
        "design_prompt_fragments": [
          "客棧",
          "暫住地點"
        ],
        "location_core": [
          "客棧",
          "暫住地點",
          "搬到客棧裡去住",
          "搬到客棧裡住了兩天"
        ],
        "landmark_core": [
          "客棧",
          "暫住地點",
          "搬到客棧裡去住"
        ],
        "atmosphere_core": [
          "按摩丑事被姨太太们发现，继之讲述候…"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "客棧",
            "暫住地點",
            "搬到客棧裡去住"
          ],
          "owner_candidates": [
            "九死一生"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "客棧",
            "暫住地點"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 2 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000020",
          "visual_card_id": "VC000020",
          "voice_card_id": "",
          "asset_binding_id": "AB000020"
        }
      },
      {
        "entity_uid": "E000030",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "visual_card_id": "VC000030",
        "asset_binding_id": "AB000030",
        "identity_summary": "四馬路地點",
        "visual_anchor_summary": "會香裡",
        "design_prompt_fragments": [
          "會香裡",
          "四馬路地點"
        ],
        "location_core": [
          "會香裡",
          "四馬路地點",
          "叫做甚麼會香裡"
        ],
        "landmark_core": [
          "會香裡",
          "四馬路地點",
          "叫做甚麼會香裡"
        ],
        "atmosphere_core": [
          "藩台识破真相。"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "會香裡",
            "四馬路地點",
            "叫做甚麼會香裡"
          ],
          "owner_candidates": [
            "土老兒"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "會香裡",
            "四馬路地點"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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 集、命中 2 个剧本块，适合优先建主场景。",
        "risk_flags": [
          "visual_reference_gap",
          "visual_lock_gap"
        ],
        "risk_summary": "参考图缺口；视觉锁定缺口",
        "init_action": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000030",
          "visual_card_id": "VC000030",
          "voice_card_id": "",
          "asset_binding_id": "AB000030"
        }
      },
      {
        "entity_uid": "E000012",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "visual_card_id": "VC000012",
        "asset_binding_id": "AB000012",
        "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "杭州",
            "父亲商号所在地",
            "叫我到杭州去"
          ],
          "owner_candidates": [
            "九死一生"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "杭州",
            "城镇/疆域",
            "父亲商号所在地"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000012",
          "visual_card_id": "VC000012",
          "voice_card_id": "",
          "asset_binding_id": "AB000012"
        }
      },
      {
        "entity_uid": "E000032",
        "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": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "visual_card_id": "VC000032",
        "asset_binding_id": "AB000032",
        "identity_summary": "稟到地點",
        "visual_anchor_summary": "蘇州",
        "design_prompt_fragments": [
          "蘇州",
          "城镇/疆域",
          "稟到地點"
        ],
        "location_core": [
          "蘇州",
          "稟到地點",
          "走到蘇州去稟到"
        ],
        "landmark_core": [
          "蘇州",
          "稟到地點",
          "走到蘇州去稟到"
        ],
        "atmosphere_core": [
          "南京"
        ],
        "style_constraints": [
          "保持同一实体在跨镜头中的核心身份稳定",
          "保持场景结构、地标和整体氛围一致"
        ],
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "蘇州",
            "稟到地點",
            "走到蘇州去稟到"
          ],
          "owner_candidates": [
            "土老兒"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "蘇州",
            "城镇/疆域",
            "稟到地點"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ],
          "entity_uid": "E000032",
          "visual_card_id": "VC000032",
          "voice_card_id": "",
          "asset_binding_id": "AB000032"
        }
      },
      {
        "entity_uid": "E000006",
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "visual_card_id": "VC000006",
        "asset_binding_id": "AB000006",
        "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": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          }
        ],
        "asset_profile": {
          "asset_role": "location",
          "priority": "minor",
          "required_visual_assets": [
            "主场景参考图"
          ],
          "optional_visual_assets": [
            "关键地标补充图"
          ],
          "required_voice_assets": [],
          "usage_hints": [
            "邑廟豫園",
            "游玩地点",
            "遂信步走到邑廟豫園，遊玩一番"
          ],
          "owner_candidates": [
            "死裡逃生"
          ],
          "variant_keys": [],
          "prompt_fragments": [
            "邑廟豫園",
            "游玩地点"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 1,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000006",
          "visual_card_id": "VC000006",
          "voice_card_id": "",
          "asset_binding_id": "AB000006"
        }
      }
    ],
    "props": [],
    "voices": [
      {
        "entity_uid": "E000004",
        "name": "九死一生",
        "canonical_name": "九死一生",
        "display_name": "九死一生",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P0",
        "role_tier": "lead",
        "voice_card_id": "VO000004",
        "asset_binding_id": "AB000004",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "voice_anchor_summary": "九死一生；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000004:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000004:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000004:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "core",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "杭州",
            "上海",
            "尤雲岫",
            "張鼎臣"
          ],
          "variant_keys": [
            "VC000004:costume:default",
            "VO000004:default",
            "VO000004:low",
            "VO000004:high"
          ],
          "prompt_fragments": [
            "笔记作者；父亲去世",
            "九死一生",
            "笔记作者",
            "父亲去世",
            "筆記作者"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000004",
          "visual_card_id": "",
          "voice_card_id": "VO000004",
          "asset_binding_id": "AB000004"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000014",
        "name": "伯父",
        "canonical_name": "伯父",
        "display_name": "伯父",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P1",
        "role_tier": "supporting",
        "voice_card_id": "VO000014",
        "asset_binding_id": "AB000014",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B003",
          "EP0001B006"
        ],
        "voice_anchor_summary": "伯父；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000014:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000014:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000014:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "major",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "張鼎臣",
            "九死一生",
            "南京",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000014:costume:default",
            "VO000014:default",
            "VO000014:low",
            "VO000014:high"
          ],
          "prompt_fragments": [
            "九死一生伯父；南京候补",
            "伯父",
            "九死一生伯父",
            "南京候补",
            "南京候補"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B003",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000014",
          "visual_card_id": "",
          "voice_card_id": "VO000014",
          "asset_binding_id": "AB000014"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000025",
        "name": "吳景曾",
        "canonical_name": "吳景曾",
        "display_name": "吳景曾",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P1",
        "role_tier": "supporting",
        "voice_card_id": "VO000025",
        "asset_binding_id": "AB000025",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "voice_anchor_summary": "吳景曾；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000025:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000025:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000025:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "major",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "李氏",
            "伯父",
            "藩臺"
          ],
          "variant_keys": [
            "VC000025:costume:default",
            "VO000025:default",
            "VO000025:low",
            "VO000025:high"
          ],
          "prompt_fragments": [
            "九死一生同窗；勸戒九死一生",
            "吳景曾",
            "九死一生同窗",
            "勸戒九死一生",
            "姓吳，名景曾，表字繼之"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000025",
          "visual_card_id": "",
          "voice_card_id": "VO000025",
          "asset_binding_id": "AB000025"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000036",
        "name": "候補道",
        "canonical_name": "候補道",
        "display_name": "候補道",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000036",
        "asset_binding_id": "AB000036",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005"
        ],
        "voice_anchor_summary": "候補道；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000036:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000036:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000036:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "制臺",
            "太太",
            "總督大帥"
          ],
          "variant_keys": [
            "VC000036:costume:default",
            "VO000036:default",
            "VO000036:low",
            "VO000036:high"
          ],
          "prompt_fragments": [
            "年輕官員；自稱懂醫",
            "候補道",
            "年輕官員",
            "自稱懂醫",
            "懂按摩術"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000036",
          "visual_card_id": "",
          "voice_card_id": "VO000036",
          "asset_binding_id": "AB000036"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000027",
        "name": "土老兒",
        "canonical_name": "土老兒",
        "display_name": "土老兒",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000027",
        "asset_binding_id": "AB000027",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "voice_anchor_summary": "土老兒；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000027:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000027:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000027:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "四馬路",
            "會香裡",
            "桂花",
            "蘇州"
          ],
          "variant_keys": [
            "VC000027:costume:default",
            "VO000027:default",
            "VO000027:low",
            "VO000027:high"
          ],
          "prompt_fragments": [
            "跑街夥計；聽桂花勸做官",
            "土老兒",
            "跑街夥計",
            "聽桂花勸做官",
            "捐官道臺"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000027",
          "visual_card_id": "",
          "voice_card_id": "VO000027",
          "asset_binding_id": "AB000027"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000019",
        "name": "太太",
        "canonical_name": "太太",
        "display_name": "太太",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000019",
        "asset_binding_id": "AB000019",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B005",
          "EP0001B006"
        ],
        "voice_anchor_summary": "太太；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000019:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000019:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000019:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "候補道",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000019:costume:default",
            "VO000019:default",
            "VO000019:low",
            "VO000019:high"
          ],
          "prompt_fragments": [
            "伯父妻子；制臺妾室",
            "太太",
            "伯父妻子",
            "制臺妾室",
            "多人"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000019",
          "visual_card_id": "",
          "voice_card_id": "VO000019",
          "asset_binding_id": "AB000019"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000011",
        "name": "張鼎臣",
        "canonical_name": "張鼎臣",
        "display_name": "張鼎臣",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000011",
        "asset_binding_id": "AB000011",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "voice_anchor_summary": "張鼎臣；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000011:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000011:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000011:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图",
            "关键随身物参考"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "伯父"
          ],
          "variant_keys": [
            "VC000011:costume:default",
            "VO000011:default",
            "VO000011:low",
            "VO000011:high"
          ],
          "prompt_fragments": [
            "店中当手；鼎臣看著我，笑了一笑",
            "張鼎臣",
            "店中当手",
            "处理父亲后事",
            "店中有一位當手，姓張，表字…",
            "鼎臣看著我，笑了一笑"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 3,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "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": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000028",
        "name": "桂花",
        "canonical_name": "桂花",
        "display_name": "桂花",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000028",
        "asset_binding_id": "AB000028",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004"
        ],
        "voice_anchor_summary": "桂花；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000028:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000028:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000028:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "土老兒",
            "京城"
          ],
          "variant_keys": [
            "VC000028:costume:default",
            "VO000028:default",
            "VO000028:low",
            "VO000028:high"
          ],
          "prompt_fragments": [
            "大腳妓女；勸土老兒做官",
            "桂花",
            "大腳妓女",
            "勸土老兒做官",
            "王府丫頭出身"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000028",
          "visual_card_id": "",
          "voice_card_id": "VO000028",
          "asset_binding_id": "AB000028"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ]
      },
      {
        "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",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B001",
          "EP0001B002"
        ],
        "voice_anchor_summary": "死裡逃生；角色 / 男性向 / 少年感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定",
          "带年轻感"
        ],
        "pitch": "high",
        "pace": "fast",
        "speaking_style": [
          "吐字清晰",
          "语流更轻快"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色",
          "保持少年感，不在不同段落间来回漂移"
        ],
        "casting_tags": [
          "角色",
          "男性向",
          "少年感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰",
          "语流更轻快"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000002:default",
            "label": "常规对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰",
              "语流更轻快"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000002:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000002:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "high",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [
            "状态变体图"
          ],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "邑廟豫園",
            "漢子",
            "虹口蓬路日本郵便局",
            "深山窮谷"
          ],
          "variant_keys": [
            "VC000002:costume:default",
            "VC000002:state:age",
            "VO000002:default",
            "VO000002:low",
            "VO000002:high"
          ],
          "prompt_fragments": [
            "小说主角；经历坎坷后醒悟",
            "死裡逃生",
            "小说主角",
            "经历坎坷后醒悟",
            "自家起了一個別號，叫做「死…"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001",
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000002",
          "visual_card_id": "",
          "voice_card_id": "VO000002",
          "asset_binding_id": "AB000002"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000035",
        "name": "藩臺",
        "canonical_name": "藩臺",
        "display_name": "藩臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P2",
        "role_tier": "supporting",
        "voice_card_id": "VO000035",
        "asset_binding_id": "AB000035",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B003",
          "EP0001B004",
          "EP0001B005",
          "EP0001B006"
        ],
        "voice_anchor_summary": "藩臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000035:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000035:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000035:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "supporting",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補縣太爺",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000035:costume:default",
            "VO000035:default",
            "VO000035:low",
            "VO000035:high"
          ],
          "prompt_fragments": [
            "旗人官員；與某王姻親",
            "藩臺",
            "旗人官員",
            "與某王姻親",
            "怪罪候補縣太爺"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003",
            "EP0001B004",
            "EP0001B005",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000035",
          "visual_card_id": "",
          "voice_card_id": "VO000035",
          "asset_binding_id": "AB000035"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000038",
        "name": "候補縣太爺",
        "canonical_name": "候補縣太爺",
        "display_name": "候補縣太爺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000038",
        "asset_binding_id": "AB000038",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "voice_anchor_summary": "候補縣太爺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000038:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000038:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000038:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "藩臺",
            "巡防局"
          ],
          "variant_keys": [
            "VC000038:costume:default",
            "VO000038:default",
            "VO000038:low",
            "VO000038:high"
          ],
          "prompt_fragments": [
            "扮官做賊；做賭棍騙子",
            "候補縣太爺",
            "扮官做賊",
            "做賭棍騙子",
            "候補縣太爺做賊"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ],
          "entity_uid": "E000038",
          "visual_card_id": "",
          "voice_card_id": "VO000038",
          "asset_binding_id": "AB000038"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000034",
        "name": "制臺",
        "canonical_name": "制臺",
        "display_name": "制臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000034",
        "asset_binding_id": "AB000034",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B004",
          "EP0001B005"
        ],
        "voice_anchor_summary": "制臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000034:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000034:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000034:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [
            "状态变体图"
          ],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補道"
          ],
          "variant_keys": [
            "VC000034:costume:default",
            "VC000034:state:weak",
            "VO000034:default",
            "VO000034:low",
            "VO000034:high"
          ],
          "prompt_fragments": [
            "南京官員；年老糊塗",
            "制臺",
            "南京官員",
            "年老糊塗",
            "年老好色"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000034",
          "visual_card_id": "",
          "voice_card_id": "VO000034",
          "asset_binding_id": "AB000034"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000010",
        "name": "尤雲岫",
        "canonical_name": "尤雲岫",
        "display_name": "尤雲岫",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000010",
        "asset_binding_id": "AB000010",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "voice_anchor_summary": "尤雲岫；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000010:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000010:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000010:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [
            "伴主角出门"
          ],
          "owner_candidates": [
            "九死一生"
          ],
          "variant_keys": [
            "VC000010:costume:default",
            "VO000010:default",
            "VO000010:low",
            "VO000010:high"
          ],
          "prompt_fragments": [
            "父亲朋友；伴主角出门",
            "尤雲岫",
            "父亲朋友",
            "伴主角出门",
            "這個人姓尤，表字雲岫"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ],
          "entity_uid": "E000010",
          "visual_card_id": "",
          "voice_card_id": "VO000010",
          "asset_binding_id": "AB000010"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000016",
        "name": "廣東人",
        "canonical_name": "廣東人",
        "display_name": "廣東人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000016",
        "asset_binding_id": "AB000016",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004"
        ],
        "source_group_ids": [
          "AG0002"
        ],
        "source_beat_ids": [
          "AB0002"
        ],
        "block_ids": [
          "EP0001B002"
        ],
        "voice_anchor_summary": "廣東人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000016:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000016:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000016:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "買辦",
            "賊人"
          ],
          "variant_keys": [
            "VC000016:costume:default",
            "VO000016:default",
            "VO000016:low",
            "VO000016:high"
          ],
          "prompt_fragments": [
            "機警；眼明手快",
            "廣東人",
            "眼明手快"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002"
          ],
          "source_scene_ids": [
            "S0004"
          ],
          "source_group_ids": [
            "AG0002"
          ],
          "source_beat_ids": [
            "AB0002"
          ],
          "entity_uid": "E000016",
          "visual_card_id": "",
          "voice_card_id": "VO000016",
          "asset_binding_id": "AB000016"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000033",
        "name": "撫臺",
        "canonical_name": "撫臺",
        "display_name": "撫臺",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000033",
        "asset_binding_id": "AB000033",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0008"
        ],
        "source_group_ids": [
          "AG0004"
        ],
        "source_beat_ids": [
          "AB0004"
        ],
        "block_ids": [
          "EP0001B004"
        ],
        "voice_anchor_summary": "撫臺；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000033:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000033:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000033:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "土老兒"
          ],
          "variant_keys": [
            "VC000033:costume:default",
            "VO000033:default",
            "VO000033:low",
            "VO000033:high"
          ],
          "prompt_fragments": [
            "蘇州官員；圓通之人",
            "撫臺",
            "蘇州官員",
            "圓通之人",
            "撫臺見他土形土狀的"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B004"
          ],
          "source_scene_ids": [
            "S0008"
          ],
          "source_group_ids": [
            "AG0004"
          ],
          "source_beat_ids": [
            "AB0004"
          ],
          "entity_uid": "E000033",
          "visual_card_id": "",
          "voice_card_id": "VO000033",
          "asset_binding_id": "AB000033"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B004",
            "title": "【闪回】桂花为土老儿捐官谋差",
            "kind": "bridge",
            "lead_scene_id": "S0008",
            "source_scene_ids": [
              "S0008"
            ],
            "source_group_ids": [
              "AG0004"
            ],
            "source_beat_ids": [
              "AB0004"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000026",
        "name": "李氏",
        "canonical_name": "李氏",
        "display_name": "李氏",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000026",
        "asset_binding_id": "AB000026",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0007"
        ],
        "source_group_ids": [
          "AG0003"
        ],
        "source_beat_ids": [
          "AB0003"
        ],
        "block_ids": [
          "EP0001B003"
        ],
        "voice_anchor_summary": "李氏；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000026:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000026:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000026:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "吳景曾"
          ],
          "variant_keys": [
            "VC000026:costume:default",
            "VO000026:default",
            "VO000026:low",
            "VO000026:high"
          ],
          "prompt_fragments": [
            "繼之夫人",
            "李氏",
            "請出他夫人李氏來相見"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B003"
          ],
          "source_scene_ids": [
            "S0007"
          ],
          "source_group_ids": [
            "AG0003"
          ],
          "source_beat_ids": [
            "AB0003"
          ],
          "entity_uid": "E000026",
          "visual_card_id": "",
          "voice_card_id": "VO000026",
          "asset_binding_id": "AB000026"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B003",
            "title": "【闪回】主角盘缠将尽的窘境",
            "kind": "dialogue",
            "lead_scene_id": "S0007",
            "source_scene_ids": [
              "S0007"
            ],
            "source_group_ids": [
              "AG0003"
            ],
            "source_beat_ids": [
              "AB0003"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000015",
        "name": "母親",
        "canonical_name": "母親",
        "display_name": "母親",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000015",
        "asset_binding_id": "AB000015",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004",
          "S0012"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B006"
        ],
        "voice_anchor_summary": "母親；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000015:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000015:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000015:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "九死一生",
            "吳景曾"
          ],
          "variant_keys": [
            "VC000015:costume:default",
            "VO000015:default",
            "VO000015:low",
            "VO000015:high"
          ],
          "prompt_fragments": [
            "九死一生母亲",
            "母親",
            "我母親二人，在家中過了半年",
            "可知尊堂伯母在那裡盼望呢。"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0004",
            "S0012"
          ],
          "source_group_ids": [
            "AG0002",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0002",
            "AB0006"
          ],
          "entity_uid": "E000015",
          "visual_card_id": "",
          "voice_card_id": "VO000015",
          "asset_binding_id": "AB000015"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000003",
        "name": "漢子",
        "canonical_name": "漢子",
        "display_name": "漢子",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000003",
        "asset_binding_id": "AB000003",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001"
        ],
        "source_group_ids": [
          "AG0001"
        ],
        "source_beat_ids": [
          "AB0001"
        ],
        "block_ids": [
          "EP0001B001"
        ],
        "voice_anchor_summary": "漢子；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000003:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000003:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000003:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "死裡逃生"
          ],
          "variant_keys": [
            "VC000003:costume:default",
            "VO000003:default",
            "VO000003:low",
            "VO000003:high"
          ],
          "prompt_fragments": [
            "神秘赠书人；忽見一個漢子，衣衫襤褸，氣宇軒昂",
            "漢子",
            "神秘赠书人",
            "忽見一個漢子，衣衫襤褸，氣…",
            "手中拿著一本冊子"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B001"
          ],
          "source_scene_ids": [
            "S0001"
          ],
          "source_group_ids": [
            "AG0001"
          ],
          "source_beat_ids": [
            "AB0001"
          ],
          "entity_uid": "E000003",
          "visual_card_id": "",
          "voice_card_id": "VO000003",
          "asset_binding_id": "AB000003"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B001",
            "title": "【闪回】上海繁华与堕落的社会风貌描述",
            "kind": "bridge",
            "lead_scene_id": "S0001",
            "source_scene_ids": [
              "S0001"
            ],
            "source_group_ids": [
              "AG0001"
            ],
            "source_beat_ids": [
              "AB0001"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000037",
        "name": "總督大帥",
        "canonical_name": "總督大帥",
        "display_name": "總督大帥",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000037",
        "asset_binding_id": "AB000037",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0009"
        ],
        "source_group_ids": [
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0005"
        ],
        "block_ids": [
          "EP0001B005"
        ],
        "voice_anchor_summary": "總督大帥；角色 / 女性向 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "女性向",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000037:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000037:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000037:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "候補道"
          ],
          "variant_keys": [
            "VC000037:costume:default",
            "VO000037:default",
            "VO000037:low",
            "VO000037:high"
          ],
          "prompt_fragments": [
            "被夫人影響",
            "總督大帥",
            "總督大帥被夫人影響"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0009"
          ],
          "source_group_ids": [
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0005"
          ],
          "entity_uid": "E000037",
          "visual_card_id": "",
          "voice_card_id": "VO000037",
          "asset_binding_id": "AB000037"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000017",
        "name": "買辦",
        "canonical_name": "買辦",
        "display_name": "買辦",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P3",
        "role_tier": "featured",
        "voice_card_id": "VO000017",
        "asset_binding_id": "AB000017",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0004",
          "S0009"
        ],
        "source_group_ids": [
          "AG0002",
          "AG0005"
        ],
        "source_beat_ids": [
          "AB0002",
          "AB0005"
        ],
        "block_ids": [
          "EP0001B002",
          "EP0001B005"
        ],
        "voice_anchor_summary": "買辦；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000017:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000017:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000017:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "minor",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [
            "廣東人"
          ],
          "variant_keys": [
            "VC000017:costume:default",
            "VO000017:default",
            "VO000017:low",
            "VO000017:high"
          ],
          "prompt_fragments": [
            "船上管理人員",
            "買辦",
            "買辦搶著說道"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B002",
            "EP0001B005"
          ],
          "source_scene_ids": [
            "S0004",
            "S0009"
          ],
          "source_group_ids": [
            "AG0002",
            "AG0005"
          ],
          "source_beat_ids": [
            "AB0002",
            "AB0005"
          ],
          "entity_uid": "E000017",
          "visual_card_id": "",
          "voice_card_id": "VO000017",
          "asset_binding_id": "AB000017"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B002",
            "title": "【闪回】九死一生决定请伯父",
            "kind": "dialogue",
            "lead_scene_id": "S0004",
            "source_scene_ids": [
              "S0004"
            ],
            "source_group_ids": [
              "AG0002"
            ],
            "source_beat_ids": [
              "AB0002"
            ]
          },
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B005",
            "title": "继之作为讲述者",
            "kind": "dialogue",
            "lead_scene_id": "S0009",
            "source_scene_ids": [
              "S0009"
            ],
            "source_group_ids": [
              "AG0005"
            ],
            "source_beat_ids": [
              "AB0005"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000042",
        "name": "主人",
        "canonical_name": "主人",
        "display_name": "主人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "voice_card_id": "VO000042",
        "asset_binding_id": "AB000042",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0012"
        ],
        "source_group_ids": [
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0006"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "voice_anchor_summary": "主人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000042:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000042:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000042:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "background",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [],
          "variant_keys": [
            "VC000042:costume:default",
            "VO000042:default",
            "VO000042:low",
            "VO000042:high"
          ],
          "prompt_fragments": [
            "公館主人",
            "主人",
            "再看那主人時"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0012"
          ],
          "source_group_ids": [
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0006"
          ],
          "entity_uid": "E000042",
          "visual_card_id": "",
          "voice_card_id": "VO000042",
          "asset_binding_id": "AB000042"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      },
      {
        "entity_uid": "E000043",
        "name": "客人",
        "canonical_name": "客人",
        "display_name": "客人",
        "identity_conflict": {},
        "conflict_group_id": "",
        "priority": "P4",
        "role_tier": "featured",
        "voice_card_id": "VO000043",
        "asset_binding_id": "AB000043",
        "voice_role": "character",
        "episode_ids": [
          "EP0001"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "block_ids": [
          "EP0001B006"
        ],
        "voice_anchor_summary": "客人；角色 / 未知性别呈现 / 未知年龄感；自然人声",
        "timbre": [
          "自然人声",
          "保持跨场景音色稳定"
        ],
        "pitch": "unknown",
        "pace": "medium",
        "speaking_style": [
          "吐字清晰"
        ],
        "delivery_core": [
          "锁定基础音色，不因场景切换改变发声位置",
          "情绪变化优先通过力度和语速调整，不改人声底色"
        ],
        "casting_tags": [
          "角色",
          "未知性别呈现",
          "未知年龄感",
          "自然人声",
          "保持跨场景音色稳定",
          "吐字清晰"
        ],
        "voice_variants": [
          {
            "variant_id": "VO000043:default",
            "label": "常规对白",
            "pace": "medium",
            "pitch": "unknown",
            "timbre": [
              "自然人声",
              "保持跨场景音色稳定"
            ],
            "speaking_style": [
              "吐字清晰"
            ],
            "notes": "默认对白态，用于大多数正常交流场景。"
          },
          {
            "variant_id": "VO000043:low",
            "label": "低强度对白",
            "pace": "slow",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "压低力度"
            ],
            "notes": "适用于密谈、独白或收束段落。"
          },
          {
            "variant_id": "VO000043:high",
            "label": "高强度对白",
            "pace": "fast",
            "pitch": "unknown",
            "timbre": [
              "自然人声"
            ],
            "speaking_style": [
              "吐字清晰",
              "提高爆发力"
            ],
            "notes": "适用于冲突、喊叫或高压时刻。"
          }
        ],
        "asset_profile": {
          "asset_role": "character",
          "priority": "background",
          "required_visual_assets": [
            "角色主设图",
            "角色半身参考图"
          ],
          "optional_visual_assets": [],
          "required_voice_assets": [
            "基础音色样例",
            "情绪扩展样例"
          ],
          "usage_hints": [],
          "owner_candidates": [],
          "variant_keys": [
            "VC000043:costume:default",
            "VO000043:default",
            "VO000043:low",
            "VO000043:high"
          ],
          "prompt_fragments": [
            "公館訪客",
            "客人",
            "直到那客人走的"
          ],
          "notes": "Dramart 资产初始化建议位；先补主设，再逐步补变体与音色。"
        },
        "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": true,
          "needs_visual_seed_text": false,
          "needs_voice_seed_text": false,
          "required_visual_asset_count": 2,
          "required_voice_asset_count": 2,
          "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": true
        },
        "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": "ready",
        "init_action_reason": "当前信息已足够直接进入 Dramart 初始化",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [
            "EP0001B006"
          ],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "entity_uid": "E000043",
          "visual_card_id": "",
          "voice_card_id": "VO000043",
          "asset_binding_id": "AB000043"
        },
        "main_scene_candidates": [
          {
            "episode_id": "EP0001",
            "block_id": "EP0001B006",
            "title": "【闪回】继之告知主角将接办大关差使",
            "kind": "dialogue",
            "lead_scene_id": "S0012",
            "source_scene_ids": [
              "S0012"
            ],
            "source_group_ids": [
              "AG0006"
            ],
            "source_beat_ids": [
              "AB0006"
            ]
          }
        ]
      }
    ]
  },
  "asset_action_summary": {
    "characters": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 0,
      "ready": 22
    },
    "locations": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 0,
      "ready": 9
    },
    "props": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 0,
      "ready": 0
    },
    "voices": {
      "review_required": 0,
      "must_build": 0,
      "should_build": 0,
      "ready": 22
    }
  },
  "risk_summary": {
    "total_risk_item_count": 194,
    "risk_flag_count": 4,
    "flags": [
      {
        "flag": "visual_lock_gap",
        "count": 53,
        "asset_types": [
          "character",
          "location",
          "voice"
        ],
        "examples": [
          "九死一生",
          "伯父",
          "吳景曾",
          "候補道",
          "土老兒",
          "太太"
        ]
      },
      {
        "flag": "visual_reference_gap",
        "count": 53,
        "asset_types": [
          "character",
          "location",
          "voice"
        ],
        "examples": [
          "九死一生",
          "伯父",
          "吳景曾",
          "候補道",
          "土老兒",
          "太太"
        ]
      },
      {
        "flag": "voice_binding_gap",
        "count": 44,
        "asset_types": [
          "character",
          "voice"
        ],
        "examples": [
          "九死一生",
          "伯父",
          "吳景曾",
          "候補道",
          "土老兒",
          "太太"
        ]
      },
      {
        "flag": "voice_reference_gap",
        "count": 44,
        "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": "E000004",
      "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": "E000004",
      "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": "E000014",
      "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": "E000014",
      "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": "E000025",
      "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": "E000025",
      "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": "E000036",
      "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": "E000036",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0009",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：土老兒",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000027",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0010",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：土老兒",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000027",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0011",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：太太",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000019",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0012",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：太太",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000019",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0013",
      "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": "CHK0014",
      "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": "CHK0015",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：桂花",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000028",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0016",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：桂花",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000028",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0017",
      "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": "CHK0018",
      "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": "CHK0019",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：藩臺",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000035",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0020",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：藩臺",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000035",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0021",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：候補縣太爺",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000038",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0022",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：候補縣太爺",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000038",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0023",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：制臺",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000034",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0024",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：制臺",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000034",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0025",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：尤雲岫",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000010",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0026",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：尤雲岫",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000010",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0027",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：廣東人",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000016",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0028",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：廣東人",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000016",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0029",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：撫臺",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000033",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0030",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：撫臺",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000033",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0031",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：李氏",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000026",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0032",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：李氏",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000026",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0033",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：母親",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000015",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0034",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：母親",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000015",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0035",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：漢子",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000003",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0036",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：漢子",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000003",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0037",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：總督大帥",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000037",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0038",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：總督大帥",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000037",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0039",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：買辦",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000017",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0040",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：買辦",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000017",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0041",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：主人",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000042",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0042",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：主人",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000042",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0043",
      "category": "character_asset",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺参考图：客人",
      "detail": "该角色尚未提供 reference_images，Dramart 项目初始化时容易出现形象漂移。",
      "target_type": "character",
      "target_id": "E000043",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "先补主形象图，再决定是否做 LoRA 或角色锁定。"
    },
    {
      "check_id": "CHK0044",
      "category": "voice_binding",
      "severity": "warning",
      "status": "todo",
      "title": "角色缺音色绑定：客人",
      "detail": "该角色已有声音卡或语音角色设定，但还没有 provider voice 绑定。",
      "target_type": "character",
      "target_id": "E000043",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "在 Dramart 或配音侧先绑定稳定音色。"
    },
    {
      "check_id": "CHK0045",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：南京",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000013",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0046",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：上海",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000001",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0047",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：京城",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000031",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0048",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：四馬路",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000029",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0049",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：客棧",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000020",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0050",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：會香裡",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000030",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0051",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：杭州",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000012",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0052",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：蘇州",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000032",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0053",
      "category": "location_asset",
      "severity": "info",
      "status": "todo",
      "title": "场景建议补参考：邑廟豫園",
      "detail": "主场景尚未准备参考图，后续搭建分镜时可能缺乏统一视觉锚点。",
      "target_type": "location",
      "target_id": "E000006",
      "source_refs": [
        "EP0001"
      ],
      "recommended_action": "优先补一张主场景参考图或情绪板。"
    },
    {
      "check_id": "CHK0054",
      "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": "# ershinian_pg24099_ch1_4\n\n## 故事大纲\n故事核心：死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n核心钩子：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…\n\n## 主要人物\n- 九死一生：核心角色\n- 伯父（剧本中亦作：令伯）：主要角色\n- 吳景曾（剧本中亦作：繼之）：主要角色\n- 候補道（剧本中亦作：夫人 / 尊夫人 / 婦人）：亦称候補道夫人\n- 土老兒：主要角色\n- 太太（剧本中亦作：伯母 / 姨太太）：主要角色\n- 張鼎臣（剧本中亦作：世伯 / 鼎臣）：处理父亲后事\n- 桂花（剧本中亦作：黃魚）：主要角色\n\n## 分集导览\n- 第01集 不許再娶別人”，并立刻行动（除…：死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n\n## 正文剧本\n\n# 第01集 不許再娶別人”，并立刻行动（除…\n\n本集围绕死裡逃生、伯父、太太、候補道、藩臺、九死一生、桂花、吳景曾、制臺、客人、土老兒、張鼎臣展开，主要场面落在上海、四馬路、邑廟豫園、南京、杭州、客棧、會香裡、京城。死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。\n本集看点集中在“死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…”，并收在“这是他首次直观感受到表面身份与背后权力可能不符的官场现实。”。\n\n## 场次01 【闪回】上海繁华与堕落的社会风貌描述\n\n这一场属于回忆时间层，场面落在上海、四馬路、邑廟豫園，出场人物有死裡逃生、九死一生、漢子。\n这一场先把死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将推到台前。\n场面里先见上海繁华与堕落的社会风貌描述，紧跟着把死裡逃生在豫园获赠《二十年目睹之怪现状》手稿压出来。\n临到场尾，死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时。\n本场推进：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将，个人良知与社会腐化的冲突（死裡逃生对上海虚伪生活的厌恶 vs. 无处容身的迷茫），知识传播的使命与个人无力感的冲突。\n场面目标：高效建立故事发生的时代背景（腐败的晚清上海）和叙事框架（‘死裡逃生’获得并决定传播‘九死一生’的笔记），奠定全剧讽刺、揭露的基调。\n必留动作：上海繁华与堕落的社会风貌描述；死裡逃生在豫园获赠《二十年目睹之怪现状》手稿；手稿作者署名为‘九死一生’；死裡逃生决定将手稿寄往横滨《新小说》发表。\n连续抓手：时间模式：flashback（倒叙开场）；时间锚点：‘六十年前’需通过旁白或字幕明确；角色引入：死裡逃生（叙述者/传递者）、九死一生（隐含作者）；关键道具：《二十年目睹之怪现状》手稿的首次出现。\n前后承接上，要把flashback（倒叙开场）与‘六十年前’需通过旁白或字幕明确继续压在同一股气口里。\n\n（上海）\n死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时，内心受到巨大触动，决定担负起传播之责。\n死裡逃生抬头盯住眼前动静，脚下已经往前迈了出去。\n死裡逃生：九死一生。\n上海繁华与堕落的社会风貌描述。\n死裡逃生决定将手稿寄往横滨《新小说》发表。\n\n## 场次02 【闪回】九死一生决定请伯父\n\n这一场属于回忆时间层，场面落在南京、上海、杭州，出场人物有尤雲岫、張鼎臣、九死一生、伯父、死裡逃生、母親、廣東人、買辦。\n这一场先把本段概述：小说第二回标题：守常经不使疏逾戚，睹怪状几疑贼是官推到台前。\n场面里先见标题的悬疑与讽刺基调，紧跟着把父亲病逝杭州的噩耗压出来。\n临到场尾，主角听从母亲建议，独自前往南京寻伯父。\n本场推进：表面秩序（守常经）与潜在混乱（怪状、贼官难辨）的暗示性对立，主角听从母亲建议，独自前往南京寻伯父。\n场面目标：塑造主角初显文才与得到长辈认可的形象，同时通过财务处理与寻亲受挫展现其面临的现实困境，并以船上事件暗示官场腐败，增强故事悬念。\n必留动作：第二回标题文字；标题的悬疑与讽刺基调；父亲病逝杭州的噩耗；尤云岫受托伴行；张鼎臣询问后事主意并暗示尤云岫不可靠。\n连续抓手：紧接S0001之后；保持叙事流的顺畅过渡；保持flashback结构；时间锚点“十五岁那年”\n前后承接上，要把紧接S0001之后与保持叙事流的顺畅过渡继续压在同一股气口里。\n\n（南京）\n主角听从母亲建议，独自前往南京寻伯父。\n父亲病逝杭州的噩耗。\n尤云岫受托伴行。\n张鼎臣询问后事主意并暗示尤云岫不可靠。\n表面秩序与潜在混乱的暗示性对立。\n小说第二回标题：守常经不使疏逾戚。\n\n## 场次03 【闪回】主角盘缠将尽的窘境\n\n这一场属于回忆时间层，场面落在南京、上海、客棧、四馬路、會香裡，出场人物有伯父、李氏、藩臺、土老兒、吳景曾、太太、候補道、桂花。\n这一场先把【闪回】主角盘缠将尽的窘境推到台前。\n场面里先见“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示，紧跟着把主角盘缠将尽的窘境压出来。\n临到场尾，桂花提出“只要你娶了我做填房，不許再娶別人”\n本场推进：无直接人物冲突，是叙事结构（传统标题形式）与影视化流畅呈现之间的张力，桂花提出“只要你娶了我做填房，不許再娶別人”，并立刻行动（除招牌、关大门、改称呼），将劝捐的谋划落实为实际的婚姻与身份改变。\n场面目标：在继之与“我”的对话框架内，生动呈现桂花劝捐官这一讽刺故事，既推进主线人物关系（继之分享见闻），又以支线故事影射社会现实。\n必留动作：第三回标题文字；“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示；主角盘缠将尽的窘境；街头偶遇吴继之的惊喜与识别过程；吴继之邀请主角搬入公馆。\n连续抓手：承接S0004场景的情绪或状态；保持叙事顺序与故事顺序差（order_delta: 1）；保持flashback结构，与S0005衔接；主角服装、精神状态与前期一致。\n前后承接上，要把承接S0004场景的情绪或状态与保持叙事顺序与故事顺序差（order_…继续压在同一股气口里。\n\n（南京）\n伯父：只要你娶了我做填房，不許再娶別人。\n街头偶遇吴继之的惊喜与识别。\n桂花盘问家境劝其捐官。\n主角盘缠将尽的窘境。\n街头偶遇吴继之的惊喜与识别过程。\n吴继之邀请主角搬入公馆。\n\n## 场次04 【闪回】桂花为土老儿捐官谋差\n\n这一场属于回忆时间层，场面落在南京、京城、會香裡、蘇州，出场人物有藩臺、制臺、土老兒、桂花、撫臺、吳景曾、候補道。\n这一场先把桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人推到台前。\n场面里先见桂花为土老儿捐官谋差，紧跟着把藩台识破真相压出来。\n临到场尾，藩台接到京城回电，识破桂花与土老儿的底细。\n本场推进：桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人，桂花（精明、有野心）与土老儿（愚钝、不争气）的内在矛盾，虚假身份与官场现实的冲突，藩台接到京城回电，识破桂花与土老儿的底细。\n场面目标：通过旁白叙述与画面蒙太奇，高效、讽刺地呈现“野鸡道台”事件的完整经过，突出官场荒诞与人物命运的意外转折。\n必留动作：桂花为土老儿捐官谋差；藩台识破真相；桂花成为诰封夫人；继之作为讲述者；故事以“野鸡道台的历史”作结。\n连续抓手：保持flashback结构；继之的讲述视角；与S0007场景的衔接；时间锚点“想起”\n前后承接上，要把保持flashback结构与继之的讲述视角继续压在同一股气口里。\n\n（南京）\n桂花：野鸡道台的历史。\n候補道：话已经压到这里，“野鸡道台的历史”总该给我一句准信。\n桂花为土老儿捐官谋差。\n藩台识破真相。\n藩台接到京城回电，识破桂花与土老儿的底细。\n桂花成为诰封夫人。\n候補道：野鸡道台的历史。\n\n## 场次05 继之作为讲述者\n\n场面落在南京、京城、客棧，出场人物有候補道、太太、制臺、吳景曾、候補縣太爺、藩臺、總督大帥、買辦。\n这一场先把繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現推到台前。\n场面里先见继之作为讲述者，紧跟着把候补道献妻治病的核心情节压出来。\n临到场尾，继之点破“令伯这种行径，不定是有意回避你的了”\n本场推进：繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現，候补道为巴结上司而献妻的卑劣手段，与姨太太们维护自身地位/尊严之间的冲突，本质是官场腐败与家庭伦理的碰撞。\n场面目标：通过生动的对话和闪回画面，将一则官场丑闻以讽刺喜剧的方式呈现，强化故事的荒诞感，并塑造继之敏锐的观察者和评论者形象。\n必留动作：继之作为讲述者；候补道献妻治病的核心情节；按摩丑事被姨太太们发现；姨太太们围殴的闹剧场面；事件传遍南京城的讽刺性结尾。\n连续抓手：继之与“我”的对话连续性；候补道人物后续提及（C0010）；与前序场景（S0009）的叙事节奏衔接；为后续场景（S0011）建立新的章节预期。\n前后承接上，要把继之与“我”的对话连续性与候补道人物后续提及（C0010）继续压在同一股气口里。\n\n（南京）\n太太：令伯这种行径，不定是有意回避你的了。\n继之作为讲述者。\n按摩丑事被姨太太们发现。\n姨太太们围殴的闹剧场面。\n候補道：令伯这种行径，不定是有意回避你的了。\n繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現。\n\n## 场次06 【闪回】继之告知主角将接办大关差使\n\n这一场属于回忆时间层，场面落在上海，出场人物有伯父、藩臺、主人、客人、母親、吳景曾、太太。\n这一场先把继之告知主角将接办大关差使，并为其安排书启职位推到台前。\n场面里先见继之告知主角将接办大关差使，紧跟着把继之为主角安排书启职位并借银压出来。\n临到场尾，主角目睹神秘客人被恭敬送出的时刻。\n本场推进：继之告知主角将接办大关差使，并为其安排书启职位，主角对伯父真实去向的怀疑与门房掩饰之间的信息冲突，平民打扮的神秘客人与高官主人之间反常的尊卑关系所暗示的潜在权力博弈。\n场面目标：通过对话推进主角的职业安排和家庭疑云，并引入一个象征官场权力关系的神秘场景。\n必留动作：继之告知主角将接办大关差使；继之为主角安排书启职位并借银；主角前往伯父公馆打听行踪未果；主角偶遇神秘客人及主人恭敬送客的场面。\n连续抓手：保持倒叙（flashback）的时间模式；保留“二十年前”的时间锚点；确保伯父、继之等角色形象连贯。\n前后承接上，要把保持倒叙（flashback）的时间模式与保留“二十年前”的时间锚点继续压在同一股气口里。\n\n（上海）\n继之告知主角将接办大关差使。\n继之为主角安排书启职位并借银。\n主角前往伯父公馆打听行踪未果。\n主角偶遇神秘客人及主人恭敬送客的场面。\n主角目睹神秘客人被恭敬送出的时刻。\n主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
    "upload_ready": true,
    "recommended_upload_mode": "single_file",
    "validation": {
      "max_chars_per_upload": 100000,
      "single_file_char_count": 4563,
      "single_file_within_limit": true,
      "episode_count": 1,
      "part_count": 1,
      "oversized_episode_count": 0,
      "oversized_part_count": 0,
      "source_screenplay_generation_status": "ok",
      "source_screenplay_blocked_block_count": 0,
      "source_screenplay_blocked_episode_count": 0,
      "source_screenplay_placeholder_block_count": 0
    },
    "source_screenplay_generation": {
      "generation_status": "ok",
      "blocked_block_count": 0,
      "blocked_episode_count": 0,
      "placeholder_block_count": 0,
      "generation_error_kinds": []
    },
    "episode_uploads": [
      {
        "episode_id": "EP0001",
        "title": "第01集 不許再娶別人”，并立刻行动（除…",
        "filename": "03e_dramart_upload_EP0001.md",
        "char_count": 4160,
        "block_count": 6,
        "time_modes": [
          "flashback",
          "mainline"
        ],
        "source_scene_ids": [
          "S0001",
          "S0004",
          "S0007",
          "S0008",
          "S0009",
          "S0012"
        ],
        "source_group_ids": [
          "AG0001",
          "AG0002",
          "AG0003",
          "AG0004",
          "AG0005",
          "AG0006"
        ],
        "source_beat_ids": [
          "AB0001",
          "AB0002",
          "AB0003",
          "AB0004",
          "AB0005",
          "AB0006"
        ],
        "markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\n\n本集围绕死裡逃生、伯父、太太、候補道、藩臺、九死一生、桂花、吳景曾、制臺、客人、土老兒、張鼎臣展开，主要场面落在上海、四馬路、邑廟豫園、南京、杭州、客棧、會香裡、京城。死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。\n本集看点集中在“死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…”，并收在“这是他首次直观感受到表面身份与背后权力可能不符的官场现实。”。\n\n## 场次01 【闪回】上海繁华与堕落的社会风貌描述\n\n这一场属于回忆时间层，场面落在上海、四馬路、邑廟豫園，出场人物有死裡逃生、九死一生、漢子。\n这一场先把死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将推到台前。\n场面里先见上海繁华与堕落的社会风貌描述，紧跟着把死裡逃生在豫园获赠《二十年目睹之怪现状》手稿压出来。\n临到场尾，死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时。\n本场推进：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将，个人良知与社会腐化的冲突（死裡逃生对上海虚伪生活的厌恶 vs. 无处容身的迷茫），知识传播的使命与个人无力感的冲突。\n场面目标：高效建立故事发生的时代背景（腐败的晚清上海）和叙事框架（‘死裡逃生’获得并决定传播‘九死一生’的笔记），奠定全剧讽刺、揭露的基调。\n必留动作：上海繁华与堕落的社会风貌描述；死裡逃生在豫园获赠《二十年目睹之怪现状》手稿；手稿作者署名为‘九死一生’；死裡逃生决定将手稿寄往横滨《新小说》发表。\n连续抓手：时间模式：flashback（倒叙开场）；时间锚点：‘六十年前’需通过旁白或字幕明确；角色引入：死裡逃生（叙述者/传递者）、九死一生（隐含作者）；关键道具：《二十年目睹之怪现状》手稿的首次出现。\n前后承接上，要把flashback（倒叙开场）与‘六十年前’需通过旁白或字幕明确继续压在同一股气口里。\n\n（上海）\n死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时，内心受到巨大触动，决定担负起传播之责。\n死裡逃生抬头盯住眼前动静，脚下已经往前迈了出去。\n死裡逃生：九死一生。\n上海繁华与堕落的社会风貌描述。\n死裡逃生决定将手稿寄往横滨《新小说》发表。\n\n## 场次02 【闪回】九死一生决定请伯父\n\n这一场属于回忆时间层，场面落在南京、上海、杭州，出场人物有尤雲岫、張鼎臣、九死一生、伯父、死裡逃生、母親、廣東人、買辦。\n这一场先把本段概述：小说第二回标题：守常经不使疏逾戚，睹怪状几疑贼是官推到台前。\n场面里先见标题的悬疑与讽刺基调，紧跟着把父亲病逝杭州的噩耗压出来。\n临到场尾，主角听从母亲建议，独自前往南京寻伯父。\n本场推进：表面秩序（守常经）与潜在混乱（怪状、贼官难辨）的暗示性对立，主角听从母亲建议，独自前往南京寻伯父。\n场面目标：塑造主角初显文才与得到长辈认可的形象，同时通过财务处理与寻亲受挫展现其面临的现实困境，并以船上事件暗示官场腐败，增强故事悬念。\n必留动作：第二回标题文字；标题的悬疑与讽刺基调；父亲病逝杭州的噩耗；尤云岫受托伴行；张鼎臣询问后事主意并暗示尤云岫不可靠。\n连续抓手：紧接S0001之后；保持叙事流的顺畅过渡；保持flashback结构；时间锚点“十五岁那年”\n前后承接上，要把紧接S0001之后与保持叙事流的顺畅过渡继续压在同一股气口里。\n\n（南京）\n主角听从母亲建议，独自前往南京寻伯父。\n父亲病逝杭州的噩耗。\n尤云岫受托伴行。\n张鼎臣询问后事主意并暗示尤云岫不可靠。\n表面秩序与潜在混乱的暗示性对立。\n小说第二回标题：守常经不使疏逾戚。\n\n## 场次03 【闪回】主角盘缠将尽的窘境\n\n这一场属于回忆时间层，场面落在南京、上海、客棧、四馬路、會香裡，出场人物有伯父、李氏、藩臺、土老兒、吳景曾、太太、候補道、桂花。\n这一场先把【闪回】主角盘缠将尽的窘境推到台前。\n场面里先见“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示，紧跟着把主角盘缠将尽的窘境压出来。\n临到场尾，桂花提出“只要你娶了我做填房，不許再娶別人”\n本场推进：无直接人物冲突，是叙事结构（传统标题形式）与影视化流畅呈现之间的张力，桂花提出“只要你娶了我做填房，不許再娶別人”，并立刻行动（除招牌、关大门、改称呼），将劝捐的谋划落实为实际的婚姻与身份改变。\n场面目标：在继之与“我”的对话框架内，生动呈现桂花劝捐官这一讽刺故事，既推进主线人物关系（继之分享见闻），又以支线故事影射社会现实。\n必留动作：第三回标题文字；“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示；主角盘缠将尽的窘境；街头偶遇吴继之的惊喜与识别过程；吴继之邀请主角搬入公馆。\n连续抓手：承接S0004场景的情绪或状态；保持叙事顺序与故事顺序差（order_delta: 1）；保持flashback结构，与S0005衔接；主角服装、精神状态与前期一致。\n前后承接上，要把承接S0004场景的情绪或状态与保持叙事顺序与故事顺序差（order_…继续压在同一股气口里。\n\n（南京）\n伯父：只要你娶了我做填房，不許再娶別人。\n街头偶遇吴继之的惊喜与识别。\n桂花盘问家境劝其捐官。\n主角盘缠将尽的窘境。\n街头偶遇吴继之的惊喜与识别过程。\n吴继之邀请主角搬入公馆。\n\n## 场次04 【闪回】桂花为土老儿捐官谋差\n\n这一场属于回忆时间层，场面落在南京、京城、會香裡、蘇州，出场人物有藩臺、制臺、土老兒、桂花、撫臺、吳景曾、候補道。\n这一场先把桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人推到台前。\n场面里先见桂花为土老儿捐官谋差，紧跟着把藩台识破真相压出来。\n临到场尾，藩台接到京城回电，识破桂花与土老儿的底细。\n本场推进：桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人，桂花（精明、有野心）与土老儿（愚钝、不争气）的内在矛盾，虚假身份与官场现实的冲突，藩台接到京城回电，识破桂花与土老儿的底细。\n场面目标：通过旁白叙述与画面蒙太奇，高效、讽刺地呈现“野鸡道台”事件的完整经过，突出官场荒诞与人物命运的意外转折。\n必留动作：桂花为土老儿捐官谋差；藩台识破真相；桂花成为诰封夫人；继之作为讲述者；故事以“野鸡道台的历史”作结。\n连续抓手：保持flashback结构；继之的讲述视角；与S0007场景的衔接；时间锚点“想起”\n前后承接上，要把保持flashback结构与继之的讲述视角继续压在同一股气口里。\n\n（南京）\n桂花：野鸡道台的历史。\n候補道：话已经压到这里，“野鸡道台的历史”总该给我一句准信。\n桂花为土老儿捐官谋差。\n藩台识破真相。\n藩台接到京城回电，识破桂花与土老儿的底细。\n桂花成为诰封夫人。\n候補道：野鸡道台的历史。\n\n## 场次05 继之作为讲述者\n\n场面落在南京、京城、客棧，出场人物有候補道、太太、制臺、吳景曾、候補縣太爺、藩臺、總督大帥、買辦。\n这一场先把繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現推到台前。\n场面里先见继之作为讲述者，紧跟着把候补道献妻治病的核心情节压出来。\n临到场尾，继之点破“令伯这种行径，不定是有意回避你的了”\n本场推进：繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現，候补道为巴结上司而献妻的卑劣手段，与姨太太们维护自身地位/尊严之间的冲突，本质是官场腐败与家庭伦理的碰撞。\n场面目标：通过生动的对话和闪回画面，将一则官场丑闻以讽刺喜剧的方式呈现，强化故事的荒诞感，并塑造继之敏锐的观察者和评论者形象。\n必留动作：继之作为讲述者；候补道献妻治病的核心情节；按摩丑事被姨太太们发现；姨太太们围殴的闹剧场面；事件传遍南京城的讽刺性结尾。\n连续抓手：继之与“我”的对话连续性；候补道人物后续提及（C0010）；与前序场景（S0009）的叙事节奏衔接；为后续场景（S0011）建立新的章节预期。\n前后承接上，要把继之与“我”的对话连续性与候补道人物后续提及（C0010）继续压在同一股气口里。\n\n（南京）\n太太：令伯这种行径，不定是有意回避你的了。\n继之作为讲述者。\n按摩丑事被姨太太们发现。\n姨太太们围殴的闹剧场面。\n候補道：令伯这种行径，不定是有意回避你的了。\n繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現。\n\n## 场次06 【闪回】继之告知主角将接办大关差使\n\n这一场属于回忆时间层，场面落在上海，出场人物有伯父、藩臺、主人、客人、母親、吳景曾、太太。\n这一场先把继之告知主角将接办大关差使，并为其安排书启职位推到台前。\n场面里先见继之告知主角将接办大关差使，紧跟着把继之为主角安排书启职位并借银压出来。\n临到场尾，主角目睹神秘客人被恭敬送出的时刻。\n本场推进：继之告知主角将接办大关差使，并为其安排书启职位，主角对伯父真实去向的怀疑与门房掩饰之间的信息冲突，平民打扮的神秘客人与高官主人之间反常的尊卑关系所暗示的潜在权力博弈。\n场面目标：通过对话推进主角的职业安排和家庭疑云，并引入一个象征官场权力关系的神秘场景。\n必留动作：继之告知主角将接办大关差使；继之为主角安排书启职位并借银；主角前往伯父公馆打听行踪未果；主角偶遇神秘客人及主人恭敬送客的场面。\n连续抓手：保持倒叙（flashback）的时间模式；保留“二十年前”的时间锚点；确保伯父、继之等角色形象连贯。\n前后承接上，要把保持倒叙（flashback）的时间模式与保留“二十年前”的时间锚点继续压在同一股气口里。\n\n（上海）\n继之告知主角将接办大关差使。\n继之为主角安排书启职位并借银。\n主角前往伯父公馆打听行踪未果。\n主角偶遇神秘客人及主人恭敬送客的场面。\n主角目睹神秘客人被恭敬送出的时刻。\n主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "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": 4160,
        "within_limit": true,
        "markdown": "# 第01集 不許再娶別人”，并立刻行动（除…\n\n本集围绕死裡逃生、伯父、太太、候補道、藩臺、九死一生、桂花、吳景曾、制臺、客人、土老兒、張鼎臣展开，主要场面落在上海、四馬路、邑廟豫園、南京、杭州、客棧、會香裡、京城。死裡逃生在上海豫园遇到神秘汉子，主角目睹神秘客人被恭敬送出的时刻，个人良知与社会腐化的冲突（死裡逃生…\n高效建立故事发生的时代背景（腐败的晚清上海…，个人良知与社会腐化的冲突（死裡逃生对上海虚…，死裡逃生在豫园从神秘汉子手中获赠手稿。\n本集看点集中在“死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现…”，并收在“这是他首次直观感受到表面身份与背后权力可能不符的官场现实。”。\n\n## 场次01 【闪回】上海繁华与堕落的社会风貌描述\n\n这一场属于回忆时间层，场面落在上海、四馬路、邑廟豫園，出场人物有死裡逃生、九死一生、漢子。\n这一场先把死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将推到台前。\n场面里先见上海繁华与堕落的社会风貌描述，紧跟着把死裡逃生在豫园获赠《二十年目睹之怪现状》手稿压出来。\n临到场尾，死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时。\n本场推进：死裡逃生在上海豫园遇到神秘汉子，获赠《二十年目睹之怪现状》手稿，决定将，个人良知与社会腐化的冲突（死裡逃生对上海虚伪生活的厌恶 vs. 无处容身的迷茫），知识传播的使命与个人无力感的冲突。\n场面目标：高效建立故事发生的时代背景（腐败的晚清上海）和叙事框架（‘死裡逃生’获得并决定传播‘九死一生’的笔记），奠定全剧讽刺、揭露的基调。\n必留动作：上海繁华与堕落的社会风貌描述；死裡逃生在豫园获赠《二十年目睹之怪现状》手稿；手稿作者署名为‘九死一生’；死裡逃生决定将手稿寄往横滨《新小说》发表。\n连续抓手：时间模式：flashback（倒叙开场）；时间锚点：‘六十年前’需通过旁白或字幕明确；角色引入：死裡逃生（叙述者/传递者）、九死一生（隐含作者）；关键道具：《二十年目睹之怪现状》手稿的首次出现。\n前后承接上，要把flashback（倒叙开场）与‘六十年前’需通过旁白或字幕明确继续压在同一股气口里。\n\n（上海）\n死裡逃生在豫园从神秘汉子手中获赠手稿，并看到作者署名‘九死一生’时，内心受到巨大触动，决定担负起传播之责。\n死裡逃生抬头盯住眼前动静，脚下已经往前迈了出去。\n死裡逃生：九死一生。\n上海繁华与堕落的社会风貌描述。\n死裡逃生决定将手稿寄往横滨《新小说》发表。\n\n## 场次02 【闪回】九死一生决定请伯父\n\n这一场属于回忆时间层，场面落在南京、上海、杭州，出场人物有尤雲岫、張鼎臣、九死一生、伯父、死裡逃生、母親、廣東人、買辦。\n这一场先把本段概述：小说第二回标题：守常经不使疏逾戚，睹怪状几疑贼是官推到台前。\n场面里先见标题的悬疑与讽刺基调，紧跟着把父亲病逝杭州的噩耗压出来。\n临到场尾，主角听从母亲建议，独自前往南京寻伯父。\n本场推进：表面秩序（守常经）与潜在混乱（怪状、贼官难辨）的暗示性对立，主角听从母亲建议，独自前往南京寻伯父。\n场面目标：塑造主角初显文才与得到长辈认可的形象，同时通过财务处理与寻亲受挫展现其面临的现实困境，并以船上事件暗示官场腐败，增强故事悬念。\n必留动作：第二回标题文字；标题的悬疑与讽刺基调；父亲病逝杭州的噩耗；尤云岫受托伴行；张鼎臣询问后事主意并暗示尤云岫不可靠。\n连续抓手：紧接S0001之后；保持叙事流的顺畅过渡；保持flashback结构；时间锚点“十五岁那年”\n前后承接上，要把紧接S0001之后与保持叙事流的顺畅过渡继续压在同一股气口里。\n\n（南京）\n主角听从母亲建议，独自前往南京寻伯父。\n父亲病逝杭州的噩耗。\n尤云岫受托伴行。\n张鼎臣询问后事主意并暗示尤云岫不可靠。\n表面秩序与潜在混乱的暗示性对立。\n小说第二回标题：守常经不使疏逾戚。\n\n## 场次03 【闪回】主角盘缠将尽的窘境\n\n这一场属于回忆时间层，场面落在南京、上海、客棧、四馬路、會香裡，出场人物有伯父、李氏、藩臺、土老兒、吳景曾、太太、候補道、桂花。\n这一场先把【闪回】主角盘缠将尽的窘境推到台前。\n场面里先见“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示，紧跟着把主角盘缠将尽的窘境压出来。\n临到场尾，桂花提出“只要你娶了我做填房，不許再娶別人”\n本场推进：无直接人物冲突，是叙事结构（传统标题形式）与影视化流畅呈现之间的张力，桂花提出“只要你娶了我做填房，不許再娶別人”，并立刻行动（除招牌、关大门、改称呼），将劝捐的谋划落实为实际的婚姻与身份改变。\n场面目标：在继之与“我”的对话框架内，生动呈现桂花劝捐官这一讽刺故事，既推进主线人物关系（继之分享见闻），又以支线故事影射社会现实。\n必留动作：第三回标题文字；“走穷途忽遇良朋，谈仁路初闻怪状”的核心预示；主角盘缠将尽的窘境；街头偶遇吴继之的惊喜与识别过程；吴继之邀请主角搬入公馆。\n连续抓手：承接S0004场景的情绪或状态；保持叙事顺序与故事顺序差（order_delta: 1）；保持flashback结构，与S0005衔接；主角服装、精神状态与前期一致。\n前后承接上，要把承接S0004场景的情绪或状态与保持叙事顺序与故事顺序差（order_…继续压在同一股气口里。\n\n（南京）\n伯父：只要你娶了我做填房，不許再娶別人。\n街头偶遇吴继之的惊喜与识别。\n桂花盘问家境劝其捐官。\n主角盘缠将尽的窘境。\n街头偶遇吴继之的惊喜与识别过程。\n吴继之邀请主角搬入公馆。\n\n## 场次04 【闪回】桂花为土老儿捐官谋差\n\n这一场属于回忆时间层，场面落在南京、京城、會香裡、蘇州，出场人物有藩臺、制臺、土老兒、桂花、撫臺、吳景曾、候補道。\n这一场先把桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人推到台前。\n场面里先见桂花为土老儿捐官谋差，紧跟着把藩台识破真相压出来。\n临到场尾，藩台接到京城回电，识破桂花与土老儿的底细。\n本场推进：桂花带土老儿捐官谋差，因土老儿不争气被识破，桂花却成了诰封夫人，桂花（精明、有野心）与土老儿（愚钝、不争气）的内在矛盾，虚假身份与官场现实的冲突，藩台接到京城回电，识破桂花与土老儿的底细。\n场面目标：通过旁白叙述与画面蒙太奇，高效、讽刺地呈现“野鸡道台”事件的完整经过，突出官场荒诞与人物命运的意外转折。\n必留动作：桂花为土老儿捐官谋差；藩台识破真相；桂花成为诰封夫人；继之作为讲述者；故事以“野鸡道台的历史”作结。\n连续抓手：保持flashback结构；继之的讲述视角；与S0007场景的衔接；时间锚点“想起”\n前后承接上，要把保持flashback结构与继之的讲述视角继续压在同一股气口里。\n\n（南京）\n桂花：野鸡道台的历史。\n候補道：话已经压到这里，“野鸡道台的历史”总该给我一句准信。\n桂花为土老儿捐官谋差。\n藩台识破真相。\n藩台接到京城回电，识破桂花与土老儿的底细。\n桂花成为诰封夫人。\n候補道：野鸡道台的历史。\n\n## 场次05 继之作为讲述者\n\n场面落在南京、京城、客棧，出场人物有候補道、太太、制臺、吳景曾、候補縣太爺、藩臺、總督大帥、買辦。\n这一场先把繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現推到台前。\n场面里先见继之作为讲述者，紧跟着把候补道献妻治病的核心情节压出来。\n临到场尾，继之点破“令伯这种行径，不定是有意回避你的了”\n本场推进：繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現，候补道为巴结上司而献妻的卑劣手段，与姨太太们维护自身地位/尊严之间的冲突，本质是官场腐败与家庭伦理的碰撞。\n场面目标：通过生动的对话和闪回画面，将一则官场丑闻以讽刺喜剧的方式呈现，强化故事的荒诞感，并塑造继之敏锐的观察者和评论者形象。\n必留动作：继之作为讲述者；候补道献妻治病的核心情节；按摩丑事被姨太太们发现；姨太太们围殴的闹剧场面；事件传遍南京城的讽刺性结尾。\n连续抓手：继之与“我”的对话连续性；候补道人物后续提及（C0010）；与前序场景（S0009）的叙事节奏衔接；为后续场景（S0011）建立新的章节预期。\n前后承接上，要把继之与“我”的对话连续性与候补道人物后续提及（C0010）继续压在同一股气口里。\n\n（南京）\n太太：令伯这种行径，不定是有意回避你的了。\n继之作为讲述者。\n按摩丑事被姨太太们发现。\n姨太太们围殴的闹剧场面。\n候補道：令伯这种行径，不定是有意回避你的了。\n繼之講述前兩年制臺生病，一位候補道獻上妻子為其按摩，結果被姨太太們發現。\n\n## 场次06 【闪回】继之告知主角将接办大关差使\n\n这一场属于回忆时间层，场面落在上海，出场人物有伯父、藩臺、主人、客人、母親、吳景曾、太太。\n这一场先把继之告知主角将接办大关差使，并为其安排书启职位推到台前。\n场面里先见继之告知主角将接办大关差使，紧跟着把继之为主角安排书启职位并借银压出来。\n临到场尾，主角目睹神秘客人被恭敬送出的时刻。\n本场推进：继之告知主角将接办大关差使，并为其安排书启职位，主角对伯父真实去向的怀疑与门房掩饰之间的信息冲突，平民打扮的神秘客人与高官主人之间反常的尊卑关系所暗示的潜在权力博弈。\n场面目标：通过对话推进主角的职业安排和家庭疑云，并引入一个象征官场权力关系的神秘场景。\n必留动作：继之告知主角将接办大关差使；继之为主角安排书启职位并借银；主角前往伯父公馆打听行踪未果；主角偶遇神秘客人及主人恭敬送客的场面。\n连续抓手：保持倒叙（flashback）的时间模式；保留“二十年前”的时间锚点；确保伯父、继之等角色形象连贯。\n前后承接上，要把保持倒叙（flashback）的时间模式与保留“二十年前”的时间锚点继续压在同一股气口里。\n\n（上海）\n继之告知主角将接办大关差使。\n继之为主角安排书启职位并借银。\n主角前往伯父公馆打听行踪未果。\n主角偶遇神秘客人及主人恭敬送客的场面。\n主角目睹神秘客人被恭敬送出的时刻。\n主角目睹神秘客人被恭敬送出的时刻，这是他首次直观感受到表面身份与背后权力可能不符的官场现实。",
        "source_ref": {
          "episode_ids": [
            "EP0001"
          ],
          "block_ids": [],
          "source_scene_ids": [
            "S0001",
            "S0004",
            "S0007",
            "S0008",
            "S0009",
            "S0012"
          ],
          "source_group_ids": [
            "AG0001",
            "AG0002",
            "AG0003",
            "AG0004",
            "AG0005",
            "AG0006"
          ],
          "source_beat_ids": [
            "AB0001",
            "AB0002",
            "AB0003",
            "AB0004",
            "AB0005",
            "AB0006"
          ],
          "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",
        "S0004",
        "S0007",
        "S0008",
        "S0009",
        "S0012"
      ],
      "source_group_ids": [
        "AG0001",
        "AG0002",
        "AG0003",
        "AG0004",
        "AG0005",
        "AG0006"
      ],
      "source_beat_ids": [
        "AB0001",
        "AB0002",
        "AB0003",
        "AB0004",
        "AB0005",
        "AB0006"
      ],
      "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": 6,
      "character_bio_count": 22,
      "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": 4563,
      "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,
      "source_screenplay_generation_status": "ok",
      "source_screenplay_blocked_block_count": 0,
      "source_screenplay_blocked_episode_count": 0,
      "source_screenplay_placeholder_block_count": 0
    },
    "readiness_issues": [
      {
        "code": "non_mainline_time_mode",
        "severity": "info",
        "title": "存在非主线时间层",
        "detail": "当前剧本包含回忆、梦境或并行线等时间层，上传时建议显式标注，以免平台误解时态切换。",
        "target_type": "package",
        "target_id": "",
        "source_refs": [
          "flashback"
        ],
        "recommended_action": "在分集标题、场次标题或正文中显式提示时间层切换。"
      }
    ]
  }
}