# evidence Agent Contract

042 轮的测量工件。本目录与前几轮不同的地方在于：**它记录了同一个问题被三种方法测出三个不同答案的全过程**，其中两个已作废。所以第一条规则不是"怎么跑"，是"哪些数不能引用"。

## 已作废的读数（引用前必看）

| 读数 | 出处 | 为什么作废 |
| --- | --- | --- |
| 「L106 承重，10/10 → 0/10」 | `deletion-L106.json` / `.txt` | **构造性同义反复**。marker 被 `deletion_arms.rb` 的隔离闸逼成「只有该行提到的词」，删掉该行模型自然不说那个词——测的是删词，不是变差。结论碰巧与后来一致，但不作证据 |
| 「L120/L113」的正则读数 | `deletion-L120-L113.json` | 同上 |
| 批 1 三处改动的正则读数（`0/10 → 8/10` 一类） | `conflict-arms-*.json` 的 `status` 字段 | **量级失真**。marker 写在看过新文本之后，继承其词汇；旧臂用别的说法说对同一件事被判 miss（实证：回答写「剥离」，正则写「剥掉」）。**这些文件的 `out` 字段仍然有效**——`rejudge.py` 正是重判它们 |
| 「零成本对调顺序有效」 | `order-probe.json` | 不复现（轮 1 discard 4→2，轮 2 持平），未采纳 |

**有效的读数**：`rejudge-verdicts.json`（按义务重判 180 条已存输出）、`frozen-rubric-run.json`（冻结判据 + 双向解离）、`final-verify.json`（对最终落地文本的无判据复验）。

## 规则

- **落地后冻结。** 不得为让后来的结论更好看而编辑、重判、裁剪或重生成这些文件。要推翻某个读数，就放新的测量并说明，像本目录已经做过三次的那样。
- **这些 runner 是证据工具，不是仓库闸。** 全部调用活模型、非确定性，绝不接入 `make test` 或任何阻断检查。这里跑绿不证明仓库任何性质。
- **`frozen-rubric.json` 不得事后编辑。** 它由独立通道在不知道任何删除候选的前提下产出，并在本目录任何一次冻结判据运行之前提交（`a82058c`）。判据一旦随结果调整，整套测量的意义就没了。其已知局限（O3 把义务与制品命名捆在一句）记在 `frozen-rubric.md`，**记而不改**。
- **阈值与判定序随判据冻结。** `run_frozen_rubric.py` 的 30% 门槛与判定顺序不得因某次结果不合意而改动；若确需改，报完整敏感性网格（`batch-1-result.md` 里有一次这样的先例，四格全列）。
- **量具自身的四道闸不得为了让结果好看而放宽**：`conflict_arms.rb` 的效力闸（旧臂无失败空间即 `INVALID_PROBE`）、功率闸（零结果需 `n>=10`）、复现闸（verdict 须跨独立运行一致）、两臂文本从 git 取（禁手抄——手抄的旧臂夸大过效应）。`--selftest` 用合成计数证明五个 verdict 分支可达，改动判定逻辑后必须重跑它。
- **删除类结论必须有阳性对照。** 证「删了无害」是零结果，与「仪器测不出任何东西」不可区分。`run_frozen_rubric.py` 用双向解离（两个候选互为对照）满足这一条；无对照的删除读数一律不作数。
- **数字按实测报告。** 与预期相反的结果留在记录里：批 2 的结论被撤回两次、零成本方案无效、一处子句三版探针都测不出效果，全部照记。
- **无凭据、无主机路径、无第三方内容。**

## 方法学教训的落点

本目录暴露的八类失效已提炼进 `skills/skill-extraction-workflow/references/external-practice-controls.md#designing-a-behavioral-evidence-measurement`。核心一条：**判分标准必须先于被测改动存在**——做不到就让没见过候选的一方产出它。本仓对**处置**早有预注册纪律（039/041），对**量具**此前没有。
