| name | Reference Consistency Assembler |
| description | 合并整稿并建立 citation_map。 Use when: 章节草稿齐备. Do not use when: manuscript_full.md 已存在. |
Identity
- Skill ID: S20
- Slug: reference-consistency-assembler
- Directory: .agents/skills/S20-reference-consistency-assembler/
- Name: Reference Consistency Assembler
- 中文角色: 整稿合并与引用一致性组装
- Stage: C_structure_writing
- Skill Type: business
- Human Gate: G3
- Required QA Hooks: - Q01
- Q02
Mission
合并整稿并建立 citation_map 与 claim_evidence_graph。
此 skill 在综述生产流水线中的角色:整稿合并与引用一致性组装。它在"C_structure_writing"阶段运行,
生成结构化产物供下游 skill 消费,并在 G3 处接受人工审核。
Scientific Role in the Workflow
- 所处阶段: 组装阶段——合并所有章节、建立 citation_map、生成参考文献
- 产出形式: manuscript_full.md + references.bib + citation_map.json + claim_evidence_graph.json
- 人机协同点: 产物在 G3 处需人工审签;关键决策记录在 decision_log.md 中
- 对下游的价值: 为 Gate 3 审核提供完整稿件和 claim grounding graph,为 S21 选刊提供完整手稿
Scope of Responsibility
- 本 skill 仅负责 章节合并、引文锚点标准化、参考文献列表生成、claim-evidence graph 组装、交叉引用一致性检查
- 不负责 章节内容修改(那是各写作 skill 的职责)
- 不负责 期刊格式适配(那是 S22 的职责)
Trigger When
章节草稿齐备
Do Not Trigger When
manuscript_full.md 已存在
Required Inputs
- all_sections
- zotero_exports
Optional Inputs
Output Contract
- 所有输出文件写入
/artifacts/run-<ts>/stage-3/ 目录下
- 结构化输出(.json / .csv)优先于叙述性输出(.md),必须通过 schemas/ 下对应 JSON Schema 校验
- 每个输出产物在 artifact registry 中注册时,须记录其上游依赖、生成时间、生成器和版本号
- 产物格式优先级:结构化数据 (.json) > 表格 (.csv) > 叙述性 Markdown (.md) > 自由文本
- 产物路径和命名遵循
configs/artifact_registry_rules.json 中定义的规范
Expected Outputs
- manuscript_full.md
- references.bib
- citation_map.json
- claim_evidence_graph.json
Operational Steps
- 验证所有 Required Inputs 存在且可读,缺失则立即停止并报告
- 加载相关 Schema 和契约文件(schemas/ 目录下)
- 仅执行 Purpose 与 Scope of Responsibility 中定义的任务,不漂移到相邻 skill 的职责
- 先产出结构化数据(.json / .csv),再生成叙述性说明(.md)
- 记录所有假设、未解决的歧义和失败追踪信息
- 若置信度不足(如关键数据缺失导致无法做出科学判断),停止执行并升级给人工,不得猜测或编造
Decision / Writing / Validation Principles
- 结构化字段优先:先填满 schema 的 required 字段,再补充 optional 字段
- 证据三元组:每个科学论断必须包含 (source_id, finding_direction, evidence_strength)
- 冲突分类:如发现证据方向矛盾,标记为 direction_conflict 而非强行选边
- 术语一致性:同一实体在全文中使用统一的 canonical term(参见 configs/ontology/)
- 保守推断:不在证据不足时声称"clearly" "definitively" "proves"
Hard Constraints
- 不得编造 DOI、PMID、样本量、统计值、期刊身份或研究结论
- 不得静默覆盖已有高版本 artifact(必须 version incrementally,参见 AGENTS.md)
- 不得删除上游可审计痕迹(raw exports、screening decisions、extraction logs 必须保留)
- 不得绕过 Gate 或把 QA 结论写成"已人工确认"(除非真正通过了人工审核)
- 不编造参考文献——所有引用必须来自 Zotero 库或 evidence_matrix
- 不留下未解析的 citation anchor
- 不引用未经 S07 入库的文献
QA Hooks
Human-in-the-Loop Checkpoint
- 产出物完成后,进入 G3 等待人工审核
- 审核通过前,下游 skill 不得启动
- 若人工审核要求修订,返回上游 skill(参见
orchestrator/state_machine/transitions.yaml)
Acceptance Checklist (Self-Verification Before Declaring Done)
Failure Handling
- 缺少输入: 发出 blocking error,立即停止,不继续执行
- Schema 校验失败: 重试一次(带错误上下文修正);若第二次仍失败,升级给 checkpoint manager
- 下游污染风险: 如果当前产物可能影响下游 skill 的正确性,标记为
status: blocked,阻止流水线继续
- 领域特定失败: citation_map 中存在 unresolved 条目 → 返回补全元数据
- 重试耗尽: 若达到 orchestrator/retry_policies/ 中定义的最大重试次数,升级给人工
Logging and Observability
每个 skill 必须产出以下日志文件(写入 /artifacts/run-<ts>/logs/S20/):
input_manifest.json — 所有输入的路径和校验和
output_manifest.json — 所有输出的路径和校验和
validation_result.json — Schema 校验结果
decision_log.md — 关键决策及其理由
failure_trace.md — 失败时的错误堆栈(如有)
Collaboration Notes for Codex / Orchestrator
- 执行前先读取
AGENTS.md 获取项目级非协商规则
- 执行前先读取
configs/skills_manifest.json 确认本 skill 的上下游依赖
- 产物注册使用
orchestrator/artifact_registry/registry_v2.py 的统一接口
Definition of Done
- 所有 Expected Outputs 已写入磁盘并通过 Schema 校验
- 所有 Required QA Hooks 已触发并获得非 blocking 结果
- 产物已在 artifact registry 中注册,具备完整的 provenance 记录
Examples