---
name: literature-evidence-extraction
description: 通用学科科研文献证据可信抽取与事实核验专业技能。严格恪守 Quote → Extract → Verify → (Optional) Interpret 铁律，从学术论文（PDF/全文）中按定制 Schema 抽取结构化参数与方法表。内置四级证据体系（E1-E4）、6 大证据状态标签、复杂多实验上下文隔离、表格/附录优先挖掘、高危字段 OCR 零容忍防护、既有结论 Claim 事实审计及伴生 JSON 双轨输出。
---

# 学科文献证据抽取与事实核验专业技能 (literature-evidence-extraction)

本技能用于在严谨科研场景下，从用户提供的学术论文全文（PDF、文本或补充材料）中，按照指定字段进行**严格、可追溯、证据绑定、零臆测**的信息抽取与结论核验（Evidence-Bound Literature Extraction & Claim Auditing）。

> **核心哲学**：
> 本技能是 **Evidence Extractor（证据抽取器）**，绝非 Summarizer（概述器）或 Explainer（解释器）。
> 它只回答：**“这篇论文实际上写了什么？”**
> 绝不回答：**“按照领域常识，它应该是什么？”**
> 
> 严厉执行总原则：**Quote → Extract → Verify → Interpret**
> 严厉禁止反模式：**Read → Remember → Guess → Answer**
> 核心承诺：**严禁捏造看起来合理的参数；仅在已检查原文且作者确实未提供时标注 `not_reported`（`NR`），未查或无全文分别标为 `unchecked` 或 `inaccessible`。**
>
> **`NR` 的精确口径（审查 F09）**：`NR` 只表示**原文已检查且作者未报告**。
> 以下情形**都不等于** `NR`，必须分别标注，不得合并：
>
> | 情形 | 正确标注 | 含义 |
> |---|---|---|
> | 拿不到全文 | `inaccessible` | 看不到，不是作者没写 |
> | 有全文但该字段尚未检查 | `unchecked` | 没查，不是没报告 |
> | 数据来自作者转引他人文献 | `cited_only`（`support_type=REFERENCED`） | 本文未自测，不得冒充本文结果 |
> | 可由原文数据重算得出 | `derived`（`support_type=DERIVED`） | 附公式与原始输入 |
> | 已检查全文、作者确实未报告 | **`not_reported`（= `NR`）** | 唯一可写 `NR` 的情形 |
>
> 引句与定位是否真实有效，另由**来源核验**维度判定（`verified` / `unverified` / `failed`）；
> 命题方向另由 `support` / `challenge` / `boundary` / `context` 表达。
> 五个维度各自回答不同问题，**不得互相替代**（详见 `docs/CAPABILITY_STATUS.md`）。
>
> ### 🛡️ 主张—证据对齐底层原则 (Universal Claim–Evidence Alignment Principle)
> **Mention ≠ Relation. Co-occurrence ≠ Relation. Contextual proximity ≠ Relation. Entity evidence ≠ claim evidence.**  
> **提及 ≠ 关系。共现 ≠ 关系。上下文邻近 ≠ 目标关系。实体证据 ≠ 主张证据。**  
> 当用户请求输出科学关系、因果、关联、比较、机制、调控、支持/反驳判定或命题型事实时，ScholarFlow 必须验证**目标主张（Target Claim）本身**。相关实体、变量或关键词的单纯出现、共同出现、上下文邻近或共同测量，绝不能作为该关系或主张成立的充分证据。只有当证据在正确的证据上下文（Evidence Context）中显式或结构化地支持该主张本身时，才允许进入 Confirmed Output。绝对禁止将实体级证据（Entity Evidence）静默升级为关系级证据（Relation Evidence）。
>
> ### 🧭 候选命中与自适应上下文扩展底层原则 (Candidate Hit ≠ Evidence & AECE Principle)
> **Candidate Hit ≠ Evidence. Localization finds candidates; context establishes meaning; alignment determines evidential relevance.**  
> **候选命中 ≠ 证据。定位寻找候选，上下文建立含义，目标对齐决定证据相关性。**  
> 关键词、实体、数值、表格单元格、图注或句子的命中，仅仅是定位线索（Retrieval Clue），绝不能直接推断为能够回答用户目标问题的合格证据。系统必须严格遵循“**Locate → Context → Interpret → Align → Extract**”时序：先定位候选线索，再自适应扩展至语义充分上下文（AECE：单句 → 相邻句 → 段落 → 章节/表格行列头/实验单元），明确其语义角色（Semantic Role）与约束（否定、情态、量词、边界、比较对象），核实是否对齐目标信息需求（TIN），方可升格并执行结构化抽取与审计。详见 [adaptive_evidence_context_expansion.md](./references/adaptive_evidence_context_expansion.md)。

---

## ⚡ 上下文预算与按需渐进加载准则 (Progressive Context Loading Protocol)

> [!CAUTION]
> **统一执行深度底线规则 (Execution Depth Core Rule)**：
> 执行前独立确认 `execution_depth`；研究目标不能替代深度选择。未指定且无有效配置时必须展示快速／标准／深度的工作范围与资源差异。未确认不得启动研究执行。下游沿用同一运行的已确认配置。所有档位保留证据和审计底线；预算不足时输出部分结果及待办，不自动扩额。

> [!CAUTION]
> **严禁全量一次性预加载**：本 Skill 包含 20 个模块文件。在触发激活时，**绝对禁止**一次性通读 `references/`、`role/`、`examples/` 或 `assets/` 中的所有文件。Agent 必须严格遵守以下阶段化按需读取策略，严守上下文预算！

### 阶段 1：Stage 0 上下文感知科研决策门禁 (Context-Aware Research Gate)
- **执行序列**：
  1. **Stage 0A — Context Resolution**：自动读取任务附件/PDF、历史对话、上游 Discovery 检索产物与 Schema 快照，进行全文预检（无全文则熔断）；自动识别多队列/多数据集，输出《现有科研上下文确认简报》，已知约束与 Schema 自动确认，严禁对已知要素重复询问；若上游已确认执行深度则直接继承，否则必须提供快速/标准/深度三档确认；
  2. **Stage 0B — Adaptive Grill-Me**：读取 [references/stage0_grill_me.md](./references/stage0_grill_me.md) 与 `shared/grill_me/`，首轮确保包含 `EXECUTION_DEPTH` 及未决的 `CRITICAL`（目的、Schema、实验隔离）与关键 `HIGH_IMPACT` 维度，动态生成 3~4 个结构化提问，每题附带 Recommended 选项与依据，严格执行 STOP Rule 静默等待用户确认；未确认执行深度绝不开工；
  3. **Stage 0C — Protocol Snapshot**：用户确认后固化全字段来源审计快照（`[USER]` / `[CONTEXT]` / `[UPSTREAM]` / `[PROJECT]` / `[INFERRED]` / `[DEFAULTED]` / `[SYSTEM_RULE]`）；
  - **交付格式默认与覆盖**：`E10 交付格式` 维度（Tier 3）默认**三轨全套**（MD 底稿 + CSV/JSON 数据 + HTML 报告），写入快照 `[DEFAULTED]`；用户可在确认回复中一句话覆盖（如 `格式: xlsx`，xlsx 导出需可选 openpyxl），解锁 Phase A 实质抽取。
- **决策维度原则**：执行深度（`execution_depth`：快速首批 5 篇/标准 20 篇/深度 50 篇）与抽取任务类型（`E1`：常规抽取/事实审计）正交组合使用。
- **禁止提前读取**：任何 Phase A+ 的规程、角色文件、模板或案例。

---

### 阶段 2：模式分支按需流转加载

#### 📋 分支 A：常规字段抽取模式 (Extract Mode)
- **执行流转**：
  1. 仅按需加载 [references/evidence_levels_and_status.md](./references/evidence_levels_and_status.md)（掌握 E1-E4 评级与状态标签）；
  2. 若抽取关键实验参数（引物、温度、浓度、样品量），按需加载 [references/table_and_supplement_priority.md](./references/table_and_supplement_priority.md)；
  3. **仅当论文包含多个并行实验体系时**（如同时包含物种鉴定、分型、性别鉴定实验），才加载 [references/assay_context_isolation.md](./references/assay_context_isolation.md) 进行上下文隔离；
  4. 抽取完成进入质检前，由审查员加载 [role/evidence_auditor.md](./role/evidence_auditor.md) 进行独立红蓝核对。

#### 🔍 分支 B：既有结论事实审计模式 (Audit Mode)
- **执行流转**：
  1. 专门加载 [references/audit_mode_protocol.md](./references/audit_mode_protocol.md)；
  2. 针对用户提交的既有 Claim 列表，调用 `scripts/audit_claims.py` 进行表层候选定位与数值协同校验（确定性定位器，输出线索与位置）；
  3. 由 Evidence Auditor 审查员进行语义真伪判定，严禁将表层定位结果直接等同为最终事实裁决，给出标准判定标签（SUPPORTED / PARTIALLY_SUPPORTED / UNSUPPORTED / CONTRADICTORY / AMBIGUOUS / OCR_UNCERTAIN）。

#### 🤖 分支 C：Headless / 自动化脚本管道模式
- **直接执行辅助脚本**：使用 `scripts/pdf_evidence_locator.py` 或 `scripts/audit_claims.py`；
- **硬性输出契约**：结构化 JSON 输出必须严格遵循 canonical `schemas/extraction_result.schema.json`。

#### 🔗 分支 D：关系与主张型抽取分支 (Claim / Relation Extraction Mode)
- **触发条件**：当任务提取涉及关系、因果、影响、机制、比较、关联、调控、支持/反驳判定等命题型主张时（`extraction_semantics == CLAIM_RELATION` 或 `MIXED` 中涉及关系部分）；
- **强制加载**：**必须加载** [references/claim_evidence_alignment.md](./references/claim_evidence_alignment.md)（掌握 5 大对齐门禁、10 大状态标签及跨上下文拼接禁令）；纯属性值抽取（`ATTRIBUTE`）无需额外加载。

---

## 一、三位一体协同角色架构 (Triad Role Architecture)

技能执行中由三个专门角色协同运作（详见 `role/` 目录）：

1. **主导抽取专员 ([specialist_role.md](./role/specialist_role.md))**：
   - 统筹执行全流程抽取，严格遵循 10 大硬铁律（含“候选命中绝不等于合格证据”）；
   - 负责正文/表格/附录拆解、截取最小充分原文引句（MSES）并提取候选值；
   - 严禁凭空脑补、严禁把引用别人研究当成本文结果、严禁将 Discussion 推测记为结论、严禁将实体共现升级为关系结论。
2. **实验上下文与动态 Schema 建模助手 ([context_modeler.md](./role/context_modeler.md))**：
   - 动态解析目标论文结构并构建针对性抽取 Schema；
   - 负责复杂实验体系（Assay Context）严格隔离，防止不同实验参数交叉污染；
   - 建立正文、主表与补充材料的数据映射层级。
3. **证据链独立核验审查员 ([evidence_auditor.md](./role/evidence_auditor.md))**：
   - **独立一票降级与否决权**：在交付最终报告前对每个字段进行 16 项硬指标反向对账核验（新增第 16 项：Context Sufficiency Audit）；
   - 审查候选值是否能由引文直接推导；对无法证实者一律强制降级为 `DERIVED`、`REFERENCED`、`AMBIGUOUS` 或 `NR`；
   - 检查 OCR 风险标记，签署核验通告令。

---

## 二、运行模式 (Operating Modes)

| 模式名称 | 核心任务 | 典型输入 | 目标产出 | 适用场景 |
|---|---|---|---|---|
| **Extract Mode**<br>*(标准抽取)* | 结构化参数抽取与证据绑定 | 论文 PDF/全文 + 指定/建议 Schema | Markdown 证据矩阵<br>+ 伴生 JSON 实体文件 | 提取实验方法参数、建立样本数据库、收集引物/反应条件 |
| **Audit Mode**<br>*(结论反查)* | 既有主张/Claim 的原文真伪核实 | 论文全文 + 待核查结论清单 | 逐条核验证据表<br>(SUPPORTED/UNSUPPORTED/CONTRADICTORY) | 审稿事实核查、验证综述引用真实性、纠正文献笔记错误 |
| **Batch-Matrix**<br>*(多篇矩阵)* | 跨文献同字段横向横排提取 | 5–20 篇同主题论文全文 | 横向多文献对比矩阵<br>+ 差异标记 | 比较不同课题组实验体系、微卫星筛选策略对比 |

---

## 三、三阶段标准工作流 (Three-Phase Workflow)

```mermaid
flowchart TD
    S0[Stage 0: 论文全文接入 + 模式确认 + 动态定制 Schema / TIN] --> P1A[Phase A1: 候选事实定位 Candidate Detection]
    P1A --> P1AECE[Phase A1.5: 自适应证据上下文扩展 AECE]
    P1AECE --> P1SCV[Phase A1.6: 语义上下文角色与目标对齐核验]
    P1SCV -->|关系/主张任务| P1B[Phase A2: 主张—证据对齐判定 Claim-Evidence Alignment Gate]
    P1SCV -->|纯属性任务| P2[Phase B: 结构化抽取与证据链反向核验 Verification]
    P1B --> P2
    P2 --> QG[证据审查员 Evidence Auditor 签署通告 (含 16 项清单)]
    QG -->|用户未要求解释| P3_Skip[输出双轨交付物: Markdown 证据矩阵 + JSON]
    QG -->|用户明确要求解释| P3[Phase C: 科学解释与推论 Interpretation 严格隔离]
    P3 --> P3_Skip
```

### 0. Stage 0 — 自适应科研决策门禁 (Context-Aware Research Gate)
在执行任何正文解析或数据抽取前，系统强制接入自适应科研决策门禁（三阶段流水线，详见 [stage0_grill_me.md](./references/stage0_grill_me.md)、[grill_dimensions.md](./references/grill_dimensions.md) 与 `shared/context_resolution/`）：
- **Stage 0A：科研上下文解析层 (Context Resolution Layer)**：
  - 自动读取任务附件/PDF、对话历史、上游 Discovery 产物（继承已确定的时间范围与检索协议）以及上游 Schema 快照；
  - 核验输入是否具备论文全文（PDF 或完整文本）；若仅有摘要坚决熔断，拒绝提取实验参数；
  - 若输入文献中检测到多队列/多数据集（Multi-Cohort），自动识别出上下文复杂性，并在《现有科研上下文确认简报》中标记，保留 E4 隔离决策供确认；
  - 已知约束与上游 Schema 自动确认为 `RESOLVED`（标记 `[USER]` / `[CONTEXT]` / `[UPSTREAM]`），杜绝重复询问。
- **Stage 0B：自适应科研决策追问 (Adaptive Research Grill-Me)**：
  - 评估 E1 至 E9 决策维度，仅从未决的 `CRITICAL` 维度（E1 目的、E3 Schema、E4 实验隔离）与关键 `HIGH_IMPACT` 维度（E5 重计算、E6 单位归一化）中动态生成 **3~4 个** 结构化提问；
  - 每题配备带有充分依据的 `(Recommended)` 选项与置信度标签；
  - **严格交互硬门禁 (STOP Rule)**：**Agent 输出问题后必须立即终止当前回复，进入静默等待状态**，严禁在同一回复中自问自答或直接调用抽取工具。
- **Stage 0C：协议快照生成与执行放行 (Protocol Snapshot & Execution Gate)**：
  - 支持 `按推荐`、`1A 2B 3C` 极速回复，确认后生成包含完整来源追溯（`[USER]` / `[CONTEXT]` / `[UPSTREAM]` / `[PROJECT]` / `[INFERRED]` / `[DEFAULTED]` / `[SYSTEM_RULE]`）的 Protocol Snapshot，状态转为 `CONFIRMED` 后解锁 Phase A。

### 1. Phase A — Candidate Detection, Context Expansion & Alignment（定位、上下文扩展与主张对齐）
- **Phase A1 — Candidate Detection（候选定位）**：基于 Target Information Need (TIN) 检索线索定位句子、表格行、图注或附录，状态标为 `LOCATED`（严禁直接跳到抽取）；
- **Phase A1.5 — Adaptive Evidence Context Expansion (AECE，自适应证据上下文扩展)**：依据语义充分性原则，从命中点自适应向外扩展（单句 → 相邻句 → 段落 → 章节/表格行列头/实验单元），直到达到 `STOP_A_MEANING_RESOLVED` 或 `STOP_B_STRUCTURED_RESOLVED`；
- **Phase A1.6 — Semantic Context Verification（语义上下文核验）**：分类 `semantic_role`，核查否定（Negation）、情态（Modality）、量词（Quantifier）、条件与比较基准，判定是否真正回答 TIN（`ALIGNED` / `PARTIALLY_ALIGNED` / `NOT_ALIGNED` / `AMBIGUOUS`），构建中间门禁 `CandidateContextRecord`；
- **Phase A2 — Claim–Evidence Alignment Gate（主张对齐硬门禁）**：当涉及关系或命题型事实时，加载 `claim_alignment.py` 严格核对“证据是否真正支持用户要求的完整科学主张”，坚决阻断“共现冒充关系”；纯属性值抽取经 A1.5/A1.6 充分核验后直接进入 Phase B。

### 2. Phase B — Verification（证据抽取与核验）
- 逐条审查：**当前候选值/主张是否能由原句及扩展上下文直接、完全支持？**
- 严格评定四级证据体系代码：
  - **E1 (EXPLICIT)**：原文明示，直接匹配；
  - **E2 (DERIVED)**：原文提供数据计算得出，必附推导公式；
  - **E3 (REFERENCED)**：引述外文（如“following Smith 2012”），本篇值记为 `NR`，引文单列；
- 标记通用状态标签（属性事实：`SUPPORTED`, `UNSUPPORTED`, `CONTRADICTORY`, `AMBIGUOUS`, `OCR_UNCERTAIN`；关系主张事实扩展：`SUPPORTED`, `PARTIALLY_SUPPORTED`, `DERIVED`, `AMBIGUOUS`, `CONTRADICTORY`, `BACKGROUND_ONLY`, `CONTEXT_ONLY`, `OTHER_ENTITY_CONTEXT`, `REFERENCED_ONLY`, `NOT_REPORTED`）。
- **NR 语义防护（NOT_REPORTED ≠ UNSUPPORTED）**：未报告记录的 `claim_status` 一律记 `AMBIGUOUS` / `NOT_REPORTED` 并在 notes 注明「NR 非论断」，严禁记 `UNSUPPORTED`——"论文没写"不等于"论文说错了"。
- 仅 `SUPPORTED`, `PARTIALLY_SUPPORTED`, `DERIVED` 且属于当前研究（`current_study = true`）的主张才允许进入 Confirmed Output。

### 3. Phase C — Interpretation（科学解释，仅在用户明确要求时启用）
- **严格与证据表物理隔离**，以独立章节 `### 科学解释与分析推论 (Scientific Interpretation)` 呈现；
- 明确区分“文献事实记录”与“AI 分析推论”，绝不把推论回填至事实表。

---

## 四、三轨输出契约 (Output Contract: Markdown 底稿 + JSON 合同 + HTML 报告)

### 1. 标准 Markdown 证据矩阵
必须遵循统一表头与最小充分引用格式：
```markdown
| 字段 | 抽取值 | 支撑类型 | 证据强度 | 逐字引句（最小充分） | 位置 | 状态 | 备注 |
|---|---|---|---|---|---|---|---|
| PCR volume | 20 μL | EXPLICIT（明示/E1） | 直接实证 | “PCR was performed in a total volume of 20 μL containing...” | Page 4, §2.3 | SUPPORTED | — |
| Annealing Temp | 55°C (正文) / 53°C (表2) | EXPLICIT（明示/E1） | 直接实证 | Methods: “annealed at 55°C”; Table 2: “Ta = 53°C” | Page 4 & Table 2 | CONTRADICTORY | 正文与表格矛盾，需人工复核 |
| DNA Extraction | following Waits et al. 2001 | REFERENCED（引自他文/E3） | 二手证据 | “Fecal DNA was extracted following Waits et al. (2001).” | Page 3, §2.2 | SUPPORTED | 本文未列细节，仅引用；本篇值记 NR |
| BSA concentration | NR | NOT_REPORTED（未报告/E4） | 未知 | — | — | AMBIGUOUS | NR 语义防护：未报告≠不支持，严禁记 UNSUPPORTED |
```

### 2. 伴生落盘结构化 JSON 文件
每篇提取结果必须在工作区生成同名伴生 JSON（如 `<Paper_Slug>_evidence.json`），严格通过 `schemas/extraction_result.schema.json`（及其引用的 `schemas/evidence_record.schema.json`）结构验证。

**执行点（2026-09-11 补齐）**：该契约此前**没有任何代码执行校验**——`extraction_pipeline.py` 的 docstring 自称 validating，但函数体直接 return，全仓生产路径不 import `jsonschema`。现在：
```bash
# 校验任意 extraction_result JSON；非零退出即违约
python skills/literature-evidence-extraction/scripts/extraction_pipeline.py -i <result.json> --evidence-chain
```
- `shared/validation/schema_gate.py`：有 `jsonschema` 时走 Draft 2020-12 + `$ref` 解析；无则退化为 stdlib 结构校验（模式标为 `structural-fallback`），**不会静默不校验**。
- `build_extraction_result(..., validate=True)` 默认校验，违约即抛 `SchemaGateError`。
- `--evidence-chain` 校验**审计交接完整性**：auditor 裁决必须带 evidence id 且覆盖全部记录。实测四环节 record_id 交集为 0（specialist `SF2-A1-…` / auditor `'G1 T105'` / merge `R3-A-01`），导致报告中任一证据无法反查原始记录。
- **schema 不能替代值核验**：`extracted_value` 为字符串类型，`"95.4%"` 与 `"55.4%"` 在 schema 眼里同构；忠实性由 `quote_audit.py` 的值—引文对齐负责。

**契约一致性（2026-09-11 修复）**：`claim_evidence_alignment.md` §九 定义 10 个关系主张状态标签，而 `evidence_record.schema.json` 的 `claim_status`/`status` 只允许 6 个，`BACKGROUND_ONLY`/`CONTEXT_ONLY`/`OTHER_ENTITY_CONTEXT`/`REFERENCED_ONLY`/`NOT_REPORTED`/`DERIVED` 无处可放，合规记录反而被判违约。现已补齐为协议全集（属性事实 6 + 关系主张 6）。另新增 `claim_components[]`，用于表达"数值成分可证、关系成分不可证"的部分可证主张——单一 `claim_status` 无法干净表达该情形。

### 3. HTML 可视化报告（全中文，便于直接阅读与归档）
由 `scripts/evidence_matrix_html.py -i <evidence.json> -o <report.html>` 自动渲染：全中文表头与色标徽章、统计面板、审计裁决框、
派生计算与未报告记录的特殊视觉标记。自包含单文件（内联 CSS、无 CDN、无 JS），离线双击即可阅读。HTML 是 Markdown 底稿的呈现层，
内容以 JSON 合同为单一真源，两者必须同批生成、同批交付。

---

## 五、技能协同与交接契约 (Workflow Handoff)

- **上游承接**：接收 [`literature-discovery-acquisition`](../literature-discovery-acquisition/SKILL.md) 检索下载的合法 OA PDF 或机构仓储全文；
- **下游交付**：将核验后的结构化事实矩阵与参数表直接交接给 [`literature-synthesis`](../literature-synthesis/SKILL.md)，作为学术争议诊断与跨篇证据对决的基础数据源。

---

## 六、支撑资源与文档目录

- **角色规范 (`role/`)**：
  - [specialist_role.md](./role/specialist_role.md)：主导抽取专员契约与 9 大硬铁律
  - [context_modeler.md](./role/context_modeler.md)：上下文隔离与动态 Schema 建模助手
  - [evidence_auditor.md](./role/evidence_auditor.md)：独立证据链核验员与 16 项清单一票否决审计
- **核心规程 (`references/`)**：
  - [claim_evidence_alignment.md](./references/claim_evidence_alignment.md)：全学科通用主张—证据对齐协议与关系硬门禁
  - [stage0_grill_me.md](./references/stage0_grill_me.md)：Stage 0 模式选择与动态 Schema 交互规程
  - [evidence_levels_and_status.md](./references/evidence_levels_and_status.md)：E1-E4 四级证据与状态标签定义
  - [assay_context_isolation.md](./references/assay_context_isolation.md)：复杂多实验体系参数隔离指南
  - [table_and_supplement_priority.md](./references/table_and_supplement_priority.md)：表格优先与 OCR 噪声防护指南
  - [audit_mode_protocol.md](./references/audit_mode_protocol.md)：既有科研结论反查审计规程
  - [interpretation_boundary.md](./references/interpretation_boundary.md)：事实抽取与科学解释边界隔离指南
- **辅助工具 (`scripts/`)**：
  - `scripts/pdf_evidence_locator.py`：PDF 页面与精准原句定位器（含特殊符号与 OCR 噪声检测）
  - `scripts/context_expansion.py`：AECE 上下文扩展与语义角色分类。2026-09-11 补中文线索：
    `classify_semantic_role` 原为**纯英文规则**，实测中文 5/5 返回 `UNKNOWN`，
    连英文 `"This suggests that…"`（Discussion 推测）也落 `UNKNOWN`——"严禁将 Discussion 推测记为结论"
    这条铁律在中文语料上完全未被执行。现补 CJK 线索（结果/方法/讨论/局限/引用/定义）并前移
    Discussion 判定（"…showed X, suggesting Y" 不得被记成结果）；仍对无关文本 fail-closed 为 `UNKNOWN`。
  - `scripts/claim_alignment.py`：A2 主张—证据对齐门禁（5 大门禁）。2026-09-11 补 `__main__`/argparse：
    `python claim_alignment.py --claim-text "…" --evidence-text "…" --evidence-role CURRENT_STUDY_RESULT`；
    关系型主张退出码 1 表示**不得进入 Confirmed Output**。同批修复 fail-closed 破口：
    `_check_predicate_grounding` 对**空谓词**原返回 True，导致不带 subject/predicate/object 的关系型主张
    被判 `SUPPORTED / is_confirmed_eligible=true`（A2 门禁形同虚设）；现改为 fail-closed
    （`REJECT_UNBOUND_RELATION_PREDICATE`），纯属性抽取可显式传 `claim_is_relational=False`。
  - `scripts/audit_claims.py`：既有 Claim 事实核查反查比对工具
  - `scripts/quote_audit.py`：引句回查硬校验门——证据 JSON 每条 verbatim_quote 必须回查源文献定位（EXACT/HYPHEN_JOIN/FUZZY），NOT_FOUND 即门禁失败，零模型判断。
    2026-09-11 起另含三项（此前缺失，实测被利用为逃逸通道）：
    ① **值—引文对齐**：把 `extracted_value` 解析为**完整数量**（符号 + 数值 + 指数 + 单位）后，回查其是否锚定在引文或其 ±200 字符上下文，**不在全文中出现即判失败**（堵住"引文真、取值假"的证据洗白）。单位参与比较，且按**精确十进制**换算：同为体积时 `2.5 mL == 2500 µL`，但 `1 nL ≠ 2 nL`（无"宽容差"）；跨量纲不匹配（百分比 ≠ 长度）；`bp/kb/mb` 分列；`%`=1/100、`‰`=1/1000，且 `%`↔裸比例只在记录声明 `value_type=proportion/ratio/...` 时互认。
    ①b **未知/复合单位诚实阻断**：单位不在受支持表内（`Gy`、`Sv`、`m/s`、`m2`）时保留单位原文并判 `UNKNOWN_UNIT`、计入 `gate_failed`；`UNIT_MISMATCH`（数字撞上但单位/量纲不同）、`UNPARSEABLE_VALUE`（含数字却解析不出数量）同样阻断。**不支持的单位不会被静默当成无量纲数字。**
    ② **未核验记录不再静默放行**：空引文 / 短于 `--min-quote-len` / 引文未定位，默认计入 `gate_failed`；确需放行须显式 `--unverified-policy list|ignore`；
    ③ **源文件溯源**：输出 `-s` 的 sha256/size，可用 `--source-pins` 绑定并在被替换时失败（实测向源文追加 184 字节即可翻转判定）。
    数值比对使用独立的空白不敏感折叠（`4 · 8` = `4.8`），并把 U+2219「∙」等 PDF 排版小数点归一化，避免把真实值误判为伪造。
  - `scripts/evidence_matrix_html.py`：证据 JSON → 全中文自包含 HTML 报告渲染器（色标徽章/统计面板/NR 视觉防护/派生公式高亮，零依赖离线可读）
- **资产与模板 (`assets/`)**：
  - **Canonical Schemas**：提取与证据产物遵循 [`schemas/extraction_result.schema.json`](../../schemas/extraction_result.schema.json) 与 [`schemas/evidence_record.schema.json`](../../schemas/evidence_record.schema.json)（统一单一真源，Skill assets 内不保留重复 executable schema）
  - [evidence_table_template.md](./assets/evidence_table_template.md)：标准 Markdown 证据矩阵模板
  - [audit_report_template.md](./assets/audit_report_template.md)：审计模式反查报告模板
  - [extraction_audit_log_template.md](./assets/extraction_audit_log_template.md)：抽取审计轨迹日志模板
- **案例与反模式 (`examples/`)**：
  - [molecular_ecology_extraction_case.md](./examples/molecular_ecology_extraction_case.md)：分子生态与 PCR 全流程实操案例
  - [audit_mode_verification_case.md](./examples/audit_mode_verification_case.md)：既有文献结论争议审查与纠错案例
  - [anti_patterns.md](./examples/anti_patterns.md)：14 大学术抽取反模式与负向对照清单
