@agent_forge/forge-linux-x64 1.82.0 → 1.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/README.md CHANGED
@@ -216,7 +216,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
216
216
  | **assertion-check** | Write/Edit 前 | 检测断言弱化(t.Fatal → t.Log、assert! 被删除等),advisory 提醒不阻塞(agent 自检) |
217
217
  | **bash-guard** | Bash 前 | 检测命令中的写文件模式(writeFile、cat >、sed -i 等),无任务时 WARN(源码随后被 file-sentinel 隔离) |
218
218
  | **gate-cmd-form** | Bash 前 | 门禁命令嵌组合形态(分号续行/截断管道/grep 掩蔽/\|\| 链/多门禁连刷)时 **BLOCKED 拦截**——分号让前一门禁 BLOCKED 后链条照走、截断管道吞掉 BLOCKED 文本面,退出码契约被系统性削弱(设计 C;delivery-hardening 墙-1a:1.67 机械版本门 ratchet 生效,会话阻断上限 5 有界;逃生 FORGE_GATE_CMD_FORM=0 落 checklog 审计;重发为单条门禁命令或仅用 && 串联) |
219
- | **hazard-guard** | Bash 前 | 高危命令(`rm -rf`、`git push --force`、`DROP TABLE/SCHEMA`、`TRUNCATE`、`GRANT ALL`、`kubectl delete`、`docker system prune`、无 WHERE 的 `DELETE/UPDATE`、解释器内联删除如 `python -c "os.remove(...)"` 等)human-in-the-loop 拦截:block + 指引用户确认 → `forge hazard confirm` 登记 5min 限时标记 → 重试放行(confirm 链是唯一放行路径,`FORGE_ALLOW_HAZARD` 已移除) |
219
+ | **hazard-guard** | Bash 前 | 高危命令(`rm -rf`、`git push --force`、`DROP TABLE/SCHEMA`、`TRUNCATE`、`GRANT ALL`、`kubectl delete`、`docker system prune`、无 WHERE 的 `DELETE/UPDATE`、解释器内联删除如 `python -c "os.remove(...)"` 等)human-in-the-loop 拦截:block + 指引 agent 向用户说明风险 → 用户在自己的终端运行 `forge hazard confirm --last` 登记 5min 限时标记(confirm 只接受真人终端)→ 重试放行(confirm 链是唯一放行路径,`FORGE_ALLOW_HAZARD` 已移除) |
220
220
  | **auto-compile** | Write/Edit 后 | advisory 提醒用对应技术栈编译命令自检(go build / cargo check / mvn / tsc 等),不强制编译 |
221
221
  | **workflow-test-guard** | Write/Edit 后 | 改 `.github/workflows/*.yml` 后自动跑 `internal/ci` 守护测试,把"沙盒异常"即时反馈给 agent(不依赖 CI 兜底),是 release.yml test→goreleaser→npm needs 链的实时守护层 |
222
222
  | **file-sentinel** | Bash 后 | 监控文件变更,未授权修改隔离到 DataDir/quarantine/(`forge data-dir` 查看路径,可恢复,不删除) |
@@ -224,7 +224,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
224
224
  | **failure-track** | 命令失败后(PostToolUseFailure) | 记录 CheckToolFailure 观察;失败文本命中编译/测试类指纹(`undefined:`/`error TS`/`error[E`/`--- FAIL` 等)时注入 compile-fix-loop skill 事实性指针(advisory 不阻断——失败已发生) |
225
225
  | **subagent-track** | 子 agent 结束(SubagentStop) | 记录 agent_id/agent_type/交付长度+首行摘要到 checklog(归因数据——此前子 agent 活动 forge 侧零记录);纯观察,无输出无阻断 |
226
226
  | **test-nudge** | Write/Edit 后(活跃任务内) | 事中测试提醒:连写 ≥3 个源码文件且无配对测试写入时注入一次 test-discipline skill 事实性提示(advisory,每连写只提示一次);测试写入重置计数;无任务静默;执法仍在 task-verify 门禁 |
227
- | **task-verify** | 会话结束 | advisory:任务门禁/主分支保护到 stderr+checklog(不阻塞会话结束) |
227
+ | **task-verify** | 会话结束 | 任务门禁/主分支保护到 stderr+checklog(advisory);活跃任务 + 未提交代码变更时有界阻断 Stop(每会话最多 3 次,超限回落 advisory;逃生 `FORGE_TASK_VERIFY_STOP=0`) |
228
228
  | **review-stop** | 会话结束 | code-review-gate 自动挡:未审源码变更 block 会话结束。task 模式不重复拦(task-complete 门禁 ReviewPassed 硬前置已强制),非 task 模式按 diff stamp 决策;并发会话检测——其他 session 有活跃任务时放行(调研 session 不被拦) |
229
229
  | **skill-scan** | 会话开始 | advisory:扫描 ~/.claude/skills 安全性(`forge skills audit`,21 条安全规则),补 install 门控缺口(手动 clone/junction/git pull 进入的 skill),全局 hook 不依赖 forge project |
230
230
  | **mcp-scan** | 会话开始 | advisory:扫描项目级 `.mcp.json` 的 server 配置(管道执行/任意包执行 npx·uvx·dlx·bunx/内联代码/非 https URL/env 明文凭证),补 skill-scan 盲区(攻击者可经 PR 植入恶意 server,clone 即自动连接);只审 config 层,runtime tool description 注入(Tool Poisoning)不在能力内,全局 hook |
@@ -330,15 +330,15 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
330
330
  | `forge init --profile <lite\|standard\|full>` | W0.3 接线档位:lite=拦截+管线+状态最小集(12 hook/6 事件),standard=完整现行(默认),full=预留位;持久化 `~/.forge/profile`,FORGE_PROFILE env 可覆盖,运行时门即时生效 |
331
331
  | `forge eval dashboard [--dry-run] [--json]` | Track B 遥测(C4/C7):escape 率/off_churn/自举通过率(Wilson 95% CI + 误用注记;样本低于字典下限只出 INSUFFICIENT)。快照落 `~/.forge/evals/forge/snapshots/` |
332
332
  | `forge eval harness-audit [--json]` | A–G harness 修复的事前/事后度量(docs/design/harness-fixes-a-g-2026-09.md M):checklog × toollog(2s 双记去重)× 任务 × hazard 一次算出 skill-trigger 日均触发/按通道转化/inline 跟随/verification-driver 精度、next-hint 采纳、门禁命令形态 C1–C3、refs-critical 下钻(按 host)、封印后归因泄漏、hazard 双投递、coverage 拦后转 pass;`--json` 带口径字段,两机回测只比同口径基线(`evals/harness-audit-*-baseline-*.json`) |
333
- | `forge eval golden run [--dir <dir>] [--repeats N] [--rewrite-manifest] [--json]` | 门禁 golden 标注集重放:precision/fpr(Wilson 区间)+ 确定性重放一致率;用例集指纹钉在 `evals/forge/golden/MANIFEST.sha256`,不符拒绝运行(`--rewrite-manifest` 仅限显式轮换) |
333
+ | `forge eval golden run [--dir <dir>] [--repeats N] [--rewrite-manifest] [--release] [--json]` | 门禁 golden 标注集重放:precision/fpr(Wilson 区间)+ 确定性重放一致率;用例集指纹钉在 `evals/forge/golden/MANIFEST.sha256`,不符拒绝运行(`--rewrite-manifest` 仅限显式轮换)。用例 `layer: test` 只在 `--release` 时运行,每次给 test 层查询计数 +1 并落 `eval-golden-test-query` 行 |
334
334
  | `forge eval golden private-init` / `rotate [--max-cases N]` | 私有 golden 子集(0700,永不进 VCS)与季度轮换(oracle 复验 + 最老优先淘汰 + 审计行) |
335
335
  | `forge eval traps run [--dir <dir>]` | 对抗陷阱重放(14 用例:测试削弱/伪造审计证据/虚假完成 + cheat-scan 七模式族 11 例——type-suppression/error-swallow/dead-branch/comment-only-fix/comment-as-debt/phantom-import/path-assumption,经 gate push --dry-run 推送边界探测;ImpossibleBench 思想);capture 率与行动清单 |
336
336
  | `forge eval redteam` | seeded-bug 红队演练(oracle-pipeline L6):对验证链自身注入五类雷(零验收交付/internal 零引用导出/吞错/类型抑制/heldout gap),逐颗用既有检查函数判定拦截——escaped 或设施故障即如实披露(exit 非 0 供 CI 门禁);与 traps 互补:traps 回放过去,redteam 注入现在 |
337
337
  | `forge eval oracle run [--suite evals/oracle] [--arm both\|scanner\|acceptance] [--repeats N] [--image <img>] [--json] [--out <md>]` | 变更级沙箱考卷(v0,docs/design/sandbox-oracle.md):每条用例在临时 git 仓库里回放一次变更——扫描臂调与被测门禁同一函数 `ScanCheatPatternsRange` 量 cheat 召回/类别准确率/误报(known_fp 不进分母),验收臂在 `docker run --network none` 里先跑可见测试(OFF)再挂 held-out(ON)量逃逸率;套件指纹(用例 sha256)写进报告可复算,`--repeats` 检出确定性漂移(flips)。实测 v0:召回 86%(6/7,唯一漏网是无机械签名的语义 stub——盲区被记录而非漏测)、误报 0/3、逃逸 100%→0% |
338
- | `forge eval judge-audit --scores <file>` | 判分器受审:重放极差 + 与人工标注 Cohen's κ;κ<0.6 该判分器 BLOCKED 决策降级 ADVISORY |
338
+ | `forge eval judge-audit --scores <file>` | 判分器受审:重放极差 + 与人工标注 Cohen's κ;κ<0.6 该判分器 BLOCKED 决策降级 ADVISORY。分数可带 `pair_original`/`pair_swapped`(a\|b\|tie)做成对位置交换审计,翻转率 >10% 判 high systematic bias |
339
339
  | `forge eval resume-drill [--dir <dir>]` | 接续演练(C3):脚本化断点续做断言(仅回归对比,绝对值不外宣) |
340
- | `forge eval run --manifest <file> --profile <off\|gates-only\|full> --model <m> [--repeats N] [--wallclock <d>] [--forge-ref <ref>]` | Track A 端到端基准运行(四元组 scorecard + pass^k 曲线 + 预算截断披露;`--forge-ref` 标注被测 forge 版本,四元组之一);真实执行需 `FORGE_EVAL_SMOKE=1`,否则确定性 scripted 替身 |
341
- | `forge eval decompose --manifest <file> --models <a,b> [--profiles off,gates-only,full] [--repeats N]` | 方差分解大体检:HV̄/MV̄ + 排名翻转数 + η²_p + 三档差值(full−off 整体贡献 / full−gates-only 注入层 / gates-only−off 纯门禁代价);结论只做区间表述 |
340
+ | `forge eval run --manifest <file> --profile <off\|gates-only\|full> --model <m> [--repeats N] [--wallclock <d>] [--forge-ref <ref>] [--variants a,b,c]` | Track A 端到端基准运行(四元组 scorecard + pass^k 曲线 + 预算截断披露;`--forge-ref` 标注被测 forge 版本,四元组之一);真实执行需 `FORGE_EVAL_SMOKE=1`,否则确定性 scripted 替身。开跑前 preflight:带 `test_cmd` 的容器任务须声明 `oracle_cmd`,oracle 臂须全过、只跑判分的 do-nothing 臂须全败,否则 BLOCKED exit 2(`FORGE_EVAL_PREFLIGHT=skip` 逃生,证据封顶 Weak);`leakage_cmd` 声明时 leakage 分数与 pass@1 并列,高分任务列入需复核。`--variants` 声明 ≥3 个语义等价 prompt 变体时计入 CI 的扰动方差源 |
341
+ | `forge eval decompose --manifest <file> --models <a,b> [--profiles off,gates-only,full] [--repeats N] [--variants a,b,c]` | 方差分解大体检:HV̄/MV̄ + 排名翻转数 + η²_p + 三档差值(full−off 整体贡献 / full−gates-only 注入层 / gates-only−off 纯门禁代价);三档差值带分层 bootstrap 95% CI,跨零时固定表述「在 n=X 次运行下未检测到显著差异;最小可检测效应 Y pp」 |
342
342
  | `forge eval report [--quarter 2026-Q3]` | 季度自评测报告(汇编已落盘证据;缺失如实标注,绝不补造) |
343
343
  | `forge eval otel [--out <file>] [--limit N]` | checklog → OTLP/JSON 导出(OpenTelemetry 通道:审计行进企业 SIEM/APM;scope=forge.checklog versioned mapper,`--limit` 只导最新 N 条) |
344
344
  | `forge eval aat [--out <file>] [--limit N]` | checklog → IETF agent-audit-trail 形状 JSONL(链式 prev_hash + trust_level L0-L3;versioned mapper,meta 头声明全部有意偏离——标准卡位,见 docs/compliance/standards-crosswalk.md) |
@@ -388,12 +388,12 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
388
388
  | `forge review status` | 显示当前审查状态 |
389
389
  | `forge enforcement [--sample N] [--json]` | 执法健康报告(只读聚合 checklog+会话 markers+野外申报):task-guard advisory/blocked 计数、无视升档会话、缓冲窗口超时违规(升档后 3 次编辑窗口内未补救——建任务或 wild 申报——则落违规记录)、无任务测试编辑、wild 申报数;双环信号(升档超阈→审查规则本身而非加码执法)与降格信号(提升规则零阻断零升档→zombie rule 复审)。`--sample N` 随机抽已完成任务 join 其会话遥测——"无视升档仍完成且未被阻断"样本标强制复盘(无灾≠安全);随机化使审计不可预演 |
390
390
 
391
- **高危命令 human-in-the-loop**:`forge hazard` 让高危命令拦截从 session 级 skill 变成 always-on 自动挡——hazard-guard hook(PreToolUse Bash)检测 `rm -rf` / `git push --force` / `git reset --hard` / `DROP DATABASE|TABLE|SCHEMA` / `TRUNCATE` / `GRANT ALL` / `kubectl delete` / `docker system prune` / `shred` / 无 WHERE 的 `DELETE|UPDATE` 等 → block 并指引 agent 获用户明确确认 → `forge hazard confirm` 登记 5min 限时标记 → 重试放行。HITL 而非硬 block:合法高危操作(删 build 产物)确认后能继续;`FORGE_ALLOW_HAZARD` env 豁免已移除(可被 agent 自我放行滥用),confirm 链是唯一放行路径。
391
+ **高危命令 human-in-the-loop**:`forge hazard` 让高危命令拦截从 session 级 skill 变成 always-on 自动挡——hazard-guard hook(PreToolUse Bash)检测 `rm -rf` / `git push --force` / `git reset --hard` / `DROP DATABASE|TABLE|SCHEMA` / `TRUNCATE` / `GRANT ALL` / `kubectl delete` / `docker system prune` / `shred` / 无 WHERE 的 `DELETE|UPDATE` 等 → block 并指引 agent 向用户说明风险 → 用户在自己的终端运行 `forge hazard confirm --last` 登记 5min 限时标记(agent 自行运行会被拒)→ 重试放行。阻断但放行权在人,而非无条件硬 block:合法高危操作(删 build 产物)确认后能继续;`FORGE_ALLOW_HAZARD` env 豁免已移除(可被 agent 自我放行滥用),confirm 链是唯一放行路径。
392
392
 
393
393
  | 命令 | 说明 |
394
394
  |------|------|
395
- | `forge hazard confirm --last` | 确认最近一条被拦命令(从事件日志取指纹,零复制转写,推荐) |
396
- | `forge hazard confirm <命令> [--fingerprint <hex>]` | 登记一次高危命令确认(5min 内同命令重试放行;`--fingerprint` 回传 hook 输出的 hex 指纹) |
395
+ | `forge hazard confirm --last` | 确认最近一条被拦命令(从事件日志取指纹,零复制转写,推荐;须真人终端) |
396
+ | `forge hazard confirm <命令> [--fingerprint <hex>]` | 登记一次高危命令确认(5min 内同命令重试放行;`--fingerprint` 回传 hook 输出的 hex 指纹;须真人终端) |
397
397
  | `forge hazard status` | 列出当前有效确认及剩余时间 |
398
398
 
399
399
  **写入范围冻结**:`forge freeze` 把 on-demand-guards 的 /freeze 目录锁定从「agent 每回合自检」的 prompt 型护栏落地为真 hook——激活后 freeze-guard hook(PreToolUse Write|Edit,排在 task-guard 之前优先判定)硬阻断所有冻结路径之外的写入,长会话/压缩后不漂移。支持多路径、相对路径(相对当前目录归一化)、Windows 大小写不敏感比较。
package/bin/forge CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent_forge/forge-linux-x64",
3
- "version": "1.82.0",
3
+ "version": "1.84.0",
4
4
  "description": "Forge native binary for linux-x64. Auto-installed via optionalDependencies of @agent_forge/forge; do not depend on directly.",
5
5
  "os": [
6
6
  "linux"