# @adlc/prosecute 中文文档

规范地址：https://npmcn.com/package/%40adlc/prosecute/

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

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

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

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

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

## 中文简介

P5审查-证据记录器,以记录有票和审校内容的调查结果并完成干道工作.

## 安装

```sh
npm install @adlc/prosecute
```

也可以使用：`pnpm add @adlc/prosecute`、`yarn add @adlc/prosecute`、`bun add @adlc/prosecute`

## README

# @adlc/ 起诉

> **设计决定:这是记录员,不是审查员.** `@adlc/prosecute` 计算为零 模型调用,并且没有进行自己的对抗性审查。 这是一个P5证据分类账: 验证、散列和附件 正常的审查员制作的通行证记录 `.adlc/manifest.jsonl`。实际的模型评议是一个单独的工具 -- -- 运行 `npx adversarial-review` (或 `adlc review`和饲料 **联合国** 输出到 `prosecute` 作为 `--input` 证据。 如果你运行 `adlc prosecute` 它希望它找到错误,它不会;它只是证明一个真正的审查已经做了.

P5审查-证据记录器. 它消耗了正常的审查员 制作的通过证据, 记录罚单和审校范围P5证据 `.adlc/manifest.jsonl`,然后通过 只有在连续两次干燥后,至少有三个明显的干镜.

## 使用量

```sh
adlc-prosecute --input p5-passes.json --ticket T1 --dir .adlc --json
```

## 输入形状

```json
{
  "target": "feature branch",
  "provenance": {
      "reviewer": "local-reviewer",
      "session": "codex-session-123",
      "command": "npx adversarial-review --scope working-tree --include-files",
      "transcript": ".omo/evidence/p5-review.txt"
  },
  "review_packet": {
      "prompt": ".omo/evidence/p5-prompt.txt",
      "prompt_hash": "sha256-of-prompt-file",
      "inputs": ".omo/evidence/p5-inputs.txt",
      "inputs_hash": "sha256-of-reviewed-input-packet",
      "clean_worktree": "git-worktree:..."
  },
  "passes": [
    {
      "lens": "security",
      "findings": [
        {
          "id": "F1",
          "severity": "high",
          "category": "security",
          "file": "src/auth.js",
          "line_start": 10,
          "line_end": 12,
          "evidence": "quoted changed code",
          "claim": "token bypass",
          "recommendation": "validate issuer",
          "confidence": 0.8,
          "verified_status": "verified"
        }
      ]
    },
    {
      "lens": "security",
      "findings": [],
      "dry_evidence": "review transcript reports no verified security findings"
    },
    {
      "lens": "correctness",
      "findings": [],
      "dry_evidence": "review transcript reports no verified correctness findings"
    }
  ]
}
```

`verified_status` 必须是 `verified`, (中文(简体) ), `killed`,或 `needs-human`被杀死的发现必须 包含 `verification.reason`, (中文(简体) ), `verification.method`,以及 `verification.evidence`。 。 。 . 输入必须使用内置镜头名称: `security`, (中文(简体) ), `correctness`, (中文(简体) ), `tests`, (中文(简体) ), `behavior`, (中文(简体) ), `integration`,或 `docs`。当 干证包括证据。 如果没有标记发现 `verified`,输入必须包括 `no_findings_attestation` 与 `reason`, (中文(简体) ), `method`,以及 `evidence`。通过时只有零发现为干;已死亡 调查结果记录下来,但不推进干道汇合.

记录稿不作为一般附件处理。 它必须可以读取,至少64个 字节,必须同时引用 `--ticket` 价值和已解决的订正案 字符串( r)`git-worktree:<hash>` 除非 `--revision` 页:1 此绑定记录 P5给罚单和修改的证据 P6后来检查,但仍未证明 一个外部评论员跑。 使用名称 `provenance.command` 和记录 而非手写占位符.

审查包将审查者迅速和审查后的投入包与P5证据相接. `prompt` 财务报告和审定财务报表 `inputs` 是文件路径,它们的散列必须符合所提供的SHA-256值, 财务报告和审定财务报表 `clean_worktree` 必须等同于经过审查的准确修订.

**证据文件的位置是强制执行的,而不仅仅是惯例.** 若为 `provenance.transcript`, (中文(简体) ), `review_packet.prompt`,或 `review_packet.inputs` 确定路径 _内部_ 工作树木, 它必须活在 `.adlc/` 或者说 `.omo/evidence/` - 说吧 `lib/run.mjs`是因为 `isEvidencePath()` 拒绝 任何其它工作环境 这是一个信任边界控制:它停止审查"证据" 从指向repo中其他地方的任意文件,该文件可被编辑成伪造文件 清洁审查. `.omo/evidence/` 是另外的指定抓取空间, 但是三个文件 支持捆绑的示例( e)`docs/examples/p5-passes.json`)被刻刻刻刻刻刻刻刻刻刻 忽略规则和跟踪 -- -- 见注释 `.gitignore` 在治疗之前 下级 `.omo/` 安全删除.

## 信托一级——需要交叉模式审查(T39)

给 **信任根级**干净的同型P5还不够 CLI计算 已更改的文件集 **工作任务对 `<base>`** (默认) `--base main`)——"二点" `git diff --name-only <base>` (跟踪变化,包括未承诺), 无标记文件( n)`git ls-files --others --exclude-standard`)——将其分类为: `lib/tier.mjs`包含工作-树木的有载荷:起诉与工作-树木相连 修订,所以三点 `<base>...HEAD` (仅承诺)将错过 **未承付** 编辑到一个信任根文件,让一个聚合的 P5 退出 0 没有证明。 变化是 信任根级,如果它碰到执行包 (单位:千美元)`packages/rails-guard|prosecute|gate-manifest|build-gate/`),一门相机制作人 (单位:千美元)`packages/ticket-prune|ticket-sync/`),一条被宣布的铁路拒绝任何罚单,一个CI 控制表面(在 `.github/workflows/` 或者说 `.github/actions/`,测试路径 包含 —— 牵引请求运行它自己的复制件, 这样编辑可以实现所需的 检查通过而不运行),或信任根文件(`scripts/rails-guard-ci.mjs`, (中文(简体) ), `docs/ci/rails-guard.yml`词根 `package.json`编号 :`package-lock.json`编号 :`.npmrc`, (中文(简体) ), `CODEOWNERS` gitHub 读取任何位置的回放守护文件 `lib/tier.mjs`) (中文(简体) ). 售票店不是层地平面:铁道-护卫-ci已经拒绝 现有票的任何更改。 罚单表 铁道-密度-路径分层从 **不变 `--dir`** 起诉用途(退回) 改为 `.adlc/tickets.json`),所以铁路按照惯例宣布 `--dir` 并非是隐形的 一级。 A 类 **完成** 票道(`completed: true`,严格布尔) 铁道密度-路径原因——它们自动失效,匹配了铁道自有的T36完成状态 生命周期读取,所以变化在 `packages/` 不是永远的分级 只是因为一些 已公布的长成票 `packages/**` 作为铁路(#905). 复制票号 在分类前合并了整个基站和工作树/高级专业技能证书的票表 赢取基准提示 `completed` 铁路连成一串 罚单在底盘上完成之前 一旦底盘完成 仍有好处 仅限总部完成的索赔仍不能免除基地小费仍在使用的机票。 因为 一个变化,一个经过的P5 **额外** 需要一个 `cross-model-review` **`approve`** 在《古兰经》中 `provider` 与提交人不同,而且提交人 `revision` 等于经审查的修订。 失踪 – 2号出口.

**作者身份被锁定在公诉方.** 分级运行 MUST 声明作者 通过 `--author-provider <p>` (或 `ADLC_AUTHOR_PROVIDER`); 差异度对照 _那个_ 起诉的提交人,而不是该条目的自报 `authorProvider` (单位:千美元) 证明书定义了双方,因此只比较自己的字段是可伪造的). 大门也是 要求为作者提供记录。 分层运行 **没有** 作者提供者 **未关闭** (退出1)——无法在不知道情况的情况下证明其独特性 作者们.

**在无法解决的基地上失败关闭.** 分层需要底部的校对来计算分层 若为 `<base>` 无法解决(例如浅的 CI 检查结果没有) `main`),《国家行动倡议》 **拒绝 1号出口的运行** 而不是默默地跳过交叉模式的要求——沉默的 这个门是用来防止故障的. **CI必须提供: 基础** (牵取取取取等. `git fetch --no-tags origin main`,或者通过一个明确的 `--base <ref>`) (中文(简体) ). 模拟单位运行,只表示趋同(而不是分层)通过 `--base HEAD` 所以,从 **承诺** 工作树、工作树和阶梯门都空了 关闭( 在承诺后进行此类检查; 未承诺的信任根编辑 ) .

(经实际交叉式审查批准后)将证明书记录如下:

```
ADLC_MANIFEST_KEY=<key> adlc prosecute record-cross-model --ticket <id> \
  --provider <p> --author-provider <a> --verdict approve [--input <passes.json>] [--revision <r>]
```

**记录需要签名密钥(#370).** 门只通过它的 HMAC签名,所以一个没有签名的条目是惰性的. 无 `ADLC_MANIFEST_KEY` 命令 因此 **未关闭** ——出站1号,无文字,并留言命名后果 而不是写一个没有签名的条目和报告成功。 那种旧行为的代价 在CI发现证明不值钱之前, 内容是永久的,名单是专列的,是散列的。 注意键是 通常保存在被标记的 `.env.local` 输入 **主检出**,则未在 每一棵树; `record-cross-model` 读它从 `./.env.local` (从来没有) `tier-check` —— 说 见 `lib/load-env-local.mjs`因此,从一个工作树的来源 它明确地.

故意写一个未署名的条目——#326's def-resistance test does,以证明大门 拒绝一个——需要明确 `--allow-unsigned`未签名的书写者不会打印 成功行; 它会打印一个警告来命名结果 . `--json` 报告 `"signed": true|false` 和录制的入口一起走.

它解决修改的方式与大门一样(`resolveProsecutionRevision`所以通过 同样的 `--input`编号 :`--revision` 你用门跑. `--provider` 必须不同于 `--author-provider` ——同一型号的证明在创纪录的时间内被拒绝并被拒绝 大门(`lib/cross-model.mjs`,失败关闭). 就像护栏一样 这不能证明一个模型运行 提交人的身份现在来自检方的援引(不是自我报告)和记录 是一个可审计的、有修订内容的、只有附件内容的、独特的提供方的、有作者意愿的条目。 见 [ADR-0007 (英语)](https://npmcn.com/package/docs/adr/0007-multimodel-adversarial-review.md)。 。 。 .

## 截断反回滚锚( opt- in, # 355)

**这是一种硬化模式 这个repo自己的狗食。 这不是需要的ADLC • 能力——没有收养者需要或预期会使用这种能力.**

上面的跨型门关上 **伪造** (签名覆盖条目)和 **重写** (散列链+每进站签名拒绝一行已编辑到位置的行) — 见 HONEST LIMIT 注释 `lib/cross-model.mjs`。还有一个漏洞:控制公关分支的作者可以 **截线** 名单,丢出一个签名 `needs-attention` 完全撤销和离开 有效、较短、有效签名的链条,以较早的真核结尾 `approve`因为 修正散列排除了显示路径(所以记录证明不会改变它是什么) 证明的是,放弃的吊销单凭要求的检查是看不见的——它评价 只有断了的树.

`lib/attestation-store.mjs` 用被保护的反光镜关闭它:一个孤儿分支 (单位:千美元)`adlc-attestations`,规则保护——见 `docs/github-rulesets/adlc-attestations-ruleset.json`) 持有每个签名的跨型条目 a 信任的CI 运行曾经观察到过, 由新的 `mirror-attestations` 子命令 . `tier-check` 获得可选 `--attestation-store <path>` 旗帜;通过时,商店有签名的条目 这在公关的单子上不见了 门关上了 "ROLBACK/TRUNCATION DETED"消息(与"无证"和"链断"分开). **抹去旗帜 照搬今天的行为** 这就是为什么这个机制是 选入而非烘焙入共享库的默认路径. 只有这雷波自己的 `.github/workflows/cross-model-gate.yml` 被接线使用(该工作流程从未是 分布式模板,与 `docs/ci/*.yml`) (中文(简体) ).

**有文件证明的剩余限额**: 只有在信任的 CI 运行时才会保护撤销 观察了它(在中断前至少一次输入公关和工作流程)。 A 类 记录的但从未被推倒的吊销对每个人来说都是看不见的——与一次接触相同 未提交审查。 这绝对比上面的伪造/重写门好,不是 (a) 索赔完整性.

**被篡改或按键旋转的商店条目 FAILS CLOSED,没有默默忽略.** `readObservedAttestations` 财务报告和审定财务报表 `mirrorObservedAttestations` 如果任何商店条目的签名无法验证, 则同时掷出.. 这或者是一个 `ADLC_MANIFEST_KEY` 旋转( 每个历史存储条目都需要迁移) 在新键上,与主显示链已经要求的相同处理)或由 绕行级别写入访问者 `adlc-attestations`。旋转签名密钥是 所以这家店也有迁移事件: 重新铺设或重新签名,别指望 `tier-check --attestation-store` 不停地工作 轮到没有那一步.

**被观察的条目范围为 `(revision, authorProvider)`而不是通过公关/分支身份——故意.** 两种不同的公共关系,偶然产生一个字节相同的修改(同基,相同) diff——一个重复的分支,例如)共享被观察到的输入历史,所以一个被撤销的镜像 从一个可以阻挡另一个。 这是有意的,而不是空隙: `revision` (更改设置的身份) 从"365"已经表示"被审阅的更改的特性",""365"本身的结转" 特性将相同的更改集摘要作为进行判决的理由 _转发_处理 同一文摘作为携带 _撤销_ 向前是对称的,一致的 后果——增加一个PR-唯一歧视者以避免这种情况会使攻击者躲避被撤销者 通过打开含有同字节内容的新PR来审查. 见 [设计文件](https://npmcn.com/package/docs/superpowers/specs/2026-07-28-cross-model-truncation-anchor-design.md) 完整的威胁模型,形成最终设计的尸检/截面结果,以及 为什么商店的路径必须生活在树外 分层.

## 退出代码

-   `0`:记录了连续两次干证(或记录了调查结果/证明)
-   `1`: 操作错误
-   `2`:经核实/需要 -- -- 人类调查结果依然存在,合并预算在两次干燥之前结束 通过,信任层的变化缺乏匹配的跨模型证明,或者(与 `--attestation-store`检测出回滚/倾覆

## 核心差距

这个软件包记录了跨型号的证明 `@adlc/gate-manifest`链条 `record()` (见 `lib/cross-model.mjs`并读回他们通过 `@adlc/core`是因为 `readEntries`。 。 。 . 信托级分类员(`lib/tier.mjs`住在这里,而不是在 `@adlc/core` (被冻结),因为它是针对具体起诉的政策;如果第二套需要同样的政策 二进制信任根决定,列出的表面(执行包、生产者、, 信任根文件)最理想的将升级为 `@adlc/core` 与现有 `railpath`编号 :`risk-tier` 帮助者,所以列表有一个单一的真理来源.

## ADLC 阶段

P5起诉. 这个工具使得审查证据和干道记录可以执行,但 名为 `provenance.command` 仍然是审查的来源.

## 常见问题

### @adlc/prosecute 是什么？

P5审查-证据记录器,以记录有票和审校内容的调查结果并完成干道工作\.

### 如何安装 @adlc/prosecute？

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

### @adlc/prosecute 支持 TypeScript 吗？

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

### @adlc/prosecute 支持 ESM 还是 CommonJS？

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

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

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

### @adlc/prosecute 可以商用吗？

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

### @adlc/prosecute 的下载量有多少？

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

### @adlc/prosecute 还在维护吗？

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

