{
  "version": "screenplay_writing_strategy.v1",
  "generated_at": "2026-04-11T14:33:38.358021Z",
  "meta": {
    "candidate_run_dir": "/wwwb/aitools/writer/outputs/alice_acceptance_smoke_20260331_v1",
    "screenplay_path": "/wwwb/aitools/writer/outputs/alice_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": "warn",
    "block_count": 6,
    "pass_block_count": 4,
    "warn_block_count": 2,
    "fail_block_count": 0,
    "pass_ratio": 0.666667,
    "warn_ratio": 0.333333,
    "fail_ratio": 0.0,
    "subject_anchor_gap_count": 0,
    "action_anchor_gap_count": 0,
    "location_anchor_gap_count": 0,
    "dialogue_attribution_gap_count": 0,
    "abstract_prose_risk_count": 2,
    "consultant_used": true,
    "consultant_confidence": "high",
    "next_fix_focus": [
      "avoid_abstract_summary_prose"
    ],
    "status_reason": "warn_blocks_exceed_threshold"
  },
  "checks": [
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B001",
      "status": "warn",
      "source_scene_ids": [
        "S0001",
        "S0002",
        "S0003",
        "S0004"
      ],
      "character_names": [
        "White Rabbit",
        "Alice",
        "Alice's sister"
      ],
      "location_names": [
        "hall",
        "well",
        "rabbit-hole"
      ],
      "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": [
        "abstract_performable_prose"
      ],
      "fail_reasons": [],
      "warn_reasons": [
        "abstract:abstract_performable_prose"
      ],
      "screenplay_preview": "（河岸边，阳光和煦）\n爱丽丝挨着姐姐坐在岸边，百无聊赖地瞥了一眼姐姐手中那本没有插图也没有对话的书。\n她打了个哈欠。\n爱丽丝（自言自语）：“一本没有图画和对话的书，有什么用？”\n就在这时，一只穿着背心、掏出怀表看的白兔从旁边跑过。\n白兔（焦急地）：“哦，天哪！哦，天哪！我要迟到了！”\n爱丽丝的好奇心瞬间被点燃，她跳起来，追着兔子穿过田野。\n兔子径直跳进了篱笆下的一个大兔子洞。\n爱丽丝想都没想，跟着跳了进去。\n兔子洞起初笔直向下，像口井，"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B002",
      "status": "pass",
      "source_scene_ids": [
        "S0005",
        "S0006",
        "S0007",
        "S0008"
      ],
      "character_names": [
        "White Rabbit",
        "Alice"
      ],
      "location_names": [
        "hall",
        "passage",
        "well",
        "garden"
      ],
      "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桌上放着一把小小的金钥匙。\n爱丽丝拿起钥匙，又去试那些门锁，没有一扇能打开。\n忽然，她发现一扇之前没注意到的低矮小门，藏在窗帘后面。\n她用金钥匙"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B003",
      "status": "warn",
      "source_scene_ids": [
        "S0009",
        "S0010",
        "S0011"
      ],
      "character_names": [
        "Alice",
        "Duchess",
        "White Rabbit"
      ],
      "location_names": [
        "garden",
        "hall",
        "well",
        "pool of tears"
      ],
      "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": [
        "abstract_performable_prose"
      ],
      "fail_reasons": [],
      "warn_reasons": [
        "abstract:abstract_performable_prose"
      ],
      "screenplay_preview": "（爱丽丝精疲力竭地坐在地上，背靠着那扇通往花园的小门）\n挫败感和孤独感涌上心头，她的大眼睛里蓄满了泪水。\n爱丽丝（抽泣着）：“哭有什么用！马上给我停下来！”她严厉地对自己说。\n通常这招很管用，但这次眼泪还是流了下来，在地上积成了一个小水洼。\n就在这时，她瞥见玻璃桌下有一个小盒子，里面是一块非常小的蛋糕，上面用葡萄干精致地嵌着：“吃我”。\n爱丽丝（下定决心）：“好吧，‘吃我’……如果它能让我变大，我就能拿到钥匙；如果让我变小，我就能从门底"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B004",
      "status": "pass",
      "source_scene_ids": [
        "S0012",
        "S0013"
      ],
      "character_names": [
        "Mabel",
        "Ada",
        "Dinah"
      ],
      "location_names": [
        "hall"
      ],
      "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": "EP0001",
      "block_id": "EP0001B005",
      "status": "pass",
      "source_scene_ids": [
        "S0014",
        "S0015"
      ],
      "character_names": [
        "Alice",
        "White Rabbit"
      ],
      "location_names": [
        "garden",
        "sea"
      ],
      "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爱丽丝（踩着脚）：“太糟糕了！太糟糕了！”\n脚下一滑，她“扑通”一声摔进了旁边那个由她眼泪形成的大水"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B006",
      "status": "pass",
      "source_scene_ids": [
        "S0016"
      ],
      "character_names": [
        "Mouse",
        "Alice"
      ],
      "location_names": [
        "pool of tears"
      ],
      "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爱丽丝（继续尝试，换了个话题）：“您一定觉得这里很乏味吧？哦，您没见过我们的猫咪黛娜，它可是抓老鼠的"
    }
  ]
}