# Codex 代码审查清单

核验日期：2026-07-16

## 1. 固定审查范围

- [ ] 当前目录是目标 Git 仓库。
- [ ] 已查看 `git status --short`。
- [ ] 功能分支使用正确基线和 merge base。
- [ ] 当前工作使用“未提交改动”，并确认 staged、unstaged、untracked 是否都应纳入。
- [ ] 大型 diff 已按模块或风险拆分。

可用提示：

```text
只做代码审查，不修改文件。审查当前分支相对 main 的完整差异。
优先发现正确性、安全、权限、数据损坏、并发和缺失测试。
每条发现包含严重度、文件位置、触发路径、影响和最小修复方向。
没有证据的内容标为“需要验证”，不要写成确定缺陷。
```

## 2. 正确性

- [ ] 输入边界、空值、错误与重试路径。
- [ ] 状态转换是否可达、可恢复且不会重复执行。
- [ ] 数据读写是否保持原有契约和事务边界。
- [ ] 并发、竞态、超时、取消和资源释放。
- [ ] 平台、时区、编码、路径与大小写差异。
- [ ] 旧调用方与迁移路径。

## 3. 安全与权限

- [ ] 权限检查位于服务端或可信边界。
- [ ] 没有客户端可绕过的角色判断。
- [ ] 没有秘密进入代码、日志、错误或测试 fixture。
- [ ] 外部输入经过解析、校验和输出编码。
- [ ] 文件、命令、URL 和重定向没有注入路径。
- [ ] 网络、MCP 和 hook 能力没有无意扩大。

## 4. 测试与验证

- [ ] 新行为有成功、失败和边界用例。
- [ ] 回归测试在修复前能失败，修复后能通过。
- [ ] 测试断言行为，不只断言实现细节。
- [ ] 运行了相关 lint、类型检查、测试和构建。
- [ ] 手工 QA 与自动测试的边界清楚。

## 5. 发现格式

```text
[P1] 简短标题
位置：src/example.ts:42
触发：当两个请求同时更新同一记录时……
影响：后写入覆盖先写入，可能丢失用户数据。
证据：当前更新读取旧版本后无条件写回，测试未覆盖并发。
建议：加入版本条件或事务，并增加并发回归测试。
```

严重度参考：

- P0：会造成广泛灾难性影响，必须立即阻断。
- P1：高概率生产缺陷、安全问题或数据损坏。
- P2：有明确触发条件的中等风险回归。
- P3：低风险但可行动的问题。

## 6. 审查后

- [ ] 先确认每条发现，再开始修复。
- [ ] 修复只处理确认的问题，不顺手重构。
- [ ] 修复后重新运行测试和 review。
- [ ] 被证伪的发现记录原因，不静默删除。
- [ ] 仍需产品或安全决定的问题单独升级。

官方来源：

- https://learn.chatgpt.com/docs/code-review
- https://learn.chatgpt.com/docs/agent-configuration/agents-md
