@agent_forge/forge-darwin-arm64 1.48.1 → 1.50.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
@@ -82,7 +82,7 @@ forge init
82
82
  | `~/.forge/projects.json` | 全局项目注册表(forge 项目锚点) |
83
83
  | `~/.forge/projects/<key>/` | protocol.yml + runtime state(任务状态/hook 参考副本,key=git hash 或路径 hash) |
84
84
  | `~/.claude/settings.json` | Claude Code hooks(plugin 已装则由 plugin 接管,跳过此文件) |
85
- | `~/.claude/CLAUDE.md`、`~/.codex/AGENTS.md` | 质量协议(备份+追加、条件激活,`forge uninstall --restore` 可回滚) |
85
+ | `~/.claude/CLAUDE.md`、`~/.codex/AGENTS.md`、windsurf `global_rules.md` | 指针段(备份+幂等替换;激活判据锚定 `[forge-session]` managed 会话横幅,协议细节在 forge-quality skill 与 hook 即时提示,`forge uninstall --restore` 可回滚;版本变更后 autoSync 自动重刷新) |
86
86
  | `~/.claude/skills/forge-quality/` | 质量协议 Skill |
87
87
  | `~/.codex/hooks.json`、`~/.cursor/hooks.json` 等 | 其他 agent 的用户级 hook 接线(按检测到的工具) |
88
88
 
@@ -212,7 +212,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
212
212
  | **review-stop** | 会话结束 | code-review-gate 自动挡:未审源码变更 block 会话结束。task 模式不重复拦(task-complete 门禁 ReviewPassed 硬前置已强制),非 task 模式按 diff stamp 决策;并发会话检测——其他 session 有活跃任务时放行(调研 session 不被拦) |
213
213
  | **skill-scan** | 会话开始 | advisory:扫描 ~/.claude/skills 安全性(`forge skills audit`,21 条安全规则),补 install 门控缺口(手动 clone/junction/git pull 进入的 skill),全局 hook 不依赖 forge project |
214
214
  | **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 |
215
- | **init-suggest** | 会话开始 | advisory:检测到未启用 forge git 项目时,首次提示 agent 询问是否启用(用户拒绝→`forge suggest decline` 永久静默;设 `FORGE_AUTO_INIT=1` 处处自动 init——v1.22 起 init 零项目写入,不再对项目产生任何文件变更),全局 hook,补"每项目手动 init"缺口,实现一次安装后项目自动登记 |
215
+ | **init-suggest** | 会话开始 | advisory,接管决策引擎(P2 起默认 **ask**):declined(标记+注册表双检)→静默;已接管→顺带 dedupe;外来 harness 信号(P4)→让位并记 declined;takeover 偏好 auto(`FORGE_TAKEOVER`/`forge config`/legacy `FORGE_AUTO_INIT=1`)→静默 init;off→静默;ask→每项目首次询问一次(拒绝→`forge off`;全程询问 →`forge config set` takeover 为 auto)。v1.22 起 init 零项目写入 |
216
216
  | **task-resume** | 会话开始 | advisory:自动注入活跃任务的接续上下文(目标/计划/决策/阻塞/门禁进度/git 已改未提交)+ 锚定当前 session——接手方冷启动即知任务在哪一步,无需手动 forge task resume;无活跃任务静默;项目级 hook |
217
217
  | **compact-resume** | 压缩后(claude-code only) | PostCompact 时设 `ResumeStale=true` 标志(PostCompact 不在 additionalContext 注入点,只设标志等下个 prompt 重注入),context-rot 抗机制根治层·设标志半边 |
218
218
  | **resume-reinject** | 用户提交时(claude-code only) | 检测 `ResumeStale=true`(刚压缩过)→ 输出完整接续上下文并清标志。补 task-resume 缺口(SessionStart 只注入一次,会话中途压缩不补),context-rot 抗机制根治层·重注入半边 |
@@ -231,7 +231,10 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
231
231
  | `forge status [--json] [--system]` | 查看项目状态(任务管道 + 质量信号);`--system` 跑系统级健康检查(~/.forge、PATH、孤儿 hook、skills manifest) |
232
232
  | `forge verify` | 项目完整性检查 + 回归测试 |
233
233
  | `forge update [--plugin]` | 检查并更新到最新版本(按安装通道分流:npm 安装自动检测包管理器 npm/pnpm/yarn,查 npm registry 并打印对应更新命令——npm 包不可变,原地替换会被下次 install 还原,故不代下载,可用 `FORGE_NPM_REGISTRY` 覆盖 registry;GitHub Release/手动安装从 GitHub 下载自替换);加 `--plugin` 在更新后打印 plugin marketplace 重装指引(marketplace 镜像同步 hook 时建议重装) |
234
- | `forge suggest decline/status/reset` | 管理 init-suggest hook 的项目 init 提示状态(decline 永久静默当前项目 / status 查看 / reset 清除重新提示) |
234
+ | `forge off [--all] [--commit]` 或 `forge on` | 按项目退出/恢复接管(Project Policy Layer):`off` 把当前项目(git 根)置为 declined——项目级 hook 全部静默、`forge init`/`FORGE_AUTO_INIT`/自动接管拒绝(退出不被任何默认路径重置);`--all` 一键全退;`--commit` 额外在仓库根写 `.forge-decline` 团队声明(committed 后对所有协作者让位,deny-wins);`on` declined→managed 的唯一恢复通道(清标记与声明文件,从未 init 的项目提示先 `forge init`)。状态存注册表条目(含决策来源/时间审计),`forge status` 退出码即「是否 managed」 |
235
+ | `forge config get/set takeover` | 用户级接管偏好(`~/.forge/config.json`):**ask(出厂默认)**每项目首次接触询问一次;**auto** 静默接管全部 git 项目(P2 之前的行为;declined 与外来 harness 让位仍生效);**off** 不接管不询问。env 覆盖:`FORGE_TAKEOVER=ask\|auto\|off`(legacy `FORGE_AUTO_INIT=1` ≡ auto);`--raw` 只输出值供脚本消费 |
236
+ | `forge policy state` / `forge policy yield` | 接管策略快查/外来 harness 让位:`state` 打印当前目录三态(managed\|declined\|unknown,退出码恒 0,init-suggest bash 以此分流);`yield` 检测外来 harness 高置信信号(`.specify/`、`.claude/commands`、`.claude/settings.json` 含 hooks/permissions、`.cursor/rules`——单一真相源 internal/harnessdetect),命中即让位(declined, by=foreign-harness)并打印说明,`forge on` 显式覆盖 |
237
+ | `forge suggest decline/status/reset` | `forge off`/`forge on` 的兼容别名:decline 等价 `forge off`(注册表 + 标记双写),reset 在 declined 时等价 `forge on`;status 查看 legacy 提示标记 |
235
238
  | `forge conventions init [--force]` | 项目规范档案(conventions-profile):机械扫描本仓库**已声明**的规范——AGENTS.md/CLAUDE.md/.github/copilot-instructions.md 等规范文件、lint/format 配置、stack 工具链命令——写入用户级档案 `~/.forge/projects/<key>/conventions/`;此后 hook 按宿主能力注入:会话开始注入 ≤15 行摘要(支持 PostCompact 的宿主压缩后重注入),写源码文件时注入规范文件指针+同目录范例(advisory 不阻断;同一份档案跨宿主共享);摘要的「提取要点」节由 agent 代码考古增补,重跑 init 保留提炼内容(`--force` 才重建骨架);规范源文件变化后指纹翻转,注入与 show 均提示重扫;task-verify 会提醒「档案声明的 lint 命令本任务未跑」(advisory,提醒与 checklog 审计行经 `FORGE_CONVENTIONS_LINT=disable` 一并静默) |
236
239
  | `forge conventions show` | 查看规范档案:stack/lint/test/build 命令、规范声明文件与 lint 配置清单、fingerprint 与过期状态(STALE=源已漂移,重跑 `forge conventions init` 刷新)、摘要全文 |
237
240
  | `forge conventions learn <rule>` | 纠正增量写回(conventions-profile):用户/审查指出规范违规时当场把该规则写进摘要提取要点节(一字不差去重、替换待提取占位、超 15 行预算警告——注入截断至 15 行,全文仍在 summary.md)——纠正离开会话上下文进持久档案,下个会话注入即生效 |
@@ -281,6 +284,16 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
281
284
  | `forge task verify-acceptance [--ref <ref>] [--trust-foreign]` | 实跑验收标准(task start --accept 登记),记 deterministic 证据;验收命令来自 task import / .forge migrate(外来标记)时首跑须 `--trust-foreign`(人工审阅命令清单后显式受信,防外来命令串直接执行) |
282
285
  | `forge task doc-review --passed <pass\|fail> --score <N> [--round <R>] [--reviewer <id>] [--critical <发现>]` | 记录 L2 文档回检证据(输出→回检循环):按 doc-review skill 四维评审后落档(产出者不能自检);`--score` 为 0-100 总分、`--round` 轮次(≥3 轮未过升级人工确认)、`--critical` 落 Critical findings(未决阻断 complete)。task-complete 的 doc gate 消费该证据 |
283
286
  | `forge docs lint [paths...] [--base <rev>]` | 文档产物 L1 确定性 lint(D1-D7:禁令短语/无证据结论/复述 diff/通过断言无证据/必填章节/结论枚举/篇幅);`--base` 改扫该基线以来变更的 .md。exit code:0=通过 2=硬失败。禁令清单单一真相源在 `internal/doclint`,同步渲染进 forge-quality skill |
287
+ | `forge eval card [--render]` | 治理披露卡:Forge 占 ETCSOVG 哪四层、hook/门禁/逃生舱清单与已知盲区(缺节 BLOCKED)。评测体系:docs/design/forge-evaluation-system.md |
288
+ | `forge eval dashboard [--dry-run] [--json]` | Track B 遥测(C4/C7):escape 率/off_churn/自举通过率(Wilson 95% CI + 误用注记;样本低于字典下限只出 INSUFFICIENT)。快照落 `~/.forge/evals/forge/snapshots/` |
289
+ | `forge eval golden run [--dir <dir>] [--repeats N] [--rewrite-manifest] [--json]` | 门禁 golden 标注集重放:precision/fpr(Wilson 区间)+ 确定性重放一致率;用例集指纹钉在 `evals/forge/golden/MANIFEST.sha256`,不符拒绝运行(`--rewrite-manifest` 仅限显式轮换) |
290
+ | `forge eval golden private-init` / `rotate [--max-cases N]` | 私有 golden 子集(0700,永不进 VCS)与季度轮换(oracle 复验 + 最老优先淘汰 + 审计行) |
291
+ | `forge eval traps run [--dir <dir>]` | 对抗陷阱重放(测试削弱/伪造审计证据/虚假完成——ImpossibleBench 思想);capture 率与行动清单 |
292
+ | `forge eval judge-audit --scores <file>` | 判分器受审:重放极差 + 与人工标注 Cohen's κ;κ<0.6 该判分器 BLOCKED 决策降级 ADVISORY |
293
+ | `forge eval resume-drill [--dir <dir>]` | 接续演练(C3):脚本化断点续做断言(仅回归对比,绝对值不外宣) |
294
+ | `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 替身 |
295
+ | `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 纯门禁代价);结论只做区间表述 |
296
+ | `forge eval report [--quarter 2026-Q3]` | 季度自评测报告(汇编已落盘证据;缺失如实标注,绝不补造) |
284
297
  | `forge task scope add <glob> [--ref <ref>]` | 追加计划改动文件到白名单(支持中途迭代;--ref 指定任务,不依赖活跃任务检测) |
285
298
  | `forge task scope show` | 查看声明的白名单 + 实时 scope-drift(advisory,不阻塞) |
286
299
  | `forge task override [--work-activity\|--test-coverage\|--acceptance-gate\|--skill-decisions\|--doc-gate] disable` | per-task 逃生舱:关闭指定门禁检查(如批量重构时关 read-before-edit);使用落 checklog 审计。验证类(test-coverage/acceptance-gate/skill-decisions/doc-gate)evidence 强度 cap 到 Weak(重证据任务按证据缩放豁免);work-activity 是节奏门禁,只审计不降强度。doc-gate 的放行须在 doc-review 轮次上限后经人工确认再走 |
@@ -424,7 +437,7 @@ npm install -g @agent_forge/forge
424
437
  /plugin install forge@forge
425
438
  ```
426
439
 
427
- 仍需 `npm install -g @agent_forge/forge` 装二进制(hooks 都 spawn forge)。项目登记无需手动:plugin 已装(= 显式 opt-in)时,init-suggest SessionStart hook 会在任意 git 项目首次会话静默自动 `forge init`(v1.22 起零项目写入——协议与 runtime state 全在用户级 `~/.forge/projects/<key>/`,只对用户级配置生效;`forge suggest decline` 可按项目退出)。hooks 由 plugin.json 全机器接管,`forge init` 跳过自己的 settings.json 注册;存量老项目残留的旧版项目级写入(`.forge/hooks/`、`.claude/settings.local.json` 的 forge hooks、CLAUDE.md/AGENTS.md 的 forge 段)由 autoSync 与 init-suggest SessionStart hook 自动收敛。完整三步与各 host 差异见 `plugins/forge/README.md`。
440
+ 仍需 `npm install -g @agent_forge/forge` 装二进制(hooks 都 spawn forge)。项目登记按 takeover 偏好(P2 起出厂默认 **ask**):init-suggest SessionStart hook 在未接管项目首次会话**询问一次**(同意→`forge init`;拒绝→`forge off`);要"装好即用"的无感体验→`forge config set` takeover 为 auto(静默接管所有 git 项目;declined、`.forge-decline` 团队声明与外来 harness 让位仍然生效;v1.22 起零项目写入——协议与 runtime state 全在用户级 `~/.forge/projects/<key>/`)。hooks 由 plugin.json 全机器接管,`forge init` 跳过自己的 settings.json 注册;存量老项目残留的旧版项目级写入(`.forge/hooks/`、`.claude/settings.local.json` 的 forge hooks、CLAUDE.md/AGENTS.md 的 forge 段)由 autoSync 与 init-suggest SessionStart hook 自动收敛。完整三步与各 host 差异见 `plugins/forge/README.md`。
428
441
 
429
442
  </details>
430
443
 
package/bin/forge CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent_forge/forge-darwin-arm64",
3
- "version": "1.48.1",
3
+ "version": "1.50.0",
4
4
  "description": "Forge native binary for darwin-arm64. Auto-installed via optionalDependencies of @agent_forge/forge; do not depend on directly.",
5
5
  "os": [
6
6
  "darwin"