# @adlc/build-gate 中文文档

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

版本：1\.12\.0
npm 元数据更新时间：2026-10-10T03:05:34.806Z
中文译文更新时间：2026-11-05T23:54:03.554Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：33.2 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：4 个
- 首次发布：2026-07-10T23:27:39.503Z
- 最新版本发布：2026-10-10T03:05:34.465Z
- 近 30 天下载量：8814（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 15 个）

## 中文简介

机器可检查的健身到建设门——拒绝在退化的(context-rot)会话中启动一个高风险的P4建筑,除非有经过审计的超标记录(C13).

## 安装

```sh
npm install @adlc/build-gate
```

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

## README

# 建构门

机器可检查健身到建设门(ADLC C13 - [问题48](https://github.com/voodootikigod/adlc/issues/48)) (中文(简体) ).

ADLC 中的其他规定 **开始** 一个高爆光圈 执行会话上下文退化时的票面构建 (P4) (“ context” ) 腐烂". `build-gate` 缩小这一差距:它产生票价的风险等级,检查 可检查上下文的信号,拒绝构建,除非 经审计的超标记录.

## ADLC 阶段

**P3 – P4入门.** 铁道冻结(P3)与监督建筑之间的位置 执行(P4) 警卫1名无变化者:a **高风险** 罚单不能开始 a. 建 议 **退化** 届会.

## 使用量

```
build-gate <ticket-id> [--depth <n>] [--session-bytes <n>] [--transcript <path>]
           [--depth-threshold <n>] [--bytes-threshold <n>] [--tickets <path>]
           [--reason <text>] [--json]
```

### 旗帜

| 旗帜 | 默认 | 说明 |
| --- | --- | --- |
| `<ticket-id>` | —— 说 | 门票( 需要) |
| `--depth <n>` | —— 说 | 预计算工具调用深度信号 |
| `--session-bytes <n>` | —— 说 | 预算的字节大小信号 |
| `--transcript <path>` | —— 说 | 本记录文件的衍生深度/ 会话字节 |
| `--depth-threshold <n>` | 第40条 | 工具调用计数器已过“ 降级 ” |
| `--bytes-threshold <n>` | 8388608 (8个米B) | 转写字节通过哪个会话“ 降级 ” |
| `--tickets <path>` | `.adlc/tickets.json` | 门票文件路径 |
| `--reason <text>` | —— 说 | 以覆盖方式记录的自由文本理由 |
| `--json` | 关 | Emit机器可读JSON结果 |
| `--help` | —— 说 | 打印此帮助并退出 0 |

库导出 `DEFAULT_BYTES_THRESHOLD` (单位:千美元)`lib/depth-signal.mjs`() 遗 存 `HARD_BYTES` (256 KiB)通过设计,所以这两个数字预计不会同意: 此二进制的旗下默认值是重新调整的操作阈值.

CLI进程无法观察自己的呼叫者上下文状态——呼叫者(a) 接钩、CI包装器或任何带子都必须通过 `--depth`编号 : `--session-bytes`点 `--transcript` 在一个记录文件 获取它 从. 供应 **也没有** 默认信号为“ 不退化 ” — 一个门 因为没有信号不能否认.

### 退出代码

```
0  allow (gate passes)
1  operational error (bad ticket id, missing tickets file, bad thresholds)
2  deny (gate fails)
```

## 风险等级

罚单是 **高风险** 如果声明 `"risk": "high"`,或其中任何一种 已经从罚单上的球场传出信号:

-   `external: true` ——在外部系统中写回/创建/删除
-   `mutatesIdentity: true` ——变异身份
-   `scope`编号 :`rails` 光谱 `.adlc/manifest.jsonl` - 改变门-证据分类账
-   `scope`编号 :`rails` 光谱 `.adlc/tickets.json` 或者说 `.adlc/current-ticket.json` ——触及信任根
-   `category` 实值 `contract` 或者说 `architecture`

声明 `"risk": "normal"` 能够 **永远** 降级 一个衍生的高信号 - 这将是一个沉默, 无法察觉的方式 击败大门.

## 上下文适应性信号

一个“ 此会话很深” 的代理, 镜像 [`@adlc/flail-detector`](https://npmcn.com/package/%40adlc/flail-detector)现有笔录大小 / 工具调用扫描方法:工具调用方法`--depth`)和a 数据 笔录字节数( e)`--session-bytes`),每个比起一个阈值. 超过阈值的信号意味着会话是 **退化**。 。 。 .

## 已审计超标

设定 `ADLC_BUILD_GATE_BYPASS=1` 故意超越一个否认者 `ADLC_RAILS_BYPASS` 使用的模式 [`rails-guard`](https://npmcn.com/package/%40adlc/rails-guard)) (中文(简体) ). 这个 覆盖是 **仅限** 如果能够长期记录到 `.adlc/manifest.jsonl` 作为 `build-gate-bypass` 条目 - 覆盖 不能被录制,绝不允许默默无闻.

## 工具包模块(Path A——任何设备都可以重复使用)

-   `lib/risk.mjs` —— 说 `computeRiskTier(ticket)` 编号 : `deriveRiskSignals(ticket)`
-   `lib/depth-signal.mjs` —— 说 `computeDepthSignal({ text, bytes })` 编号 : `isDegraded({...})` (绝对硬带通过 `@adlc/context-handoff` `isHardDegraded`; 包容性 `>=` 时间 `HARD_DEPTH` 编号 : `HARD_BYTES`(中文(简体) )
-   `lib/decide.mjs` —— 说 `decideBuildGate({ riskTier, degraded, bypass, recordBypass })`
-   `lib/override.mjs` —— 说 `recordOverride({...})`
-   `lib/active-ticket.mjs` —— 说 `resolveActiveTicketId({ dir, env })`,共享 `ADLC_TICKET` 环境 var / `.adlc/current-ticket.json` 已经使用的公约 由其他所有控制器集成(编码、开码、光标、反重力)

## Claude代码集成(Path B-自强制能)

`plugins/adlc-claude-code/hooks/adlc-hook.mjs`是因为 `buildgate` 预工具使用模式 提供会话背景信号(相同的记录窗口中转) 页:1 `flail` 模式已经这样做)并计算风险等级、上下文是否合适 信号,并允许/拒绝决定 **完全在当地** ——逐字记录 这个包裹 `lib/risk.mjs` 编号 : `lib/depth-signal.mjs` 编号 : `lib/decide.mjs` 逻辑,在钩源中标有"KEEP IN SYNC". 没错 **没有** 外壳到 `adlc build-gate` 决定; `adlc` (通过) `gate-manifest`)被援引 仅持续记录经审计的超标,反映 `rails` 永远 需求 `adlc` 对于它自己的核心决定。 见 `docs/specs/build-gate-fitness.md`,包括委员会 **已知的限制** 区域(无法读取的- transcript 已关闭的行为,以及未受保护的行为) `.adlc/current-ticket.json` 指针作为巴什可通取,CI不支援 逃出舱门.

## 常见问题

### @adlc/build-gate 是什么？

机器可检查的健身到建设门——拒绝在退化的\(context-rot\)会话中启动一个高风险的P4建筑,除非有经过审计的超标记录\(C13\)\.

### 如何安装 @adlc/build-gate？

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

### @adlc/build-gate 支持 TypeScript 吗？

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

### @adlc/build-gate 支持 ESM 还是 CommonJS？

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

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

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

### @adlc/build-gate 可以商用吗？

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

### @adlc/build-gate 的下载量有多少？

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

### @adlc/build-gate 还在维护吗？

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

