Skip to main content
不跑一次可以复核的检查 —— 一个测试、一个构建退出码、一张截图 —— 就没有”完成”。Forge 的每一个验证门都多接住一次。设每个任务的漏检率 为 1 − p,某个门的接住率为 c,那么被漏掉的错误会降到 (1 − p)(1 − c), 这里每一个门都是多一个 c
验证是减轻,不是认证。 Crew 验证者和幻觉符号 标记能减少评审负担;它们并不证明代码是正确的。测试和人的 修正永远拥有最终发言权。

独立验证 —— forge verify

一个独立的门:它跑仓库真正的测试、标出幻觉符号,并 检查出处溯源。
--deep(v0.19+)升级为一个多视角共识:变更必须过几个 独立的验证视角,而不只是一个。
forge verify --deep 汇报的是一个四态的 status,不是二元的 pass/fail:
  • PASS —— 每一个视角都一致通过,并且核心 forge verify 的测试状态也是 PASS。只有这个状态才算已验证。
  • FAIL —— 至少有一个视角报出了真实的失败。
  • INCOMPLETE —— 某个视角没能跑完(超时、崩溃、依赖缺失)。什么都没被证伪, 但也什么都没被证明。
  • NOT_CONFIGURED —— 这个仓库没有接通任何视角,所以 --deep 无东西可查。
PASS 蕴含 base 也是 PASS 这条规则是有意为之:一次绿色的 deep 共识永远 不能跑赢一次红色的 base 运行,所以 base 测试视角上的 INCOMPLETENOT_CONFIGURED 会把 deep 的结果同步降级。

幻觉符号标记 —— forge atlas has

forge atlas has <symbol> 是幻觉检查:如果模型调用了一个不在代码图里的 符号,这个门会标出来。
atlas 有意做成纯 JSON —— Codex、Cursor、Gemini 和 Aider 都能通过 CLI 或 简单的 jq 来读 .forge/atlas.json,消费端不需要依赖 MCP。

规范即契约 —— forge spec

把行为钉在一份规范上,并检测相对它的漂移:

技能门 —— forge scan

在安装一个 skill 或 MCP 服务器之前,审核它是否有注入、RCE 或数据外泄的风险:
一次干净的扫描不等于安全认证。 内置启发式只能捕捉 已知的攻击形状(critical)和少数几种高严重度模式;通过意味着 “没有检测到 critical 特征”,而不是 “可以放心安装”。始终自己审阅源码、 权限、包的来源和网络行为。一次 high 严重度的发现即便没有硬阻塞, 也不会被标记为安全。外部扫描器是按需启用的,除非你打开,否则不会 发起任何网络调用。

加固 —— forge harden

接通把秘密和不安全变更挡在外面的安全控制:

提交级门 —— forge precommit

forge precommit(v0.19+)是一个提交级门 —— 它在提交时跑一遍验证底线, 让部分完成或未验证的工作在落地之前就被拦住。

完成门 —— 必须有测试证据

Stop 路径上的完成门(见 跨会话记忆)不再接受一份代理 handoff 作为 代码变更已完成的证明。对任何动了源码的会话,这个门都要求真实的测试证据
  • 会话 diff 里改动过一个测试文件,或者
  • 针对当前变更有一次新鲜通过的 forge verify 记录在案。
单独一份 forge handoff 快照并不能满足这个门 —— 它记录的是意图,而不是 验证。如果两种证据都没有,这个门会阻塞一次,并附上一份修复清单:
只改文档、只改配置以及其他非代码的会话不受影响 —— 只有当会话的 diff 真的 动了代码时,测试证据的要求才会触发。

UI 检查 —— forge uicheck

确定性的 UI 检查,前三个视角不需要 LLM 也不需要截图:
配合 forge taste 用来挑一个视觉方向(brutalist、corporate、 editorial、minimalist、playful),并对 design 门的阈值做参数化。