feat: Bug 闭环能力通过角色技能定义扩展(测试→bug→修复→复测→关闭)
按「能力通过技能定义扩展」原则,代码只补工具原语,闭环行为全在技能里: - 新增 bug-confirm 能力技能(capability: bug_confirm_capability + confirm/reject/reopen/list_bugs) - PM 角色技能:capability 加 bug_confirm_capability + 职责「审核 test 通过后查 open bug,零散→confirm+派发修复任务,系统→rollback;修复通过后派发复测任务」 - develop 角色技能:职责「修复 Bug 任务 → start_fix + fix_bug」 - test 角色技能:职责「复测任务 → verify + close / reopen」 - bug-test 能力补 reopen_bug 工具 LLM 读技能后自主驱动闭环,代码不写死「查 bug→派任务」逻辑。
This commit is contained in:
parent
6863f73728
commit
2ac7702c39
@ -0,0 +1,25 @@
|
||||
---
|
||||
name: bug-confirm
|
||||
description: 确认/驳回/重开 Bug 能力——confirm_bug/reject_bug/reopen_bug/list_bugs 工具集(agent.pm 用)。审核 test 交付时据此处理 open bug。完整状态机见 bug 技能。
|
||||
capability: bug_confirm_capability
|
||||
tools: [confirm_bug, reject_bug, reopen_bug, list_bugs]
|
||||
---
|
||||
|
||||
# 确认 Bug 能力(agent.pm)
|
||||
|
||||
## 职责
|
||||
- `confirm_bug`:open → confirmed(确认缺陷有效,准备派发修复)
|
||||
- `reject_bug`:open/confirmed → rejected(驳回:误报/重复/非缺陷)
|
||||
- `reopen_bug`:closed/rejected → open(重开重新处理)
|
||||
- `list_bugs`:查 Bug 清单(可按 status 过滤)
|
||||
|
||||
## 状态机
|
||||
完整流转见 `bug` 技能(open → confirmed → fixing → fixed → verified → closed)。
|
||||
|
||||
## 闭环触发(审核 test 交付通过时)
|
||||
审核 test 任务通过后,`list_bugs` 查该迭代 `status=open` 的 Bug,分类处理:
|
||||
- **零散 Bug**(单点缺陷,不影响整体)→ 逐个 `confirm_bug` 确认,然后 `create_tasks` 派发一个「修复 Bug」任务给 develop(description 列出 bug id + 标题 + 描述),让 develop 逐个修复。Bug 闭环不打断任务链。
|
||||
- **系统性缺陷**(Bug 多/严重、设计有缺陷、需求理解错、部署有问题)→ `review_rollback` 回退到 develop/deploy_test/design,不逐个 confirm。
|
||||
|
||||
## 审核 develop「修复 Bug」任务通过时
|
||||
修复任务通过后,`list_bugs` 查该迭代 `status=fixed` 的 Bug,`create_tasks` 派发一个「复测」任务给 test(description 列出已修复 bug 清单),让 test 验证后关闭。
|
||||
@ -1,8 +1,8 @@
|
||||
---
|
||||
name: bug-test
|
||||
description: 测试 Bug 能力——report_bug/verify_bug/close_bug/list_bugs 工具集(agent.test 用)。完整状态机见 bug 技能。
|
||||
description: 测试 Bug 能力——report_bug/verify_bug/close_bug/reopen_bug/list_bugs 工具集(agent.test 用)。完整状态机见 bug 技能。
|
||||
capability: bug_test_capability
|
||||
tools: [report_bug, verify_bug, close_bug, list_bugs]
|
||||
tools: [report_bug, verify_bug, close_bug, reopen_bug, list_bugs]
|
||||
---
|
||||
|
||||
# 测试 Bug 能力(agent.test)
|
||||
@ -11,6 +11,7 @@ tools: [report_bug, verify_bug, close_bug, list_bugs]
|
||||
- `report_bug`:用例 fail 后上报 Bug,落库 sd_bugs(status=open)
|
||||
- `verify_bug`:fixed → verified(验证修复生效)
|
||||
- `close_bug`:verified → closed(关闭)
|
||||
- `reopen_bug`:closed/rejected → open(复测未通过时重开,重新走闭环)
|
||||
- `list_bugs`:查 Bug 清单
|
||||
|
||||
## 状态机
|
||||
|
||||
@ -18,6 +18,11 @@ capability: feature_dev_capability, bug_fix_capability
|
||||
- 模块是 Python 包(无独立 app.py/端口/Dockerfile),通过 `load_{模块}()` 挂到应用;取库名用 `ServerEnv().get_module_dbname('模块名')`,禁止硬编码 DBNAME
|
||||
- 基础模块(apppublic / sqlor / ahserver / accounting / appbase / rbac)已存在,直接复用,不重新开发
|
||||
|
||||
### 修复 Bug 任务(PM 派发的「修复 Bug」任务)
|
||||
- 任务 description 带 bug 清单(bug id + 标题 + 描述),逐个修复
|
||||
- 修复流程:`list_bugs` 查 bug → `start_fix`(confirmed→fixing)→ 改代码 → `fix_bug`(fixing→fixed,附 fix_description + fix_commit)
|
||||
- 状态迁移只用工具(start_fix/fix_bug),不直接改 sd_bugs 库
|
||||
|
||||
## 应遵守的规范(开发前先 load_skill 加载对应全文,不要凭记忆瞎写)
|
||||
- `module-development-spec`:模块目录结构(Python 包目录=模块名、非 src)、init.py 三处同步注册、pyproject.toml、scripts/load_path.py
|
||||
- `database-table-definition-spec`:表定义四段式格式(summary/fields/indexes/codes)、抽象类型
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
---
|
||||
name: role
|
||||
description: 项目经理角色定义。审核/派发任务时先 load_skill 加载本技能——本技能规定该加载:project-directory-spec(交付件落点路径)、sdlc-repo-standard(交付件格式与审核要点)。不先加载会按错误路径检查交付件、漏检实际产出。
|
||||
capability: task_capability
|
||||
description: 项目经理角色定义。审核/派发任务时先 load_skill 加载本技能——本技能规定该加载:project-directory-spec(交付件落点路径)、sdlc-repo-standard(交付件格式与审核要点)、bug-confirm(审核 test 后走 Bug 闭环)。不先加载会按错误路径检查交付件、漏检实际产出、漏处理 Bug。
|
||||
capability: task_capability, bug_confirm_capability
|
||||
---
|
||||
|
||||
# 项目经理(pm)角色定义
|
||||
@ -10,6 +10,7 @@ capability: task_capability
|
||||
- 项目计划、任务分配、任务验收
|
||||
- 按 design 阶段设计师的模块清单派发 develop 任务(一个模块一个任务,无依赖并行、有依赖串行 depends_on)
|
||||
- 默认自动推进项目(审核通过→自动创建后续任务→自动分解派发),无需用户指令,暂停才需指令
|
||||
- **Bug 闭环**(审核 test 通过后执行,工具见 bug-confirm 能力):`list_bugs` 查该迭代 `status=open` 的 Bug —— 零散 Bug → 逐个 `confirm_bug` + `create_tasks` 派发一个「修复 Bug」任务给 develop(description 列出 bug id+标题+描述);系统性缺陷 → `review_rollback` 回退 deploy_test/develop/design。审核「修复 Bug」任务通过后,`list_bugs` 查 `status=fixed` 的 Bug → 派发「复测」任务给 test。
|
||||
|
||||
## 应遵守的规范(审核/派发前先 load_skill 加载对应全文,不要凭记忆瞎写)
|
||||
- `project-directory-spec`:各阶段交付件落点路径(检查交付件是否在正确位置)
|
||||
|
||||
@ -12,6 +12,7 @@ capability: test_plan_capability, test_case_capability, bug_test_capability
|
||||
- **建测试用例**:用 `create_case` 落库 sd_test_cases(状态 pending),每个功能点都要有用例覆盖
|
||||
- **真实执行用例**:用 `pass_case` / `fail_case` / `skip_case` / `block_case` 记录执行结果;selftest.py 必须是真实断言(非占位符),附真实执行输出
|
||||
- **失败建 Bug**:用例 fail 后用 `report_bug` 建 Bug 落库 sd_bugs,让缺陷走闭环
|
||||
- **复测已修复 Bug(PM 派发的「复测」任务)**:任务 description 带已修复 bug 清单,逐个回归验证——通过 → `verify_bug`(fixed→verified)+ `close_bug`(verified→closed);未通过 → `reopen_bug`(→open,重新走闭环)
|
||||
- 产出测试文档(test-plan.md / test-cases.md / test-report.md),**文档里的用例数/执行数/Bug 数必须与落库数据一致**
|
||||
|
||||
## 应遵守的规范(执行前先 load_skill 加载对应全文,不要凭记忆瞎写)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user