From 396581f4e621097b6aec4e834d6ed43a4adf6fe9 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Sat, 6 Jun 2026 10:44:36 +0800 Subject: [PATCH] auto-sync: 2026-06-06 10:44:36 --- docs/design/13-toolchain-and-dev-workflow.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/docs/design/13-toolchain-and-dev-workflow.md b/docs/design/13-toolchain-and-dev-workflow.md index a12e514..879151c 100644 --- a/docs/design/13-toolchain-and-dev-workflow.md +++ b/docs/design/13-toolchain-and-dev-workflow.md @@ -1046,6 +1046,15 @@ Text: - 新增:Agent ID ↔ Git 用户名映射 - §9.0 衔接机制表更新:所有 ci-notifier 引用替换为 daemon Webhook 模块 - §9.0.1 通知模板 From 字段更新:ci-notifier → daemon-webhook + +### v2.0 司马懿终审修订 + +| 编号 | 类型 | 问题 | 修订内容 | +|------|------|------|----------| +| M1 | 必须修 | 超时阈值统一 4h 不合理 | §15.4 改为从 Mail metadata 读取个性化 deadline,三级处置按超时程度而非绝对时间 | +| S1 | 建议 | Webhook 代码缺少映射步骤 | §15.3 代码示例加 to_agent_id() 映射函数,所有 send_mail 调用都经映射 | +| S2 | 建议 | Webhook 缺签名验证 | §15.3 代码示例加 X-Gitea-Signature HMAC 验证 | +| S3 | 建议 | 缺 Bug 确认模板 | §15.5 新增模板 6(Bug 确认通知) | - §14 待讨论更新:已确认事项标记,新增 Webhook 模块待讨论项 --- @@ -1163,21 +1172,24 @@ async def handle_gitea_webhook(event: dict, x_gitea_event: str = Header(...), x_ elif x_gitea_event == "pull_request_review": state = event["review"]["state"] if state == "APPROVED": - await send_mail(to=event["pull_request"]["user"]["login"], + pr_author = to_agent_id(event["pull_request"]["user"]["login"]) + await send_mail(to=pr_author, title=f"Review 通过: PR #{event['number']},请 merge", ...) elif state == "REQUEST_CHANGES": - await send_mail(to=event["pull_request"]["user"]["login"], + pr_author = to_agent_id(event["pull_request"]["user"]["login"]) + await send_mail(to=pr_author, title=f"Review 不通过: PR #{event['number']}", ...) elif x_gitea_event == "issue_comment": # CI 自动写的失败评论 → 转发给相关 Agent if "CI 失败" in event["comment"]["body"]: - await send_mail(to=event["sender"]["login"], + commenter = to_agent_id(event["sender"]["login"]) + await send_mail(to=commenter, title=f"CI 失败: PR #{event['number']}", ...) elif x_gitea_event == "issues": if event["action"] == "assigned": - assignee = event["assignee"]["login"] + assignee = to_agent_id(event["assignee"]["login"]) await send_mail(to=assignee, title=f"任务指派: Issue #{event['number']}", ...) ```