# 模块 2:标准 PR 说明与 AI 使用记录
PR 是团队协作里最稳定的交付节点。
如果 TRAE 参与了需求拆解、代码修改、测试和 Review,PR 说明里就要能看见这些证据。
---
# PR 模板
```md
## 需求背景
<为什么做,本次解决什么>
## 实现说明
<改了哪些模块、接口、页面、规则>
## 测试结果
- [ ] 单元测试:
- [ ] 接口验证:
- [ ] 浏览器验证:
- [ ] 手工验收:
## 风险点
<权限、状态、审计、异常、兼容性、数据范围>
## AI 使用记录
## 关联资产
<使用了哪些 rules、任务上下文契约、skills、checklists>
```
---
# PR 说明示例
```md
## 需求背景
取消已派车任务时,后端必须拒绝空白取消原因。
## 实现说明
- `OfficialVehicleDispatchServiceImpl.cancel` 在状态写入前加入 `Assert.hasText`。
- 新增全空白取消原因的 Service 单元测试。
- 未改前端必填、权限、审计、SQL、派车和行程逻辑。
## 测试结果
- [x] 单元测试:覆盖空白取消原因的拒绝行为。
- [ ] 接口、数据库、浏览器和审计验证:按实际执行情况记录。
## 风险点
统一异常映射、非空正常取消路径和外部调用方需要单独确认。
```
---
# TRAE 生成 PR 说明的任务上下文契约
```md
请基于以下材料生成标准 PR 说明:任务背景、
main 与当前分支的 git diff、实际测试结果、Review 结论、
使用过的 rules、任务上下文契约、skills。
输出必须包含:需求背景、实现说明、测试结果、风险点、
AI 使用记录、关联资产。
要求:不要编造测试结果;没有证据的测试项标记“未执行”;
风险必须具体到模块或文件;不要将训练约束写成客户既有需求。
```
---
# AI 使用记录表
| 环节 | TRAE 做了什么 | 人工判断 | 沉淀内容 |
|---|---|---|---|
| 代码理解 | 定位前端必填、取消 API、权限、审计和 Service | 用源码逐条核对 | 影响分析任务上下文契约 |
| 方案选择 | 建议 Service 作为最终保护边界 | 因状态变更和车辆释放都在此处而采纳 | 状态变更 Rule |
| 测试设计 | 提出空白输入与正常取消回归点 | 仅将实际执行的空白单测标为通过 | 测试安全网 |
| 交付说明 | 整理最小 diff、风险和待确认项 | 删除任何无证据的“已验证”表述 | PR 模板 |
---
# AI 使用记录不是聊天记录
| 应保留 | 不必保留 |
|---|---|
| 影响实现或验证结论的 AI 建议 | 完整对话逐字稿 |
| 人工采纳或否决建议的理由 | 与本次改动无关的探索 |
| 关联的 Rule、任务上下文契约、Skill 或检查单 | 无法复查的笼统评价 |
| 未解决风险和待确认边界 | 把推断包装成已验证结论 |
好的 PR 说明,让评审者看到工程结论,而不是看到一段 AI 对话。