auto-sync: 2026-06-09 08:46:58

This commit is contained in:
cfdaily
2026-06-09 08:46:58 +08:00
parent f961037fd2
commit 28f4cc7deb
+15 -7
View File
@@ -97,8 +97,8 @@
|------|------|------|
| 1. Issue 指派 | ✅ 通过 | Mail to/模板正确 |
| 2. PR Review 请求 | ✅ 通过 | Mail to/风险级别/文件列表正确 |
| 3. Review APPROVED | ✅ 通过 | 但收到 2 封重复 Mail双 webhook |
| 4. Review REQUEST_CHANGES | ✅ 通过 | 同上2 封重复 |
| 3. Review APPROVED | ✅ 通过 | E2E 测试中产生 2 封 Mail根因已查明,非平台问题 |
| 4. Review REQUEST_CHANGES | ✅ 通过 | 同上 |
| 5. CI 失败评论 | ✅ 通过 | 分支提取正确 |
| 6. 部署失败 Issue | ✅ 通过 | 双收件人验证通过 |
| 7. 已关闭 Issue 过滤 | ✅ 通过 | 负面测试通过,无新 Mail |
@@ -106,8 +106,16 @@
## 发现的问题
### P1Review 事件双 Mail
- **现象**每次 Review 事件产生 2 封完全相同的 Mail
- **因**Gitea 同时触发了 org webhook + repo webhook,两个 Webhook 独立投递
- **影响**:用户收到重复通知
- **建议修复**:幂等检查已按 event+delivery 去重,但 org 和 repo webhook 的 delivery ID 不同,所以去重不生效。需改为按事件内容去重(如 review.id
### Review 事件双 Mail(已修复)
- **现象**E2E 测试步骤 3/4 中 Review 事件产生 2 封 Mail
- **因**(姜维深入调查确认):E2E 测试中庞统手动用 simayi token 提交了 Review,同时 simayi agent 收到 Review 请求 Mail 后也自主提交了 Review。是两次独立的 API 调用,**不是 Gitea bug 或平台配置问题**
- 姜维控制实验:一次 review API 调用只产生 1 个 hook_task
- Gitea 路由日志确认两次 POST 间隔 7 秒,payload 有差异(review_comments、updated_at 不同
- 之前的错误分析("Gitea webhookNotifier + actionsNotifier 双投递")已被推翻:actionsNotifier 走 handleWorkflows() 不创建 hook_task
- **修复**:payload 内容去重作为防御性编程保留(`_is_duplicate` 新增内容去重 key = event + pr_num + sender + sha256(body_or_content)),司马懿 APPROVED
- **验证**PR #27 实测只产生 1 封 Mail ✅
### 根因分析教训
- 姜维第一次分析给出了错误根因(Gitea 双 notifier),第二次深入调查后自我纠正
- 庞统把姜维的第一次结论当事实汇报给主公,没有标注"这是姜维的调查结论,尚未独立验证"
- **改进**SOUL.md 新增规则——推测 vs 事实显式标注、引用他人结论时标注来源、结论被推翻时及时更正