> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-mintlify-4374fee9.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 验证关卡

> 独立验证、幻觉符号标记、规约即契约与技能关卡——你能实际运行的检查,它们能减少但从不能认证正确性。

没有可以真正跑一遍的检查,就不算 “完成”——一个测试、一个构建退出码、一张截图。Forge 的验证关卡各自多接住一次。设每任务漏率为 `1 − p`,关卡拦截率为 `c`,则静默漏失下降到 `(1 − p)(1 − c)`,而这里每一道关卡都多贡献一个 `c`。

<Warning>
  **验证是减少,不是认证。** Crew 校验者和幻觉符号标记能降低评审负担;它们并不证明代码正确。测试和人工纠正永远胜出。
</Warning>

## 独立验证 —— `forge verify`

一道独立关卡:它会跑仓库真实的测试、标出幻觉符号,并检查溯源。

```bash theme={null}
forge verify              # 测试 + 幻觉符号 + 溯源
forge verify --deep       # 多视角共识——多个独立检查必须一致
```

<Note>
  `--deep`(v0.19+)升级为多视角共识:变更必须通过多个独立的验证视角,而不只是一个。
</Note>

## 幻觉符号标记 —— `forge atlas has`

`forge atlas has <symbol>` 是幻觉检查:如果模型调用了不在代码图里的符号,该关卡会把它标出来。

```bash theme={null}
forge atlas build          # 索引本仓库的符号 → .forge/atlas.json
forge atlas has useAuth    # “not found” = 很可能是幻觉
```

atlas 有意做成纯 JSON——Codex、Cursor、Gemini 和 Aider 都可以通过 CLI 或直接的 `jq` 消费 `.forge/atlas.json`,不需要依赖 MCP。

## 规约即契约 —— `forge spec`

把行为固定到一份规约上,并检测与之的漂移:

```bash theme={null}
forge spec init            # 生成一份 OpenSpec 契约
forge spec lock            # 把当前规约锁定为契约
forge spec check           # 报告与锁定契约的漂移
```

## 技能关卡 —— `forge scan`

在安装 skill 或 MCP 服务器之前,审查它是否有注入、RCE 或数据外泄风险:

```bash theme={null}
forge scan <path-to-SKILL.md-or-.mcp.json>
```

<Warning>
  扫描通过 **不是安全认证。** 内置启发式只能识别已知的攻击形态(critical)和少量高严重度的模式;通过意味着 *“未检测到 critical 特征”*,而不是 *“可以放心安装”*。永远要自己审阅源码、权限、包溯源和网络行为。**high** 严重度的发现即便不硬阻断,也不会被标记为安全。外部扫描器是可选的,除非你启用它,否则不会发起任何网络调用。
</Warning>

## 加固 —— `forge harden`

接线让密钥和不安全的变更进不了仓库的安全控制:

```bash theme={null}
forge harden               # gitleaks pre-commit + 沙箱设置
```

## commit 级别关卡 —— `forge precommit`

<Note>
  `forge precommit`(v0.19+)是一道 commit 级别的关卡——它在 commit 时运行验证下限,让部分或未验证的工作在落地前被拦下。
</Note>

## UI 检查 —— `forge uicheck`

确定性 UI 检查,前三个视角不使用 LLM 也不使用截图:

```bash theme={null}
forge uicheck contrast <fg> <bg>     # WCAG 对比度
forge uicheck fingerprint <file...>  # 确定性设计指纹
forge uicheck design <file...>       # slop 距离 + 合规关卡
forge uicheck visual <file-or-url>   # 基于 Playwright 的渲染检查(可选层)
```

搭配 `forge taste` 选定一个视觉方向(brutalist、corporate、editorial、minimalist、playful),并参数化 `design` 关卡的阈值。
