{
  "version": "screenplay_writing_strategy.v1",
  "generated_at": "2026-04-11T12:57:46.931423Z",
  "meta": {
    "candidate_run_dir": "/wwwb/aitools/writer/outputs/hongloumeng_acceptance_smoke_20260331_v1",
    "screenplay_path": "/wwwb/aitools/writer/outputs/hongloumeng_acceptance_smoke_20260331_v1/03d_screenplay.json",
    "consultant_path": "outputs/script_consultant/script_consultant_current.json",
    "screenplay_contract_version": "screenplay.v2"
  },
  "strategy_contract": [
    {
      "rule_id": "retain_subject_anchor",
      "layer": "screenplay_text",
      "severity": "fail",
      "description": "当 block 已绑定角色时，正文应显式保留至少一个角色主体锚点，避免主体在前链即被抹平。"
    },
    {
      "rule_id": "retain_action_anchor",
      "layer": "screenplay_text",
      "severity": "warn",
      "description": "正文应包含可表演的动作锚点，而不是只有抽象结果或背景说明。"
    },
    {
      "rule_id": "retain_location_anchor",
      "layer": "screenplay_text_or_stage_direction",
      "severity": "warn",
      "description": "当 block 已绑定地点时，正文或短舞台提示应保留地点锚点，支撑下游空间理解。"
    },
    {
      "rule_id": "dialogue_attribution_ready",
      "layer": "screenplay_text",
      "severity": "fail",
      "description": "当正文写入直接引语时，必须保留可识别的说话人归属，避免对白内容可读但说话者不清。"
    },
    {
      "rule_id": "avoid_abstract_summary_prose",
      "layer": "precheck",
      "severity": "warn",
      "description": "避免把正文写成编年摘要、流程梗概、模板占位句或抽象压力标签，降低后续 prompt retention 修补压力。"
    }
  ],
  "consultant_focus": {
    "used": true,
    "source_path": "outputs/script_consultant/script_consultant_current.json",
    "confidence": "high",
    "writing_direction": [
      "基于已验证的高收益repair动作反向定义剧本写作前置规范，从源头减少后续repair成本",
      "推行Dramart结构化要求与Seedance 2.0镜头生成要求双对齐的写作标准",
      "优先落地可被prompt_guard自动校验的通用写作规则，支撑批量生产",
      "建立剧本片段与后续镜头生成参数的标准化映射规则，降低中间转换损耗"
    ],
    "writing_method": [
      "每个剧本段落前置标注标准化场景属性：时间、空间、氛围、核心角色站位",
      "动作描述采用「角色+具体动作+环境交互」三段式结构，无模糊指代",
      "对话内容单独标注说话人、标准化情绪标签、伴随动作三类辅助信息",
      "每个段落结尾标注可被机器识别的镜头类型标签（全景/中景/特写等）"
    ],
    "next_actions": [
      "基于现有高收益repair动作输出通用版剧本写作规范手册",
      "开发剧本写作前置自动校验工具，对接prompt_guard实现合规性预检查",
      "完成通用写作规范的小批量测试验证，统计repair率下降幅度",
      "将验证有效的写作规范回灌至前链剧本生成的prompt模板中"
    ]
  },
  "summary": {
    "status": "pass",
    "block_count": 17,
    "pass_block_count": 15,
    "warn_block_count": 2,
    "fail_block_count": 0,
    "pass_ratio": 0.882353,
    "warn_ratio": 0.117647,
    "fail_ratio": 0.0,
    "subject_anchor_gap_count": 0,
    "action_anchor_gap_count": 1,
    "location_anchor_gap_count": 0,
    "dialogue_attribution_gap_count": 0,
    "abstract_prose_risk_count": 1,
    "consultant_used": true,
    "consultant_confidence": "high",
    "next_fix_focus": [
      "retain_action_anchor",
      "avoid_abstract_summary_prose"
    ],
    "status_reason": "anchor_contract_basically_healthy"
  },
  "checks": [
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B001",
      "status": "pass",
      "source_scene_ids": [
        "S0001"
      ],
      "character_names": [
        "賈雨村",
        "雨村",
        "一僧一道",
        "二仙師",
        "女媧氏",
        "媧皇氏",
        "甄士隱",
        "空空道人"
      ],
      "location_names": [
        "大荒山無稽崖",
        "青埂峰"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（大荒山無稽崖）\n作者自述创作缘由，女娲补天遗留顽石，僧道对顽石的警告与顽石的执意请求，顽石通灵自怨自叹，顽石向僧道请求入红尘。\n賈雨村抬头盯住眼前动静，脚下已经往前迈了出去。\n作者自述创作缘由。\n女娲补天遗留顽石。\n僧道对顽石的警告与顽石的执意请求。\n顽石通灵自怨自叹。\n顽石向僧道请求入红尘。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B002",
      "status": "pass",
      "source_scene_ids": [
        "S0004"
      ],
      "character_names": [
        "空空道人",
        "情僧",
        "甄士隱",
        "封氏",
        "曹雪芹"
      ],
      "location_names": [
        "葫蘆廟",
        "姑蘇",
        "閶門",
        "金陵"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": false,
      "dialogue_needs_attribution": false,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（葫蘆廟）\n空空道人评说才子佳人小说的俗套，决定抄录《石头记》传世，并交代书名演变。\n创新、真实的文学记录（《石头记》） vs. 陈腐、虚假的俗套小说。\n空空道人被说服，决定抄录《石头记》传世。\n空空道人决定抄录《石头记》。\n书名从《石头记》到《情僧录》《风月宝鉴》《金陵十二钗》的演变。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B003",
      "status": "pass",
      "source_scene_ids": [
        "S0005"
      ],
      "character_names": [
        "一僧一道",
        "二仙師",
        "絳珠草",
        "絳珠仙子",
        "甄士隱",
        "英蓮",
        "神瑛侍者",
        "警幻仙子"
      ],
      "location_names": [
        "太虛幻境"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（太虛幻境）\n士隐夏日伏案入梦，僧道谈论‘蠢物’与‘风流公案’，神瑛侍者灌溉绛珠草，绛珠仙子‘还泪’誓言，僧道提及‘一干风流冤家’即将下世。\n士隐夏日伏案入梦。\n僧道谈论‘蠢物’与‘风流公案’。\n神瑛侍者灌溉绛珠草。\n绛珠仙子‘还泪’誓言。\n僧道提及‘一干风流冤家’即将下世。\n一僧一道：以一生眼泪偿还灌溉之恩。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B004",
      "status": "pass",
      "source_scene_ids": [
        "S0006"
      ],
      "character_names": [
        "賈寶玉",
        "寶玉"
      ],
      "location_names": [
        "太虛幻境"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（太虛幻境）\n严老爷盯住甄士隐不放，非要追问出蠢物。\n甄士隐追问‘蠢物’。\n僧道对甄士隐‘跳出火坑’的警示。\n通灵宝玉被僧道强行夺回，并瞬间转换至太虚幻境牌坊前。\n甄士隐向僧道追问“蠢物”"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B005",
      "status": "pass",
      "source_scene_ids": [
        "S0007"
      ],
      "character_names": [
        "賈雨村",
        "時飛",
        "雨村",
        "小童",
        "甄家大丫鬟",
        "丫鬟"
      ],
      "location_names": [
        "甄府",
        "甄家"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（甄府）\n雨村见丫鬟娇杏并产生误解，中秋夜甄士隐邀饮，雨村对月吟诗，雨村酒后吐露赴考经济困境。\n賈雨村：行囊路费一概无措。\n雨村见丫鬟娇杏并产生误解。\n中秋夜甄士隐邀饮。\n雨村对月吟诗。\n雨村：行囊路费一概无措。\n雨村酒后吐露赴考经济困境。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B006",
      "status": "warn",
      "source_scene_ids": [
        "S0008"
      ],
      "character_names": [
        "小童",
        "賈雨村",
        "雨村"
      ],
      "location_names": [
        "甄府",
        "葫蘆廟",
        "封肃家"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": false,
      "location_anchor_ok": true,
      "dialogue_expected": false,
      "dialogue_needs_attribution": false,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [
        "action_anchor_weak"
      ],
      "screenplay_preview": "（甄府）\n士隐赠银五十两及冬衣，英莲元宵节失踪，葫芦庙失火殃及甄家，甄家投奔封肃后生活困顿。\n甄士隐慷慨资助贾雨村银两和冬衣，助其进京赶考，二人畅饮至三更。\n葫芦庙失火，甄家被焚毁，从暂时悲痛（失女）陷入彻底破产无依的绝境。\n士隐赠银五十两及冬衣。\n英莲元宵节失踪。\n葫芦庙失火殃及甄家。\n甄家投奔封肃后生活困顿。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B007",
      "status": "pass",
      "source_scene_ids": [
        "S0009"
      ],
      "character_names": [
        "新太爺",
        "本府太爺",
        "太爺",
        "跛足道人",
        "瘋道人",
        "瘋跛道人",
        "甄家大丫鬟",
        "丫鬟",
        "封氏",
        "封肅",
        "冷子興",
        "子興",
        "公差",
        "那些人",
        "黛玉",
        "女學生"
      ],
      "location_names": [
        "甄府",
        "甄家",
        "榮國府",
        "智通寺",
        "廟宇",
        "都中"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（甄府）\n跛足道人：身后有余忘缩手，眼前无路想回头。\n跛足道人念《好了歌》。\n士隐注解《好了歌》。\n士隐随道人出家。\n贾雨村在智通寺看到对联‘身后有余忘缩手，眼前无路想回头’，心生感慨。\n丫鬟见新太爷面熟。\n贾雨村在智通寺看到对联‘身后有余忘缩手，眼前无路想回头’，心生感慨，预示其命运与选择，随后偶遇冷子兴。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B001",
      "status": "pass",
      "source_scene_ids": [
        "S0013"
      ],
      "character_names": [
        "賈雨村",
        "雨村",
        "冷子興",
        "子興"
      ],
      "location_names": [
        "都中"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（都中）\n雨村：只要你肯把递关键信息贾府异事点透，我照着走。\n雨村盯住賈雨村不放，非要追问出同宗。\n雨村与冷子兴酒肆巧遇。\n雨村询问都中新闻。\n子兴说出“倒是老先生你贵同宗家，出了一件小小的异事。\n子兴提及贾府异事。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B002",
      "status": "pass",
      "source_scene_ids": [
        "S0014"
      ],
      "character_names": [
        "冷子興",
        "子興",
        "賈珍",
        "珍爺",
        "賈蓉",
        "賈复",
        "賈敬",
        "賈雨村",
        "雨村"
      ],
      "location_names": [
        "榮國府",
        "榮府",
        "賈府",
        "宁國府",
        "都中",
        "石頭城",
        "金陵"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（榮國府）\n冷子興：百足之虫，死而不僵。\n賈雨村：话已经压到这里，“百足之虫，死而不僵”总该给我一句准信。\n冷子兴评贾府'百足之虫，死而不僵'。\n介绍宁国府贾敬、贾珍、贾蓉三代状况。\n冷子兴说出'谁知这样钟鸣鼎食之家，翰墨诗书之族，如今的儿孙，竟一代不如一代了！'。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B003",
      "status": "pass",
      "source_scene_ids": [
        "S0016"
      ],
      "character_names": [
        "史老太君",
        "祖母",
        "王氏",
        "賈政",
        "賈赦",
        "賈雨村",
        "雨村",
        "賈寶玉",
        "寶玉",
        "冷子興",
        "子興",
        "迎春",
        "二小姐"
      ],
      "location_names": [
        "榮國府",
        "榮府",
        "賈府",
        "宁國府",
        "宁府"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（榮國府）\n賈寶玉：女儿是水作的骨肉。\n冷子興：话已经压到这里，“女儿是水作的骨肉”总该给我一句准信。\n宝玉'女儿是水作的骨肉'的言论。\n贾雨村'非也'的打断及'天地正邪之气'的完整论述。\n冷子興：报喜信。\n冷子興繼續講述榮國府情況，重點描述賈寶玉含玉而生的奇事及其古怪言行，引。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B004",
      "status": "pass",
      "source_scene_ids": [
        "S0020"
      ],
      "character_names": [
        "黛玉",
        "林黛玉",
        "林姑娘",
        "冷子興",
        "子興",
        "史老太君",
        "祖母",
        "賈母",
        "外祖母",
        "賈政",
        "賈赦",
        "王氏",
        "二舅母",
        "舅母",
        "甄家大丫鬟",
        "丫鬟",
        "邢氏",
        "邢夫人"
      ],
      "location_names": [
        "榮國府",
        "宁國府"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": false,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（榮國府）\n黛玉：步步留心，时时在意。\n史老太君：话已经压到这里，“步步留心，时时在意”总该给我一句准信。\n林如海写信推荐贾政。\n第三回标题一下子压到人眼前，先把场上的人镇住。\n贾雨村得知起复消息。\n黛玉拜别父亲启程进京。\n黛玉‘步步留心，时时在意’的心理状态。\n黛玉对离家的不舍与遵从父命、家族安排之间的内心矛盾。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B005",
      "status": "pass",
      "source_scene_ids": [
        "S0024"
      ],
      "character_names": [
        "黛玉",
        "史老太君",
        "賈母",
        "李氏",
        "賈珠之妻",
        "林如海",
        "如海",
        "探春",
        "迎春",
        "惜春",
        "賈寶玉",
        "寶玉",
        "表兄"
      ],
      "location_names": [
        "榮禧堂"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（榮禧堂）\n黛玉：你先站住，把眼前最要紧的一句听清。\n王夫人告诫黛玉远离宝玉，黛玉内心对比家中习惯，并主动适应，黛玉与贾母关于姊妹读书，丫鬟通报宝玉到来。\n荣禧堂匾额及陈设一下子压到人眼前，先把场上的人镇住。\n王夫人告诫黛玉远离宝玉。\n黛玉進入榮府正室，見到軒昂壯麗的榮禧堂。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B006",
      "status": "warn",
      "source_scene_ids": [
        "S0026"
      ],
      "character_names": [
        "黛玉",
        "林妹妹",
        "探春",
        "史老太君",
        "賈母",
        "賈寶玉",
        "寶玉"
      ],
      "location_names": [],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [
        "template_leakage"
      ],
      "fail_reasons": [],
      "warn_reasons": [
        "abstract:template_leakage"
      ],
      "screenplay_preview": "黛玉：这个妹妹我曾见过的。\n探春：话已经压到这里，“这个妹妹我曾见过的”总该给我一句准信。\n宝玉盛装出场与黛玉的初次视觉冲击。\n探春：这个妹妹我曾见过的。\n探春：颦颦。\n内心认知与外部现实的冲突：黛玉/宝玉内心的“熟悉感”与贾母代表的“现实逻辑”之间的微妙对抗。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B007",
      "status": "pass",
      "source_scene_ids": [
        "S0027"
      ],
      "character_names": [
        "黛玉",
        "林姑娘",
        "李嬤嬤",
        "乳母",
        "襲人",
        "珍珠",
        "王嬤嬤",
        "奶娘",
        "雪雁",
        "小丫頭",
        "探春",
        "迎春",
        "鸚哥"
      ],
      "location_names": [
        "碧紗櫥"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（碧紗櫥）\n黛玉回答没有，贾母哄劝宝玉并解释黛玉无玉的原因，贾母安排黛玉暂住碧纱橱，宝玉摔玉，宝玉要求睡在碧纱橱外。\n宝玉问黛玉是否有玉。\n黛玉回答没有。\n贾母哄劝宝玉并解释黛玉无玉的原因。\n贾母安排黛玉暂住碧纱橱。\n宝玉摔玉。\n李嬤嬤：摔玉。"
    },
    {
      "episode_id": "EP0003",
      "block_id": "EP0003B001",
      "status": "pass",
      "source_scene_ids": [
        "S0028"
      ],
      "character_names": [
        "黛玉",
        "林姑娘",
        "李嬤嬤",
        "襲人",
        "鸚哥",
        "史老太君",
        "賈母",
        "賈寶玉",
        "寶玉"
      ],
      "location_names": [
        "碧紗櫥"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（碧紗櫥）\n袭人主动夜探并安慰黛玉。\n李嬤嬤盯住黛玉不放，非要追问出这桩事的来龙去脉。\n袭人夜探黛玉。\n介绍袭人忠心，夜晚见黛玉与鹦哥未睡，上前询问。"
    },
    {
      "episode_id": "EP0003",
      "block_id": "EP0003B002",
      "status": "pass",
      "source_scene_ids": [
        "S0029"
      ],
      "character_names": [
        "李氏",
        "賈珠之妻",
        "李紈",
        "宮裁",
        "門子",
        "小沙彌",
        "黛玉",
        "賈蘭",
        "原告",
        "賈雨村",
        "雨村",
        "王氏",
        "王夫人",
        "公差",
        "公人"
      ],
      "location_names": [
        "金陵"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": false,
      "dialogue_needs_attribution": false,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（金陵）\n门子使眼色阻止雨村发签，黛玉与姐妹至李纨房中，李纨青春丧偶、槁木死灰的处境介绍，贾雨村升任应天府审理人命案，原告陈述薛蟠倚财仗势打死人命。\n黛玉随姐妹至李纨房中，介绍李纨身世背景。\n门子使眼色阻止雨村发签。\n黛玉与姐妹至李纨房中。\n李纨青春丧偶、槁木死灰的处境介绍。\n贾雨村升任应天府审理人命案。\n原告陈述薛蟠倚财仗势打死人命。"
    },
    {
      "episode_id": "EP0003",
      "block_id": "EP0003B003",
      "status": "pass",
      "source_scene_ids": [
        "S0030"
      ],
      "character_names": [
        "門子",
        "賈雨村",
        "雨村",
        "襲人",
        "珍珠"
      ],
      "location_names": [
        "都中",
        "金陵"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（都中）\n雨村：护官符。\n门子与雨村密室相认。\n门子出示并逐条念诵护官符内容。\n门子与雨村密室相认，解释护官符的重要性，指出薛家势力，并出示记载贾、史。\n门子递上护官符，贾雨村阅读/聆听后，意识到薛家案件的复杂性与自身处境的危险性。"
    }
  ]
}