# @adlc/review-calibration 中文文档

规范地址：https://npmcn.com/package/%40adlc/review-calibration/

版本：1\.12\.0
npm 元数据更新时间：2026-10-10T03:04:20.939Z
中文译文更新时间：2026-11-06T00:38:44.675Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adlc/review-calibration
原文对照：https://npmcn.com/package/%40adlc/review-calibration/?lang=original
项目主页：https://github.com/voodootikigod/adlc/tree/main/packages/review-calibration#readme
源码仓库：https://github.com/voodootikigod/adlc

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：95.4 kB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-06-13T21:12:53.116Z
- 最新版本发布：2026-10-10T03:04:20.598Z
- 近 30 天下载量：8129（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

措施审查员通过被埋设的虫子召回——由审查员(P5元门)审查.

## 安装

```sh
npm install @adlc/review-calibration
```

也可以使用：`pnpm add @adlc/review-calibration`、`yarn add @adlc/review-calibration`、`bun add @adlc/review-calibration`

## README

# @adlc/ review- 校正

**ADLC阶段:P5 meta-gate——"谁审查审查员"**

措施审查员通过布设的虫子召回. "我们做对质审查" 显示类别层次的盲点,并重新运行 每个模型的变化——抓住每个人目前吸收的无声回归 不知不觉.

这是针对 _审查者_ 而不是代码(ADLC C8).

## 如何运作

1.  **目标文件**: 文件更改于 `--commit` (单位:千美元)`git diff-tree`过滤到 非测试,非配置源代码。 倒计时 `--files` 如果实施 触摸没有符合条件的文件 .
2.  **植物选择**数字 : `mutate.generateMutants` 运行在每个目标文件上 全部内容。 最多 `--plants` 变种人通过绕行来选择 运营商负责覆盖。 每个植物都有真正的虫子 **类别** (逐个, 逻辑倒置,无处理,.)和a **缺陷** 说明. `--plants-file` 植物还可携带 **证人**。 。 。 .
3.  **等效混合滤波器**有目击者的植物必须消毒 (通过原作,失败的变种人). 证人不在场的植物 歧视是等同的变种人 被从分母中排除,而不是被打中。 每项排除都是 (a) 印成说明理由的证人 被破坏的目击证人而不是同等的变种人)包括尾部 运行的输出, 而一个不能开始的说,而不是"超时".
4.  **控制自测试(计分器)**: 在打分前, 两个参考审查员运行 通过决定主义 `referenceJudge` - 一个 _回声器_ (必须得分~0)和 a 一个 _预告_ (必须得分1.0). 如果有错的话 计分员自己就坏了 和工具输出 1。 这个界限 **计分器的汇总** - 它已经 没有非语义性的捷径——没有别的. 4个b. **自我测试控制(法官)**: 实际得到的号码是由 _配置_ 法官,没有 `referenceJudge`,所以回声控制运行一秒钟 只要法官做出至少一项判决 就能通过他 在那个 默认法官模式 无约束法官是操作失败(退出1)——a 法官不能拒绝回声评审者不能证明召回数字. `--scorer string` 让法官通过建筑来"匹配一切" 永远无法限定: 运行仍然完成, 并报告 `configuredJudgeBounded: false` 因此,未验证的数字可见于一个 机器消费者,而不只是警告 当找不到时 找到一个工厂 法官从来没有咨询过, 两者 `configuredJudgeBounded` 财务报告和审定财务报表 `configuredJudgeEchoRecall` 为: `null` - 这个 所以没什么好约束的.
5.  **应用所有植物**, (中文(简体) ), **运行 `--review-cmd`** (单位:千美元)`{base}` \* 承诺参考, **恢复** (在解剖学上,通过 `finally` + SIGINT 处理器;通过 下一个——见Safety.
6.  **分析结果**:审查者的产出被分析为结构化的结果 (对抗性审查) `--json` 形而上学,或修辞能力低下.
7.  **分数**: 只有当发现 LOCATES 时, 植物才为 CAUGHT( 文件+ 第±3行) **和** 被配置的法官(一种廉价的模型)确认其识别出缺陷. A 类 `repro` 字段在查找中解析但从未运行: CLI 不执行 由它所测量的审查者提供的指令。 有一个 **没有字符串匹配快捷键**:一个回响已改变行分~0. 召回=捕获/有效植株. 精度=真实/(真实+虚假结论), 找到一个不识别植物的发现是虚假的.
8.  **门**: 如果召回, 退出 2 < `--min-recall` (或精度 < `--min-precision` ; 否则退出 0。 在操作出错或控制失败时退出 1 .

### 计分器模式( E)`--scorer`(中文(简体) )

-   **`judge`** (默认)——廉价型语义相配. 需要 LLM 提供者 (单位:千美元)`ANTHROPIC_API_KEY` 编号 : `OPENAI_API_KEY` 编号 : `GEMINI_API_KEY`) (中文(简体) ). 没有提供者 该工具 **未关闭** (出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出不可信出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出. 每个发现地点都经过判断,包括载有 `repro`。 。 。 .
-   **`string`** ——LEGACY 位置唯一匹配. 由审查者游戏 重复已更改的行; 打印一个警告, 而不是一个值得信赖的召回号码 . 仅作为离线逃生舱提供.

见 `REDESIGN.md` 说明每项决定的全部设计和理由.

## 安全问题

-   **拒绝在肮脏的工作树上跑** (opError,出口1). 先交或者先藏起来.
-   工厂是写作和修复的 **解剖学** (temp文件+重命名),所以没有 源文件总是被截断.
-   在正常的退出、出错或 Ctrl- C 时,文件由跑者恢复 `finally` block(和CLI的SIGINT处理器).
-   一个跑步 **被杀死** 中期审查(CI取消的SIGTERM, `docker stop`(笑声) 无法恢复任何事物本身 `spawnSync`,没有 信号处理器运行。 在植入之前,CLI会写一个飞行记录 每个文件的原始内容并植入到 git dir (单位:千美元)`.git/adlc-review-calibration-inflight.json`) (中文(简体) ). 这个 **下一次运行** 恢复 那些文件之前的 肮脏的树检查 和在stderr说。 只有这样 恢复一个仍然保存精确的已插入内容的文件; 如果文件有 自那以后,它拒绝(第1出院),不写作,保留记录 然后持有唯一一份原件。 由进程拥有的记录 仍然运行是单独运行(退出1).
-   从审查命令中退出代码:0和2有效(通过/出门-故障). 任何其他出站代码都作为崩溃处理(opError,出站1).

## 使用量

```
review-calibration --review-cmd "cmd with {base} placeholder" [options]
```

### 选项

| 旗帜 | 默认 | 说明 |
| --- | --- | --- |
| `--review-cmd <cmd>` | (必须) | 贝壳指使管理审查员. `{base}` 改为承诺书. |
| `--commit <ref>` | `HEAD` | 提交更改后的文件作为工厂目标. |
| `--plants <n>` | `8` | 要植入的虫子数量 . |
| `--min-recall <f>` | `0.5` | 必须通过的最低召回分数(0-1). |
| `--files <list>` | —— 说 | 当任务没有符合条件的代码文件时, 以逗号分隔后退文件列表 . |
| `--json` | 虚假 | 机器可读JSON输出. |
| `--help` | —— 说 | 显示帮助. |

### 退出代码

| 代码 | 含义 |
| --- | --- |
| `0` | 出入口——召回 `--min-recall` |
| `1` | 操作错误 — 肮脏的树, 没有植物可基因化, 审查命令崩溃( exit {0, 2}) , 或参数错误 |
| `2` | 门失败- 记得 < `--min-recall` |

## 实例

**与对抗性审查的基本校正:**

```bash
review-calibration \
  --review-cmd "adversarial-review --base {base} --json" \
  --commit HEAD \
  --plants 8 \
  --min-recall 0.6
```

**JSON 给管弦乐手的产出 :**

```bash
review-calibration \
  --review-cmd "my-reviewer {base}" \
  --json
```

**自定义文件倒置( 当承诺没有符合条件的源文件时) :**

```bash
review-calibration \
  --review-cmd "my-reviewer {base}" \
  --commit HEAD \
  --files "src/auth.mjs,src/api.mjs"
```

**用一个微不足道的假审查员进行测试(CI 烟雾测试):**

```bash
review-calibration \
  --review-cmd 'node -e "process.stdout.write(\"LGTM\\n\")"' \
  --min-recall 0 \
  --json
```

## JSON 输出形状

```json
{
  "recall": 0.625,
  "caught": 5,
  "total": 8,
  "precision": 0.83,
  "truePositives": 5,
  "falsePositives": 1,
  "minRecall": 0.5,
  "minPrecision": null,
  "gatePass": true,
  "scorer": "judge",
  "judgeAgreement": null,
  "equivalentExcluded": 0,
  "commit": "HEAD",
  "reviewExitCode": 0,
  "perCategory": {
    "off-by-one":      { "caught": 2, "total": 2, "recall": 1.0 },
    "logic-inversion": { "caught": 2, "total": 4, "recall": 0.5 },
    "null-handling":   { "caught": 1, "total": 2, "recall": 0.5 }
  },
  "plants": [
    {
      "file": "src/auth.mjs",
      "line": 42,
      "category": "logic-inversion",
      "operator": "invert-comparison",
      "status": "caught",
      "original": "  if (user.role === 'admin') {",
      "mutated":  "  if (user.role !== 'admin') {"
    }
  ]
}
```

`precision` 真实 : `truePositives / (truePositives + falsePositives)`时 假阳性是发现没有植物的位置(在干净的地基中+只有我们的地基中) 树,没有别的破碎) **或者说** 一个定位一个植物但识别不 工厂的缺陷——一种未经证实的说法,如对所改变的行的回音. 找到的每个地点都有自己的判断 所以用回声来补充真正的捕捉 降低精度. `unsubstantiated` 报告有多少虚假阳性 第二类。 何时 `truePositives + falsePositives === 0` (审查员) 没有得出任何结论, `precision` 实值 `null` (不是1.0) 因为精度不能 被评价; 配置 `--min-precision` 如果精确度是 `null`。 。 。 .

## 校正逻辑

**抓获** 只有在发现时 植物才会被捕获

1.  **地点** 它——提到文件的基名和±3范围内的一行.
2.  **识别** 一个廉价的模型法官证实了这个结论 _这个_ 缺陷`scorePlants` 接受注入 `verifyRepro` 图书馆服务员; cLI不提供一种。 )

没有“输出包含已更改行的下弦”规则: 确切地说,是什么让一个排行审查者得分1.0。 回声定位但不会 识别,所以它得分为~0——每跑一次由内置回声控制执行.

**按类别召回** ——按真实bug类别细分的捕获率 (逐一取出,逻辑倒置,无所处理,. ),如此低召入一类 在特定的评审员盲点点点.

## 与兄弟姐妹工具的关系

| 工具 | 作用 |
| --- | --- |
| `hollow-test` (C4级) | 以测试为目标的突变测试——通过测试套件杀死突变人 |
| `review-calibration` (C8级) | 针对审查者的突变测试——措施审查员召回 |
| `adversarial-review` | 正在测试的评审员; 将输出线接入 `--review-cmd` |
| `gate-manifest` (C11) (中文(简体) ) | 将校正分数记录在每次复审判决的同时 |

## 核心差距

无——所有所需功能(`mutate.generateMutants`, (中文(简体) ), `mutate.applyMutant`, (中文(简体) ), `isDirty`, (中文(简体) ), `isGitRepo`, (中文(简体) ), `git`, (中文(简体) ), `parseArgs`, (中文(简体) ), `pass`, (中文(简体) ), `gateFail`, (中文(简体) ), `opError`, (中文(简体) ), `printJson`) 可在 `@adlc/core`。 。 。 .

## 常见问题

### @adlc/review-calibration 是什么？

措施审查员通过被埋设的虫子召回——由审查员\(P5元门\)审查\.

### 如何安装 @adlc/review-calibration？

在项目目录运行 npm install @adlc/review-calibration，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 review-calibration，可以用 npx review-calibration 直接运行。

### @adlc/review-calibration 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adlc\_\_review-calibration 是否存在。

### @adlc/review-calibration 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @adlc/review-calibration 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @adlc/review-calibration 可以商用吗？

@adlc/review-calibration 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @adlc/review-calibration 的下载量有多少？

根据 npm 官方下载统计，@adlc/review-calibration 在 2026/10/05 – 2026/11/03 这 30 天内被下载 8,129 次，日均约 271 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adlc/review-calibration 还在维护吗？

最新版本 1\.12\.0 发布于 2026/10/10（27 天前）；至今共发布 18 个版本，其中过去 12 个月发布了 18 个；首次发布于 2026/06/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

