← ClaudeAtlas

review-checklistlisted

Code Review Checklist
pcliangx/AppGenesisForge · ★ 9 · AI & Automation · score 68
Install: claude install-skill pcliangx/AppGenesisForge
# Code Review Checklist > **权威来源**:本文件是 `code-reviewer` 审查时必须逐条核对的操作性 checklist,与 `.claude/agents/code-reviewer.md` 的铁律和 skill `agf:security` OWASP 基线共同构成完整审查框架。三者不重复——本文件只覆盖项目特有的结构性检查项。 > > **触发时机**:product-lead 派单触发 code review 时,code-reviewer 读 diff 前先过本 checklist 确定审查焦点;写报告时按 checklist 项逐条标注结果。 --- ## 1. DB Model 字段变更覆盖检查(#13 教训 — 必查项) > **根因**:Issue #13 (avatar_path) 审计发现,新增字段测试仅覆盖 CRUD endpoint,漏掉 `list_all_with_stats()` 聚合路径,导致列表页字段静默为 `null`,close 后 49h 才追补修复。 ### 核心原则 > **endpoint-level SIT pass ≠ view-integration layer pass** > > CRUD endpoint 与聚合查询(`list_all_with_stats()` / `list_with_counts()` / 其他 JOIN 查询方法)走不同代码路径。CRUD endpoint IT 通过,不能推断列表 endpoint 的 Pydantic 构造器已正确传入该字段。 ### 触发条件 PR 满足以下任一即触发本节全部检查: - 新增 DB ORM 模型字段(`Column` / `mapped_column`) - 修改已有字段名、类型或默认值 - 新增 Pydantic schema 字段(`BaseModel` / `SQLModel`) - 修改聚合 service 方法(`list_*` / `get_all_*` / `*_with_stats` / `*_with_counts`) ### 检查项(逐条,缺一不可) #### CHK-F1: Detail endpoint 覆盖(基础项) - [ ] 存在至少 1 个 IT 调用 detail endpoint(`GET /api/{resource}/{id}`)并断言新字段值正确(非 `null` / 非默认值) - **Severity**:Critical(缺失) #### CHK-F2: List endpoint 覆盖(重点项 — #13 教训核心) - [ ] 存在至少 1 个 IT 调用 list endpoint(`GET /api/{resource}` 或等价批量端点)并断言对应 item 的新字段值正确(非 `null` / 非默认值) - [ ] 该 IT 不能与 CHK-F1 合并——list 与 detail endpoint 走不同代码路径,必须独立 IT - **Severity**:**Critical**(缺失,列表页字段静默丢失是 P1 级 UI 断层) #### CHK-F3: 聚合服务方法构造器核查 - [ ] 找到 list service 方法中对应的 Pydantic 模型构造器(通常是 `PersonaInfo(...)` / `MaterialOut(...)` 等) - [ ] 确认构造器显式传入了新字