{
  "version": "screenplay_writing_strategy.v1",
  "generated_at": "2026-04-08T14:43:51.553315Z",
  "meta": {
    "candidate_run_dir": "outputs/real_sample_recheck/guanchang_v4_rebuild_current",
    "screenplay_path": "outputs/real_sample_recheck/guanchang_v4_rebuild_current/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": 6,
    "pass_block_count": 6,
    "warn_block_count": 0,
    "fail_block_count": 0,
    "pass_ratio": 1.0,
    "warn_ratio": 0.0,
    "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": 0,
    "consultant_used": true,
    "consultant_confidence": "high",
    "next_fix_focus": [],
    "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": false,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（陕西同州府朝邑县村庄）\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": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（宴席上）\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": false,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（省城）\n赵温在省城拜见学台时的紧张与王孝廉的指导。\n一点小事就把场面顶得发僵，旁边的人和店里伙计都只得赶紧上前拉开。\n赵温被问得哑口无言，只能把“拉长着耳朵听他讲”背后那套规矩和门道硬生生听进耳朵里。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B004",
      "status": "pass",
      "source_scene_ids": [
        "S0009"
      ],
      "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赵温遵循礼数但资金有限 vs 吴赞善及官场潜规则对金钱的赤裸期待。\n赵温准备贽见礼（二两银子、四吊钱）\n趙溫站在人堆里，脸色一下子就绷住了。\n会试考场“抢卷子”的混乱场景。\n吴赞善看到二两银子后态度剧变，决定拒见赵温。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B005",
      "status": "pass",
      "source_scene_ids": [
        "S0010"
      ],
      "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等贺根把话越压越实，场上的人便只剩点头附和的份；賣燒餅的也只能赶紧把奉承话递上去。"
    },
    {
      "episode_id": "EP0001",
      "block_id": "EP0001B006",
      "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_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [],
      "screenplay_preview": "（江西省城）\n钱典史通过送礼、拜把子巴结戴升。\n胡理作为中间人向徐都老爷买信。\n钱典史守在外头来回踱步，只等里面递出一句“明晚来见”"
    }
  ]
}