用途
Pipeline Auditor(草稿审计 + 回归)是“证据优先”综述写作流水线中的确定性回归测试工具。当 output/DRAFT.md 已存在、且希望在生成 LaTeX/PDF 之前获得一份确定性的 PASS/FAIL 报告时使用。触发词包括:auditor、audit、regression test、quality report、审计、回归测试。
它回答以下问题:是否泄漏了占位符或规划者口吻;引用范围是否漂移;草稿是否回退到生成器口吻(导航/叙述模板);引用密度/健康度是否足以支撑综述类草稿。
该技能仅做分析,不编辑内容。对于所有 survey 家族 profile,风格/引用形态违规默认阻断。
输入与输出
输入:
- output/DRAFT.md
- outline/outline.yml
可选(推荐):
- outline/evidence_bindings.jsonl
- citations/ref.bib
输出:
- output/AUDIT_REPORT.md
- output/TEMPLATE_RESIDUE_SCORECARD.json
主要检查项(确定性)
A150++ 引用目标(审计器使用):
- 每个 H3:至少 12 个唯一引用(deep 至少 14 个)。
- 全局:整篇草稿至少 150 个唯一引用(推荐目标 165;deep 下限 165)。
课程论文目标:
- 每个 H3:至少 4 个唯一引用,且至少 1600 个非引用字符。
- 全局:至少 24 个唯一引用(推荐目标 32)。
占位符泄漏:省略号(...、…)、TODO 标记、脚手架标签。
大纲对齐:章节/小节顺序与 outline/outline.yml 对比。
综述表格:course_paper 要求至少 1 个 Markdown 表格,survey/deep 要求至少 2 个(由 section-merger 从 outline/tables_appendix.md 插入;索引表保持内部)。
论文口吻反模式:
- 叙述模板(This subsection ...、In this subsection ...)
- 幻灯片导航(Next, we move ...、We now turn to ...)
- 明显的流水线口吻(this run、this workspace)
- 歧义术语如 this pipeline、this stage、quality gate:仅当同一句包含 Harness 锚点(如 checkpoint、Unit ID、Harness lock、attempt ledger 或 template residue)时阻断;普通主题用法保持为非阻断警告。
证据政策免责声明刷屏:H3 正文中重复出现“abstract-only/title-only/provisional”样板文字。
元综述指导措辞:survey synthesis/comparisons should ....
合成句式重复:重复出现 Taken together, ... 及类似高信号生成器句式。
数字声明上下文:数字缺少最小评估上下文词(benchmark/dataset/metric/budget/cost)。
引用健康度(若 citations/ref.bib 存在):未定义键、重复、基本格式红旗。
引用形态硬门槛:不允许相邻引用块([@a] [@b]),不允许同一块内重复键([@a; @a])。句中引用比例:course_paper 至少 20%,survey/deep 至少 30%。
引用范围(若 outline/evidence_bindings.jsonl 存在):每个 H3 使用的引用应保持在绑定的证据集内。
全稿确定性模板残留:拆分英文与 CJK 面向读者的散文,将每个句子与本次 Run 所选模板资产中的固定片段比较,超过 Workflow 限制则拒绝。
模板来源溯源:要求 output/FRONT_MATTER_CONTEXT.json 记录所选 front-matter 资产与哈希,然后要求三个拥有模板的 Skill 实现与 .harness/harness.lock.json 匹配;缺失溯源、旧锁和仓库漂移均阻断验收。
JSON 记分卡记录测量比例、计数、阈值、所选资产哈希、标题感知示例和实现锁结果。在正常 Harness 执行期间,Completion 将其判定与维度投影到 .harness/evaluations/ledger.jsonl,包括失败的 Attempt,使 Run Audit 能暴露最新测量而非仅归结为 PASS/FAIL。记分卡文件仍是完整证据对象;ledger 有意更小。当前 10% 限制是初始策略目标。已发布的 Survey replay 以 0/226 残留完成当前 31 项检查契约,证明对一组保留 Artifact 可达。从零开始的干净执行、无关主题和跨 profile 校准仍待验证。
使用方式
将 output/AUDIT_REPORT.md 视为“下一步修什么”的路由表。
常见 FAIL 家族 -> 负责阶段/技能:
占位符/泄漏脚手架
- 修复:C2–C4 产物不干净。路由到 subsection-briefs / evidence-draft / writer-context-pack,然后重写受影响章节。
缺少概览表(低于所选 profile 的表格下限)
- 修复:确保 table-schema + appendix-table-writer 生成 outline/tables_appendix.md(course-paper 至少 1 个表;survey/deep 至少 2 个表;有引用支撑、无占位符),然后重跑 section-merger。
过渡/叙述桥中的规划者口吻
- 修复:重跑 transition-weaver(并确保 briefs 包含 bridge_terms / contrast_hook),然后重新合并。
H3 内的叙述模板/幻灯片导航
- 修复:通过 writer-selfloop(本地、章节级)或 subsection-polisher 重写失败章节/S*.md。
证据政策免责声明刷屏
- 修复:在 Intro/Related Work(front matter)保留一次证据政策,删除 H3 中的重复(使用 draft-polisher 或本地章节重写)。
引用范围漂移(越界 bibkey)
- 修复:要么 (a) 重写小节保持范围内,要么 (b) 修复映射/绑定(section-mapper → evidence-binder)并重新生成 packs。
全局唯一引用过低
- 修复:citation-diversifier → citation-injector(不新增事实),然后 draft-polisher。
Intro/Related Work 过薄/引用过少
- 修复:通过 writer-selfloop(front-matter 路径)重写对应 sections/S<sec_id>.md front-matter 文件,使用密集定位 + 方法段落。
全稿模板残留超过 Workflow 限制
- 修复:使用每个记分卡示例的标题、章节类型、章节所有者和模板所有者定位负责的 front matter、章节引导或 H3 区域;重写其源章节,重新生成合并草稿,并重跑审计器。不要削弱或重命名模板资产来让现有 Run 通过。
预防指导(上游写作者应做什么)
若希望审计器无需繁重打磨循环即可 PASS:
- 每个 H3 以内容主张 + 论点开头(避免叙述模板)。
- 使用明确对比和至少一个评估锚点段落。
- 按主张嵌入引用(避免尾部引用堆砌)。
- 将证据政策限制放在 front matter 一次,而非每个 H3。
脚本
快速开始:
uv run python .codex/skills/pipeline-auditor/scripts/run.py --help
uv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>
全部选项:
- --workspace <dir>
- --unit-id <U###>(可选;用于日志)
- --inputs <semicolon-separated>(罕见覆盖;优先默认)
- --outputs <semicolon-separated>(罕见覆盖;默认写 output/AUDIT_REPORT.md 和 output/TEMPLATE_RESIDUE_SCORECARD.json)
- --checkpoint <C#>(可选)
示例:在 global-reviewer 之后、LaTeX/PDF 之前运行审计:
uv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>
故障排除
问题:审计因未定义引用失败
- 修复:用 citation-verifier 重新生成引用,确保 citations/ref.bib 包含每个被引键。
问题:审计因叙述式导航短语失败
- 修复:在失败的 sections/* 文件中改写为论证桥(承载内容的交接,无导航评论),然后重新合并。
问题:审计因“唯一引用过低”失败
- 修复:运行 citation-diversifier 生成 output/CITATION_BUDGET_REPORT.md;通过 citation-injector 应用(编辑 output/DRAFT.md,写 output/CITATION_INJECTION_REPORT.md);然后运行 draft-polisher → global-reviewer → auditor。
适用场景与限制
适用场景:证据优先综述写作流水线中,在生成 LaTeX/PDF 之前对草稿进行确定性质量审计与回归检查;按失败类型路由到相应修复阶段。
限制:该技能仅做分析,不编辑内容;部分检查依赖可选输入(citations/ref.bib、outline/evidence_bindings.jsonl)存在时才执行;当前 10% 模板残留限制为初始策略目标;从零开始的干净执行、无关主题和跨 profile 校准仍待验证。