{
  "version": "screenplay_writing_strategy.v1",
  "generated_at": "2026-04-06T08:58:00.285054Z",
  "meta": {
    "candidate_run_dir": "outputs/xiyouji_acceptance_smoke_20260401_v5",
    "screenplay_path": "outputs/xiyouji_acceptance_smoke_20260401_v5/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": "对被判定应保留对白的 block，正文必须至少出现一处可识别说话人标注。"
    },
    {
      "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": 15,
    "pass_block_count": 14,
    "warn_block_count": 1,
    "fail_block_count": 0,
    "pass_ratio": 0.933333,
    "warn_ratio": 0.066667,
    "fail_ratio": 0.0,
    "subject_anchor_gap_count": 0,
    "action_anchor_gap_count": 0,
    "location_anchor_gap_count": 1,
    "dialogue_attribution_gap_count": 0,
    "abstract_prose_risk_count": 0,
    "consultant_used": true,
    "consultant_confidence": "high",
    "next_fix_focus": [
      "retain_location_anchor"
    ],
    "status_reason": "anchor_contract_basically_healthy"
  },
  "checks": [
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B001",
      "status": "pass",
      "source_scene_ids": [
        "S0002"
      ],
      "character_names": [
        "玉皇大天尊",
        "石猴",
        "千里眼",
        "千里眼（职位称号）",
        "千里眼（人物）",
        "众猴"
      ],
      "location_names": [
        "花果山",
        "南赡部洲",
        "傲来国",
        "西牛贺洲",
        "灵霄宝殿",
        "南天门"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（混沌未分，鸿蒙初判。盘古巨斧劈开天地，清气上升为天，浊气下沉为地。画面流转，四大部洲显现，最终聚焦于东胜神洲傲来国的花果山。）\n\n花果山顶，一块受天地精华的仙石轰然迸裂！\n\n一只石猴从中跳出，目运两道金光，直射斗府。\n\n天庭，灵霄宝殿。\n\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": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（水帘洞内，美猴王与众猴日日欢宴，享乐无穷。如此过了数百年。）\n\n一日宴饮间，美猴王忽然放下酒杯，面露忧恼，堕下泪来。\n\n众猴慌忙罗拜：大王为何烦恼？我等在仙山福地，古洞神州，日日欢会，又不伏人间王位所拘，自由自在，乃无量之福，为何反生忧恼？\n\n美猴王：（叹息）今日虽不归人王法律，不惧禽兽威服，但将来年老血衰，暗中有阎王老子管着，一旦身亡，可不枉生世界之中？\n\n众猴闻言，个个掩面悲啼，俱以无常为虑。\n\n只见那班部中，忽跳出一个通背猿猴，"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B003",
      "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_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "美猴王穿过树林，见一樵夫正在砍柴。他跳上前去，躬身行礼。\n\n美猴王：老神仙！弟子起手了。\n\n那樵夫慌忙丢了斧，转身答礼：不当人！不当人！我拙汉衣食不全，怎敢当“神仙”二字？\n\n美猴王：你不是神仙，如何说出神仙的话来？方才我听你唱“相逢处，非仙即道，静坐讲《黄庭》”。\n\n樵夫：（笑道）实不瞒你说，这个词名做《满庭芳》，乃一神仙教我的。那神仙与我舍下相邻，见我烦恼家事多，教我遇烦恼时，即把这词儿念念，一则散心，二则解困。我才有些不足处思虑，"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B004",
      "status": "pass",
      "source_scene_ids": [
        "S0007",
        "S0008"
      ],
      "character_names": [
        "仙童",
        "石猴"
      ],
      "location_names": [
        "斜月三星洞"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "美猴王来到洞前，但见烟霞散彩，日月摇光，千株老柏，万节修篁，真个是福地灵区。崖头立一石碑，上书“灵台方寸山，斜月三星洞”。\n\n他不敢敲门，跳上松枝梢头，摘松子吃了玩耍。\n\n少顷，只听得“呀”的一声，洞门开处，里面走出一个仙童来。那仙童丰姿英伟，相貌清奇，比寻常俗子不同。\n\n仙童：（高声叫道）甚么人在此搔扰？\n\n美猴王“扑”地跳下树来，上前躬身：仙童，我是个访道学仙的弟子，更不敢在此搔扰。\n\n仙童：（笑道）你是个访道的么？\n\n美猴王：正是"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B005",
      "status": "warn",
      "source_scene_ids": [
        "S0009",
        "S0010"
      ],
      "character_names": [
        "石猴",
        "菩提祖师"
      ],
      "location_names": [
        "斜月三星洞"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": false,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [
        "location_anchor_missing"
      ],
      "screenplay_preview": "一日，祖师登坛高坐，唤集诸仙，开讲大道。孙悟空在旁闻讲，喜得他抓耳挠腮，眉花眼笑，忍不住手之舞之，足之蹈之。\n\n祖师看见，叫孙悟空：你在班中，怎么颠狂跃舞，不听我讲？\n\n悟空：弟子诚心听讲，听到老师父妙音处，喜不自胜，故不觉作此踊跃之状。望师父恕罪！\n\n祖师：你既识妙音，我且问你，你到洞中多少时了？\n\n悟空：弟子本来懵懂，不知多少时节。只记得灶下无火，常去山后打柴，见一山好桃树，我在那里吃了七次饱桃矣。\n\n祖师：（笑道）那山唤名烂桃山。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B006",
      "status": "pass",
      "source_scene_ids": [
        "S0011"
      ],
      "character_names": [
        "菩提祖师",
        "石猴"
      ],
      "location_names": [
        "斜月三星洞"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（斜月三星洞）\n祖师告知悟空修炼长生之道需防备三灾利害。\n菩提祖师：长生路不是只看福缘，真碰上这层凶险，一步错就会伤身丧命。\n石猴：若真有这层险关，我该怎么避过去？\n悟空求教躲避之法。\n祖师因悟空“少腮”的辩驳，意识到其灵性与特殊性，决定传授七十二变和筋斗云。"
    },
    {
      "episode_id": "EP0002",
      "block_id": "EP0002B001",
      "status": "pass",
      "source_scene_ids": [
        "S0012"
      ],
      "character_names": [
        "石猴",
        "菩提祖师"
      ],
      "location_names": [
        "花果山",
        "水帘洞",
        "傲来国",
        "斜月三星洞"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（斜月三星洞内，众师兄弟起哄）\n师兄弟甲：悟空，都说你得了真传，露一手给我们瞧瞧！\n悟空（得意）：这有何难！\n（悟空念动口诀，摇身一变，化作一棵青松，枝叶婆娑。）\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_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": "EP0002B003",
      "status": "pass",
      "source_scene_ids": [
        "S0015"
      ],
      "character_names": [
        "老祖",
        "石猴"
      ],
      "location_names": [
        "南赡部洲",
        "西牛贺洲"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": 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": [
        "S0016",
        "S0017"
      ],
      "character_names": [
        "通背猿猴",
        "石猴",
        "众猴",
        "妖魔",
        "赤尻马猴",
        "东海龙王",
        "神圣"
      ],
      "location_names": [
        "花果山",
        "傲来国",
        "东海龙宫"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": 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": "EP0002B005",
      "status": "pass",
      "source_scene_ids": [
        "S0018"
      ],
      "character_names": [
        "石猴",
        "东海龙王",
        "通背猿猴",
        "北海龙王",
        "南海龙王",
        "赤尻马猴",
        "西海龙王"
      ],
      "location_names": [
        "花果山",
        "东海龙宫"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": 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": [
        "S0020"
      ],
      "character_names": [
        "石猴",
        "十代冥王"
      ],
      "location_names": [
        "花果山",
        "幽冥界",
        "斜月三星洞",
        "水帘洞"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（幽冥界，阴风惨惨）\n两名勾死人手持锁链，悄无声息地靠近酣睡中的孙悟空。\n勾死人甲：（低语）就是他了，带走。\n锁链刚触及身体，孙悟空猛然睁眼！\n孙悟空：何方毛神，敢来勾我？！\n金箍棒一闪，两名勾死人当场魂飞魄散。\n孙悟空怒不可遏，持棒一路打入森罗殿。十代冥王吓得魂不附体，慌忙起身。\n秦广王：（颤声）上仙息怒！上仙息怒！不知上仙驾临，所为何事？\n孙悟空：（将金箍棒往地上一顿）少废话！把生死簿拿来与俺老孙瞧瞧！\n冥王们不敢违抗，战战兢兢捧出"
    },
    {
      "episode_id": "EP0003",
      "block_id": "EP0003B002",
      "status": "pass",
      "source_scene_ids": [
        "S0022",
        "S0023"
      ],
      "character_names": [
        "太白金星",
        "石猴",
        "众猴",
        "玉皇大天尊",
        "增长天王"
      ],
      "location_names": [
        "花果山",
        "斜月三星洞",
        "水帘洞",
        "南天门"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": 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": "EP0003B003",
      "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_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（御马监）\n孙悟空被玉帝封为“弼马温”，掌管天马。他倒也尽心，昼夜不睡，滋养马匹。那些天马见了他，个个肉肥膘满。\n不觉半月有余。这一日，监官们设宴酬劳。席间，孙悟空停杯问道。\n孙悟空：我这“弼马温”，是个几品官衔？\n众监官面面相觑，讪笑道。\n监官甲：… …没有品从。\n孙悟空：没品？想是大之极也？\n监官乙：（赔笑）不大，不大，唤做“未入流”。\n孙悟空：怎么叫做‘未入流’？\n监官丙：末等。这样官儿，最低最小，只可与他看马。似堂尊到任之后，这"
    },
    {
      "episode_id": "EP0003",
      "block_id": "EP0003B004",
      "status": "pass",
      "source_scene_ids": [
        "S0025"
      ],
      "character_names": [
        "石猴",
        "玉皇大天尊"
      ],
      "location_names": [
        "花果山"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（花果山，水帘洞）\n众猴见孙悟空突然回来，欢天喜地接入洞中，安排酒果接风。\n正饮酒间，忽有猴兵来报。\n猴兵：大王，门外有两个独角鬼王，要见大王。\n孙悟空：叫进来。\n那鬼王整衣跑入洞中，倒身下拜。\n鬼王甲：久闻大王招贤，无由得见。今见大王授了天箓，得意荣归，特献赭黄袍一件，与大王称庆。若肯收纳我等，愿效犬马之劳。\n孙悟空大喜，将赭黄袍穿起。\n鬼王乙：（趁机进言）大王有此神通，如何与他养马？就做个“齐天大圣”，有何不可？\n孙悟空闻此言，欢喜"
    }
  ]
}