zizi ca7d0ada1a 修复: 收紧细纲回放失败关闭边界
外部 runner 各阶段失败写入明确终态,模型阶段保持 ok=false;detector 类别改为闭集并把目标章新角色缺卡归 judge/eval。同步双评编排状态、真实授权边界和离线测试口径。
2026-07-19 20:27:44 +08:00

3.9 KiB
Raw Blame History

name: detect description: 检测的功能合同(scenario: validation/consistency_check/fine_outline_replay,检测槽位)。检查清单由 schema 字段自动生成——凡 aiContext 含 detection 的字段即检查项。 disable-model-invocation: true

检测(scenario: validation / consistency_check | purpose: detection | 槽位: 检测→detector)

何时用:候选章生成后、用户三决策前的伴随检查(C4);也可对既有章回溯检查。

元数据驱动(本功能的核心机制)

检查清单由字段生成,不硬编:凡 aiContext 含 detection 的字段,自动成为一个检查项——

字段(来源) 检查什么
character.知情范围 角色说出/表现出不该知道的事("说漏嘴"是第一大穿帮)
character.行事逻辑/说话方式 言行与语言指纹逐一核对
power_system.代价限制 境界与能力是否越过体系代价
location.规则特例 地点规则是否被违反
item 能力边界 物品表现是否超出卡面
演变历程(各实体型) 演变连续性/跳级穿帮(上一章还4级、这一章突然7级;登场/退场节点缺失或时间线倒挂)
outline.伏笔动作 埋/推/收是否照细纲执行,有无擅自新开或提前回收
work_core.谜底与真相/结局方向 防提前泄底——这正是检测可见底牌的原因
style 黑名单与画像 Grep 逐词扫黑名单;宣告情绪/形容词堆叠/无三件套场景抽查
narrative_state 时间线/即时局面/角色位置衔接

schema 给字段加上 detection 用途,检查项自动+1,本 skill 与 detector 一字不改。

输出合同

唯一一份报告落 works/<书>/评审/第NNN章-检测.md(不入 git)。每条问题:

[严重度 高/中/低] 位置(场景N·引原句) | 类型 | 依据(哪张卡哪个字段) | 建议改法

末尾:阻塞性 N 条(不修不建议采纳)/建议性 N 条 + 「本次检查用不上但设定卡缺失的字段」(设计发现)。

细纲回放分支(fine_outline_replay)

何时用:fine-outline 候选进入独立评分前。检测器只看冻结到 as_of 的规划上下文和候选,不看目标章标准事实,不把评测答案倒灌回规划侧。

检查对象和证据格式:

检查对象 检查项 高严重度条件 证据必须包含
候选结构 必填字段、目标章号、事件 ID、事件顺序 缺字段、重复事件或目标章错误导致无法评估 字段路径 + 候选值摘要
因果链 事件触发、行动、结果方向是否自洽 后一事件无前置、结果与前置状态矛盾 事件 ID 对 + 冲突原因
实体状态 角色/势力/地点/能力是否违反冻结事实 引用未来事实或越过 N 时点能力边界 sourceId + 冻结字段
伏笔动作 埋、推进、回收和不确定标记 将未知或未来回收写成确定事实 伏笔标识 + 当前台账定位
来源引用 sourceRefs 是否来自快照、是否包含目标章及以后 目标章/未来来源出现在候选引用中 来源 ID + 章号范围
未知项纪律 unknowns / assumptions 是否显式承载缺口 用无来源断言替代未知项 候选字段路径

机器报告的类别是闭集:findings.category 只允许 candidate_structure、causal_chain、entity_state、foreshadowing_action、source_reference、unknowns_discipline;coverageFindings.category 只允许 frozen_context_gap。未登记类别不得用近义词或变体绕过,编排器必须失败关闭。

报告仍然只产审查结果,不修改候选。回放中任一高严重度问题阻断该臂进入 judge;目标章新角色是否缺卡需要目标章标准事实,detector 无权判断,归 judge/eval。

红线

只产报告,不改任何创作文件;证据先行——无依据的观感问题归「建议」并标明主观;底牌信息仅用于检测判断。