sync: d8d-iterate Phase 5 旅程验证防跳过修复 #23
@@ -130,42 +130,43 @@ greenfield:
|
||||
feature (low risk, 无新 UI 页面):
|
||||
→ Phase 2: edit-prd + update arch/ux + new epic
|
||||
→ Phase 4: d8d-dev --epic {new-epic}
|
||||
→ Phase 5: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
|
||||
feature (low risk, 有新 UI 页面):
|
||||
→ Phase 2: edit-prd + update arch/ux + new epic
|
||||
→ Phase 3: d8d-prototype --incremental [P] 或 [A](⛔ 铁律六 MANDATORY)
|
||||
→ Phase 4: d8d-dev --epic {new-epic}
|
||||
→ Phase 5: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
|
||||
feature (medium/high risk):
|
||||
→ Phase 2: edit-prd + correct-course + update docs + new epic
|
||||
→ Phase 3: d8d-prototype --incremental(⛔ 如有新 UI 则 MANDATORY,铁律六)
|
||||
→ Phase 4: d8d-dev --epic {new-epic}
|
||||
→ Phase 5: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
|
||||
bugfix (single file):
|
||||
→ Phase 4: 直接修复 + d8d-dev --story {story-id}
|
||||
→ Phase 5: d8d-dev --regression (可选)
|
||||
→ Phase 5: d8d-dev --regression (可选) → d8d-dev --journey (可选,依赖回归执行)
|
||||
|
||||
bugfix (multi file):
|
||||
→ Phase 2: 如果需要更新文档
|
||||
→ Phase 4: d8d-dev --story {story-id}
|
||||
→ Phase 5: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
|
||||
refactor:
|
||||
→ Phase 2: correct-course + update docs
|
||||
→ Phase 4: d8d-dev --epic {affected-epic}
|
||||
→ Phase 5: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
|
||||
regression:
|
||||
→ Phase 5 only: d8d-dev --regression
|
||||
→ Phase 5: d8d-dev --regression → d8d-dev --journey
|
||||
(Phase 5 包含回归验证和旅程验证两步,回归 PASS 后必须继续旅程验证)
|
||||
|
||||
design:
|
||||
→ Phase 2.5: 设计工具适配层重新提取设计变量(⭐ 如 design_file_changed=true 则必须)
|
||||
→ Phase 3: d8d-prototype --incremental(使用最新设计截图作为基准)
|
||||
→ Phase 4: d8d-dev --story {affected-stories}
|
||||
→ Phase 5: d8d-dev --regression (可选)
|
||||
→ Phase 5: d8d-dev --regression (可选) → d8d-dev --journey (可选,依赖回归执行)
|
||||
```
|
||||
|
||||
## 输出
|
||||
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
**验证顺序**(与 d8d-dev 铁律一致):回归验证 → 旅程验证,不得跳过回归直接旅程。
|
||||
|
||||
## ⛔ Phase 5 入口检查(每次进入或恢复本文件时执行)
|
||||
|
||||
1. 读取 `iterate-progress.md`
|
||||
2. 根据 Phase 5 Step 状态定位恢复点:
|
||||
- `step-51-regression` 不存在 → 从 Step 5.0 开始
|
||||
- `step-51-regression: completed` + `step-51-result: PASS` + `step-52-journey: pending` → **直接跳到 Step 5.2**(跳过已完成的构建和回归)
|
||||
- `step-51-regression: completed` + `step-51-result: FAIL` → **跳到 Step 5.3**(跳过旅程)
|
||||
- `step-52-journey: completed` → **跳到 Step 5.3**(生成报告)
|
||||
|
||||
## 执行步骤
|
||||
|
||||
### Step 5.0: 生产构建与外网验证
|
||||
@@ -69,7 +78,10 @@ IF 变更类型 == feature 且 risk == low:
|
||||
|
||||
**⛔ 结果判定**(Skill 调用返回后立即判断):
|
||||
|
||||
- 全部 PASS → 零暂停,自动继续 Step 5.2 旅程验证
|
||||
- 全部 PASS → ⛔ 立即执行以下三步(零暂停,不输出汇总,不询问用户):
|
||||
1. 更新 `iterate-progress.md`: `step-51-regression: completed, step-51-result: PASS, step-52-journey: pending`
|
||||
2. 读取 `iterate-progress.md` 确认状态
|
||||
3. 调用 Skill tool 执行 Step 5.2 旅程验证
|
||||
- 有 FAIL → **⛔ 自动修复流程**:
|
||||
1. 分析失败原因,定位 bug
|
||||
2. 使用 Edit tool 修复
|
||||
@@ -96,6 +108,11 @@ skill: "d8d-dev"
|
||||
args: "--journey 旅程验证。验证所有用户旅程,包括已有旅程和新增功能的旅程。"
|
||||
```
|
||||
|
||||
**⛔ Step 5.2 返回后三步协议**:
|
||||
1. 写入进度:`step-52-journey: completed, step-52-result: PASS/FAIL`
|
||||
2. 读取 `iterate-progress.md` 确认状态
|
||||
3. 零暂停继续 Step 5.3 生成变更报告
|
||||
|
||||
**铁律**:
|
||||
- 回归验证 PASS 后才能执行旅程验证
|
||||
- 功能不存在时测旅程无意义(⛔ 不得跳过回归直接旅程)
|
||||
|
||||
@@ -123,7 +123,13 @@ phase-01-analyze: completed | skipped | failed
|
||||
phase-02-docs: completed | skipped | failed
|
||||
phase-03-prototype: completed | skipped | failed
|
||||
phase-04-dev: completed | skipped | failed
|
||||
phase-05-verify: completed | skipped | failed
|
||||
phase-05-verify:
|
||||
step-50-build: completed | skipped | failed
|
||||
step-51-regression: completed | skipped | failed
|
||||
step-51-result: PASS | FAIL | SKIPPED
|
||||
step-52-journey: pending | completed | skipped | failed
|
||||
step-52-result: PASS | FAIL | SKIPPED
|
||||
step-53-report: pending | completed
|
||||
```
|
||||
|
||||
## 执行流程
|
||||
@@ -203,3 +209,14 @@ Phase 5 — 旅程验证:
|
||||
4. **错误恢复**:Phase 失败时记录状态,支持从断点恢复
|
||||
5. **复用子技能**:通过 Skill tool 调用 d8d-requirements/d8d-prototype/d8d-dev,不重新实现
|
||||
6. **自动提交推送**:每个 Phase 产生代码变更后立即 git commit + git push,不询问用户。包括 bug 修复、文档更新、状态文件变更 — 全部自动提交推送
|
||||
|
||||
### ⛔ Phase 内 Step 过渡守卫
|
||||
|
||||
Phase 内含多个 Step 且 Step 间有 Skill 调用时,Skill 返回后执行**"写-读-继续"三步**:
|
||||
|
||||
1. **写**:立即将当前 Step 结果写入 `iterate-progress.md`
|
||||
2. **读**:读取 `iterate-progress.md` 确认当前进度
|
||||
3. **继续**:找到下一个 pending 的 Step 执行(不询问、不停顿)
|
||||
|
||||
进度文件是跨 Skill 调用的"外部记忆",确保上下文丢失或压缩后仍可恢复。
|
||||
任何 Step 完成后,必须检查进度文件中是否还有 pending 的 Step,而非直接结束 Phase。
|
||||
|
||||
Reference in New Issue
Block a user