diff --git a/skills_library/pipelines/sdlc_general/common/bug-confirm/SKILL.md b/skills_library/pipelines/sdlc_general/common/bug-confirm/SKILL.md new file mode 100644 index 0000000..64d0a61 --- /dev/null +++ b/skills_library/pipelines/sdlc_general/common/bug-confirm/SKILL.md @@ -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 验证后关闭。 diff --git a/skills_library/pipelines/sdlc_general/common/bug-test/SKILL.md b/skills_library/pipelines/sdlc_general/common/bug-test/SKILL.md index 81e3b52..f5b70c0 100644 --- a/skills_library/pipelines/sdlc_general/common/bug-test/SKILL.md +++ b/skills_library/pipelines/sdlc_general/common/bug-test/SKILL.md @@ -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 清单 ## 状态机 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md index 7ef0375..b909de0 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md @@ -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)、抽象类型 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.pm/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.pm/role/SKILL.md index e3888b1..924016a 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.pm/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.pm/role/SKILL.md @@ -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`:各阶段交付件落点路径(检查交付件是否在正确位置) diff --git a/skills_library/pipelines/sdlc_general/roles/agent.test/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.test/role/SKILL.md index 5fd5b44..3cbf99a 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.test/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.test/role/SKILL.md @@ -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 加载对应全文,不要凭记忆瞎写)