{
  "version": "screenplay_writing_strategy.v1",
  "generated_at": "2026-04-08T13:41:36.798683Z",
  "meta": {
    "candidate_run_dir": "outputs/guanchang_acceptance_smoke_20260331_v4",
    "screenplay_path": "outputs/guanchang_acceptance_smoke_20260331_v4/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": "fail",
    "block_count": 6,
    "pass_block_count": 4,
    "warn_block_count": 1,
    "fail_block_count": 1,
    "pass_ratio": 0.666667,
    "warn_ratio": 0.166667,
    "fail_ratio": 0.166667,
    "subject_anchor_gap_count": 1,
    "action_anchor_gap_count": 1,
    "location_anchor_gap_count": 0,
    "dialogue_attribution_gap_count": 0,
    "abstract_prose_risk_count": 0,
    "consultant_used": true,
    "consultant_confidence": "high",
    "next_fix_focus": [
      "retain_subject_anchor",
      "retain_action_anchor"
    ],
    "status_reason": "fail_blocks_present"
  },
  "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": false,
      "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": "warn",
      "source_scene_ids": [
        "S0009"
      ],
      "character_names": [
        "吳贊善",
        "趙溫",
        "錢典史",
        "贺根",
        "趙老頭兒"
      ],
      "location_names": [
        "琉璃廠",
        "米市胡同",
        "順治門"
      ],
      "subject_anchor_ok": true,
      "action_anchor_ok": false,
      "location_anchor_ok": true,
      "dialogue_expected": false,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [],
      "warn_reasons": [
        "action_anchor_weak"
      ],
      "screenplay_preview": "赵温复试通过，按规矩需拜见老师吴赞善。他精心准备了贽见礼：二两银子，外加四吊钱。\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": 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": "fail",
      "source_scene_ids": [
        "S0012"
      ],
      "character_names": [
        "趙溫",
        "胡理",
        "錢典史",
        "徐都老爺",
        "王仁",
        "趙老頭兒",
        "贺根",
        "黃大人"
      ],
      "location_names": [
        "江西省城",
        "省城"
      ],
      "subject_anchor_ok": false,
      "action_anchor_ok": true,
      "location_anchor_ok": true,
      "dialogue_expected": true,
      "dialogue_needs_attribution": true,
      "dialogue_attribution_ok": true,
      "abstract_risk_codes": [],
      "fail_reasons": [
        "subject_anchor_missing"
      ],
      "warn_reasons": [],
      "screenplay_preview": "（江西省城）\n人刚被带进这套门道里，礼数和人情就已经先一步压到了眼前，谁也不敢把话先说得太满。\n门路还没真通，银子和人情倒先摆上了台面；中间人一层层试探，人人都盯着那句肯不肯应下的话。\n等里面终于递出一句“明晚来见”，外头候着的人这才敢把提着的那口气慢慢放回去。"
    }
  ]
}