Merge pull request 'sync: d8d-iterate 新增 completion 类型' (#24) from sync/d8d-skills-20260412-073503 into master
Reviewed-on: http://gitea.d8d.fun/d8dfun/bmad-method-template/pulls/24
This commit is contained in:
@@ -13,11 +13,12 @@ description: '需求迭代自动化编排技能。智能检测项目状态,分
|
||||
|
||||
| 类型 | 触发条件 | 执行路径 |
|
||||
|------|----------|----------|
|
||||
| **completion** | 上次迭代有跳过的步骤 | 仅补跑跳过的 Phase/Step(最高优先级) |
|
||||
| **feature** | 已有完整文档,需增加新 Epic | edit-prd → update docs → new epic → dev |
|
||||
| **greenfield** | 无现有文档 | d8d-requirements → d8d-prototype → d8d-dev |
|
||||
| **bugfix** | 代码已实现但有问题 | dev single-story 或直接修复 |
|
||||
| **refactor** | 需调整架构但功能不变 | correct-course → update arch → dev |
|
||||
| **regression** | 验证已有功能 | dev regression |
|
||||
| **regression** | 验证已有功能 | dev regression → journey |
|
||||
| **design** | 只改 UI 不改逻辑 | prototype → dev 相关 story |
|
||||
|
||||
## 使用方式
|
||||
|
||||
@@ -225,3 +225,55 @@ schema_changed: true/false
|
||||
```
|
||||
|
||||
**无 git 仓库时**:跳过此步骤,`code_changed: unknown`。
|
||||
|
||||
### 3.7 上次迭代残留状态检查(⭐ 新增)
|
||||
|
||||
检测上次 d8d-iterate 迭代是否有未完成的步骤需要补跑。
|
||||
|
||||
**检测流程**:
|
||||
|
||||
```
|
||||
1. 读取 {planning_artifacts}/.iterate-checkpoint.md
|
||||
→ 获取 status、change_type、completed_phases
|
||||
2. 读取 {planning_artifacts}/.iterate-progress.md
|
||||
→ 获取每个 Phase/Step 的详细执行状态
|
||||
3. 检查规则:
|
||||
IF checkpoint 不存在:
|
||||
→ has_previous_iteration: false, 跳过
|
||||
IF checkpoint.status == "in_progress":
|
||||
→ has_incomplete_steps: true(上次中断了,需要恢复)
|
||||
→ 记录 current_phase 作为恢复点
|
||||
IF checkpoint.status == "completed":
|
||||
→ 扫描 progress 中所有 Phase/Step
|
||||
→ IF 任何 Step 状态为 "skipped":
|
||||
→ has_incomplete_steps: true
|
||||
→ 记录所有 skipped 的 Phase + Step + 原因
|
||||
→ ELSE:
|
||||
→ has_incomplete_steps: false(上次迭代完全成功)
|
||||
IF checkpoint.status == "failed":
|
||||
→ has_incomplete_steps: true(需要从失败点恢复)
|
||||
→ 记录失败的 Phase/Step
|
||||
```
|
||||
|
||||
**输出写入 iterate-context.md**:
|
||||
|
||||
```markdown
|
||||
### 上次迭代残留状态
|
||||
has_previous_iteration: true
|
||||
previous_iteration_type: regression
|
||||
previous_status: completed
|
||||
has_incomplete_steps: true
|
||||
incomplete_steps:
|
||||
- phase: phase-05-verify
|
||||
step: journey
|
||||
reason: "skipped (d8d-iterate 回归模式)"
|
||||
step_completed: regression (3/3 PASS)
|
||||
```
|
||||
|
||||
或
|
||||
|
||||
```markdown
|
||||
### 上次迭代残留状态
|
||||
has_previous_iteration: false
|
||||
has_incomplete_steps: false
|
||||
```
|
||||
|
||||
@@ -42,7 +42,25 @@
|
||||
- 极短描述(<10字符,如"验证"、"看看"、"跑一下")
|
||||
- 描述不含任何上表分类关键词
|
||||
|
||||
推断优先级:用户描述关键词 > 代码变更状态推断
|
||||
推断优先级:上次迭代残留检查 > 用户描述关键词 > 代码变更状态推断
|
||||
|
||||
**⭐⭐ 最高优先级:上次迭代残留检查**:
|
||||
|
||||
在所有其他推断之前,先检查 iterate-context.md 的「上次迭代残留状态」:
|
||||
|
||||
```
|
||||
IF has_incomplete_steps == true:
|
||||
→ 变更类型: completion(补完上次迭代跳过的步骤)
|
||||
→ 跳过后续所有推断逻辑
|
||||
→ 执行路径:根据 incomplete_steps 精确路由
|
||||
例:上次 journey 被跳过且 regression 已 PASS
|
||||
→ 直接执行 Phase 5 Step 5.2 (journey),跳过 Step 5.1 (regression)
|
||||
→ 写入 iterate-context.md 并说明补完理由
|
||||
→ 更新 iterate-checkpoint.md: status=in_progress, change_type=completion
|
||||
```
|
||||
|
||||
IF has_incomplete_steps == false 或 has_previous_iteration == false:
|
||||
→ 继续下面的推断逻辑
|
||||
|
||||
推断逻辑(读取 iterate-context.md 的代码变更状态):
|
||||
|
||||
@@ -122,6 +140,14 @@ IF code_changed == unknown(非 git 仓库):
|
||||
根据变更类型和影响评估,确定执行路径:
|
||||
|
||||
```
|
||||
completion(⭐⭐ 最高优先级,补完上次迭代跳过的步骤):
|
||||
→ 根据 incomplete_steps 精确路由到对应的 Phase/Step
|
||||
→ 跳过已完成的步骤(检查 iterate-progress.md 中已 PASS/completed 的步骤)
|
||||
→ 例:上次 regression PASS 但 journey skipped
|
||||
→ 只执行 Phase 5 Step 5.2 (journey),跳过 Step 5.1 (regression)
|
||||
→ 执行前更新 iterate-checkpoint.md: status=in_progress
|
||||
→ 执行完成后更新 iterate-progress.md 并标记 status: completed
|
||||
|
||||
greenfield:
|
||||
→ 调用 d8d-requirements (全量)
|
||||
→ 完成后自动触发 d8d-prototype
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
↓
|
||||
┌──────────────────────┐
|
||||
│ 决策路由 │
|
||||
│ completion? ─→ 仅执行上次跳过的 Phase/Step(⭐⭐ 最高优先级)
|
||||
│ greenfield? ───→ 全量流程 (d8d-requirements → prototype → dev)
|
||||
│ feature? ───→ Phase 2 → (has UI? → Phase 3 ⛔) → Phase 4 → 5
|
||||
│ bugfix? ───→ Phase 4 (single-story)
|
||||
@@ -158,6 +159,7 @@ phase-05-verify:
|
||||
|
||||
| 变更类型 | 执行路径 | 跳过 |
|
||||
|----------|----------|------|
|
||||
| **completion** | 仅执行上次跳过的 Phase/Step(⭐ 最高优先级) | 所有已完成的 Phase/Step |
|
||||
| **greenfield** | Phase 0 → 调用 d8d-requirements → d8d-prototype → d8d-dev(内置回归+旅程) | Phase 1-5 全跳过 |
|
||||
| **feature** | Phase 2 → (Phase 3: 有新UI则⛔MANDATORY) → Phase 4 → Phase 5 | 按需 |
|
||||
| **bugfix** | Phase 4 (single-story) → Phase 5 | Phase 2, 3 |
|
||||
|
||||
Reference in New Issue
Block a user