ymq
|
c03469bf7a
|
fix: 阻塞求助不得当缺陷驳回——bug_flow 前置确定性分流转 need_info
回归修复(我引入):人事项目7 实测 deploy_test 两次 report_bug 上报「env/test.json
待确认无法部署」,被 pm_bug_confirm_run 在 9/13 秒内以「属测试环境问题,非代码缺陷」
自动 reject,PM 收不到求助 → 回退 requirement 重做 → requirement 同样拿不到环境信息
→ 再编占位 → QC 再驳,死循环。
根因:prompt 判据写了「reject:测试环境问题导致的假失败」,LLM 严格照做。但
report_bug 在这里承担的是「向上冒泡求助」,不是「报告代码缺陷」。
修复分两层:
1) 代码层确定性分流(主):_is_blocking_help() 按特征词判定阻塞求助,
命中者不进 LLM,直接 _escalate_blocking_bugs() 转 need_info 冒泡给人,
bug 保持 open 等信息补齐;幂等(已有 pending need_info 则跳过)。
2) prompt 兜底(次):删除「测试环境问题→reject」判据,加铁律说明外部输入
缺口不是可 reject 的非缺陷。
实测验证:2 个真实被误驳文本命中分流,3 个真缺陷文本不命中。
|
2026-08-25 21:27:09 +08:00 |
|
ymq
|
6e3c0ee2bf
|
docs: 修正 bug_flow 状态机注释(verified 分流)
|
2026-08-24 12:57:59 +08:00 |
|
ymq
|
d417772f42
|
feat: 项目owner+人类任务清单+bug验收+流转门禁
- check_project_owner: owner=created_by 统一校验
- human_task_capability: 派发/处理/QC/列表/计数/bug验收(复用pipeline_human_tasks)
- bug_flow: verified 分流(human报告→创建验收任务给报告人, agent→自动close)
- qc_review_run: human_task_qc 分支(检查对象=pipeline_human_tasks 结果)
- 流转门禁: agent/pm poller + start_next_iteration 检查未完成人类任务
- pipeline_human_tasks 加 project_id/iteration_id/bug_id/qc_status/qc_comment/title/description
|
2026-08-24 12:18:27 +08:00 |
|
ymq
|
434ab76d88
|
feat: Bug 生命周期独立循环(与任务循环平行的第二套逻辑)
用户定:任务和 bug 做成真正独立的两个事情,机制一样(poller+状态机)、
两套独立逻辑。之前把 bug 动作嵌在 PM 审核任务里(在任务里加 bug 动作)是错的。
改动:
1. 撤销 pm_review_run 里的 bug 动作(PM_SYSTEM_PROMPT bug 段 + tool_call bug 路由)
2. 新增 bug_flow.py:独立 bug 循环模块
- _advance_bug_states:确定性流转(verified→close / fixed→派发复测 / confirmed→派发修复)
- pm_bug_confirm_run:PM 独立确认 open bug(open→confirmed/rejected,LLM 判断)
- bug_flow_poll_once:一轮完整 bug 循环入口
3. init.py 新增 _bug_poller(扫 sd_bugs 驱动状态机,与 role/pm/qc/failed 任务 poller 平行)
只处理进行中迭代(in_progress)的 bug。两循环唯一交互点:bug 循环在
confirmed/fixed 时创建任务(修复/复测)交给任务循环执行,任务执行时角色 agent
调 start_fix/fix_bug/verify_bug 反馈推进 bug 状态。
|
2026-08-24 08:28:16 +08:00 |
|