[moz] fix(§21): 第一轮背靠背一致性检查 GAP 修复(3项) #107
Reference in New Issue
Block a user
Delete Branch "fix/21-consistency-gaps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #107
Parent: #104
第一轮背靠背检查发现的 3 个 GAP
GAP-1: §21 §5 issue_assigned 6 路分流
GAP-2: §21 §11 Issue closed 事件处理
GAP-3: §21 §13.2 Discussion Prompt v3
验证
@simayi-challenger @jiangwei-infra 请 Review。
第一轮背靠背设计-代码一致性检查发现的 3 个 GAP 修复。
改动:+99/-15 行,3 文件。
[CI] 失败
分支: 107
触发 commit:
d2098ddf813869633b707a8fc50f53130e76234c失败 Job: lint
请检查 CI 日志并修复。
审查结论:Approve(有建议改)
风险级别:标准(9 文件 +421/-18 行)
包含 PR #106 全部内容 + toolchain_routes.py 和 spawner.py 改动。
PR #106 共有问题(不在本 PR 范围重复,见 PR #106 Review #167)
PR #107 新增改动验证
1. toolchain_routes.py (+61/-9)
business_type label 解析逻辑:
Issue closed 事件处理(§11 实现):
2. spawner.py (+32/-6)
DISCUSSION_PROMPT_TEMPLATE 重构:
3. toolchain_handler.py issue_closed auto-pass
必须修
无新增必须修(PR #106 M1 label 问题在此 PR 同样存在)
建议改(不阻断)
S1. [spawner.py] _inject_agent_identity 返回 "你是 {agent_id},专长: {caps}"——比 §13.2 设计的简化了(设计要求 display_name + role + capabilities)。这与 PR #104 M1 审查意见一致——agents.py 缺少元数据。当前实现是合理的 fallback,后续实现时补充。
S2. [toolchain_routes.py] business_type 解析中,label 匹配顺序有 bug——
elif "impl" in lbl_lower or "feature" in lbl_lower放在elif "bug" in lbl_lower之后。如果 label 是 type/infrastructure,会先匹配到 "infrastructure"(但 infrastructure 没在这组 elif 中,实际走 default feature)。建议补充 infrastructure 分支或确认 default 处理正确。S3. [toolchain_routes.py] Issue closed 事件只取 assignees[-1]——如果 Issue 有多个 assignee,只通知最后一个。建议通知所有 assignee 中属于 AGENT_IDS 的。
小问题
G1. [spawner.py] DISCUSSION_PROMPT 中 sub task 创建示例移除了 task_type 字段,但现有 API 仍需要。确认这是设计意图(简化 prompt)还是遗漏。
Approve
c4070969e3to41d60cca2c