fix: rework(回退重做)不调 bug 工具,只有 bug_fix 走状态机

用户纠正语义:rework=重做交付件(QC/PM 退回),不是修 bug,不走 start_fix/fix_bug
状态机。只有 PM 明确派发的「修复 Bug」任务(bug_fix)才走。修正 develop 角色技能
第一步判断 + 回退重做职责段 + bug-fix 技能决策表。
This commit is contained in:
yumoqing 2026-08-23 21:52:51 +08:00
parent 023b2c6145
commit f51452d262
2 changed files with 9 additions and 11 deletions

View File

@ -17,9 +17,10 @@ tools: [classify_task, start_fix, fix_bug, list_bugs]
| classify_task 结果 | 含义 | 是否走 bug 状态机 |
|---|---|---|
| `bug_fix` | PM 派发的「修复 Bug」任务 | 必须:开始 start_fix → 改代码 → 完成 fix_bug |
| `rework` | 回退重做(修复导致上游失败的缺陷) | 必须list_bugs 查对应 open bug → start_fix → 改代码 → fix_bug |
| `new_dev` | 纯新开发(应用脚手架/模块开发) | 不必;但过程中自己 report 的新 bug 若修了也要 fix_bug |
| `rework` | 回退重做(QC/PM 退回重做交付件) | 否,不调 bug 工具,只重做交付件 |
| `new_dev` | 纯新开发(应用脚手架/模块开发) | ;但过程中自己 report 的新 bug 若修了也要 fix_bug |
## 状态机
完整流转见 `bug` 技能open → confirmed → fixing → fixed → verified → closed
修复/回退重做任务里,修完代码必须 `start_fix` + `fix_bug` 把对应 bug 标记 fixed不能只交代码。
**只有 bug_fix 任务走 bug 状态机**:修完代码必须 `start_fix` + `fix_bug` 把对应 bug 标记 fixed。
rework/new_dev 不调 bug 工具start_fix/fix_bug 仅用于 PM 派发的「修复 Bug」任务

View File

@ -9,9 +9,9 @@ capability: feature_dev_capability, bug_fix_capability
## 接到任务第一步(必做)
- **先调用 `classify_task` 判断任务来源**new_dev / bug_fix / rework再决定后续动作
- `bug_fix`PM 派发的「修复 Bug」任务任务开始先 `list_bugs` 定位 bug → `start_fix` 标记修复中 → 改代码 → 完成时 `fix_bug` 标记 fixed
- `rework`(回退重做任务):修缺陷前 `list_bugs` 查当前迭代 open bug找出本次要修的 → `start_fix` → 改代码 → `fix_bug`
- `rework`(回退重做任务):重做交付件(修复 QC/PM 退回的问题),**不调 bug 工具**——它不是修 bug是重做
- `new_dev`(纯新开发):正常开发,不走 bug 状态机
- **不判断来源直接闷头改代码,是导致 bug 永远 open、PM 派不出重新部署、任务链断的根因**——修复代码和推进 bug 状态是一体的
- **只有 bug_fix 任务才走 bug 状态机**rework/new_dev 不调 start_fix/fix_bug。判断错来源会导致 bug 状态机错乱或 bug 永远 open
## 职责
@ -30,12 +30,9 @@ capability: feature_dev_capability, bug_fix_capability
- 修复流程:`list_bugs` 查 bug → `start_fix`confirmed/open→fixing→ 改代码 → `fix_bug`fixing→fixed附 fix_description + fix_commit
- 状态迁移只用工具start_fix/fix_bug不直接改 sd_bugs 库
### 回退重做任务params 带 rollback_from/rollback_comment说明部署/测试发现的缺陷)
- 这类任务本质是「修复导致上游失败的缺陷」,修完代码后**必须走 bug 状态机**,不能只交 code_files 了事:
1. `list_bugs` 查当前迭代 `status=open`(或 confirmed/fixing的 Bug
2. 找出本次修复已解决的 Bug逐个 `start_fix`open/confirmed→fixing→ 改代码 → `fix_bug`fixing→fixed附 fix_description + fix_commit
3. 若无对应 Bug 记录,说明缺陷还没被 report_bug本次修复视为普通代码修复即可不强行造 Bug
- **为什么必须 fix_bug**:若只交代码不 fix_bugbug 永远 openPM 审核修复任务通过后按 bug 闭环规则「查 status=fixed 的 Bug 派重新部署」查不到 fixed bug → 无从派发 → 任务链断在 approved。修复代码和推进 bug 状态是一体的,缺一即断链。
### 回退重做任务params 带 rollback_from/rollback_comment说明 QC/PM 退回原因)
- 这类任务是**重做交付件**(修复退回的问题),**不调 bug 工具**start_fix/fix_bug 只用于 bug_fix 任务)
- 认真读 rollback_comment 里的退回原因,逐条响应修复,重新产出合格交付件
## 应遵守的规范(开发前先 load_skill 加载对应全文,不要凭记忆瞎写)
- `module-development-spec`模块目录结构Python 包目录=模块名、非 src、init.py 三处同步注册、pyproject.toml、scripts/load_path.py