Files
Nexus/docs/design/specs/2026-06-14-gate-ai-review-design.md
T

37 lines
1.6 KiB
Markdown
Raw Normal View History

# 门控 AI Review 设计
## 背景与目标
部署前门控已有 changelog、人工审计交叉校验、测试、lint、bandit,但缺少对**本次 commit diff** 的自动化代码审查。用户要求将 AI review 纳入 `pre_deploy_check.sh`,与现有流程一致、可重复、可审计。
## 方案对比
| 方案 | 优点 | 缺点 |
|------|------|------|
| A. 仅检查 `docs/reviews/*.json` 存在 | 快、无 API 成本 | 不自动审查,易遗漏 |
| B. 门控内每次调用 `cursor-agent` | 真正自动 | 慢、需 API、重复跑浪费 |
| C. **缓存 + 自动补跑(选定)** | 同 commit 可复用;无缓存时自动 review | 首次部署前需网络与 Cursor 凭据 |
## 选定方案
**Gate 8AI Review**
1.`HEAD~1..HEAD` 无待审源码 → **SKIP PASS**
2.`docs/reviews/*.json``head_sha` 匹配当前 `HEAD` 且无 P0/P1 阻断 → **PASS**
3. 否则在 `NEXUS_AI_REVIEW_MODE=auto`(默认)下调用 `cursor-agent --mode ask --print --output-format json` 审查 diff
4. 写入 `docs/reviews/YYYY-MM-DD-<slug>.json`;存在 P0/P1confidence≥75)或 `verdict=Not ready`**BLOCK**
5. 逃生:`NEXUS_SKIP_AI_REVIEW=1` 记 WARN 通过;`NEXUS_AI_REVIEW_MODE=cache` 仅校验缓存
## 安全与性能
- Review 使用 `ask` 模式(只读),不写仓库
- Diff 超 80KB 截断并注明,避免 token 爆炸
- 产物入 git,部署可追溯
## 验收标准
- [ ] `pre_deploy_check.sh` 显示 Gate 8/8
- [ ] 有源码变更且无 review 缓存时自动跑或明确 BLOCK
- [ ]`head_sha` 缓存命中时秒过
- [ ] P0/P1 阻断部署