@boyingliu01/opencode-plugin 0.12.14 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/delphi-review/AGENTS.md +4 -4
- package/skills/sprint-flow/AGENTS.md +50 -62
- package/skills/sprint-flow/SKILL.md +200 -238
- package/skills/sprint-flow/references/force-levels.md +13 -14
- package/skills/sprint-flow/references/orchestration-rules.md +61 -197
- package/skills/sprint-flow/references/phase-1-prep.md +294 -0
- package/skills/sprint-flow/references/phase-2-design.md +194 -0
- package/skills/sprint-flow/references/{phase-2-build.md → phase-3-build.md} +11 -11
- package/skills/sprint-flow/references/phase-4-verify.md +153 -0
- package/skills/sprint-flow/references/phase-5-ship.md +40 -0
- package/skills/sprint-flow/references/phase-6-close.md +134 -0
- package/skills/sprint-flow/templates/auto-estimate-learning-log.md +1 -1
- package/skills/sprint-flow/templates/auto-estimate-output-template.md +15 -37
- package/skills/sprint-flow/templates/emergent-issues-template.md +7 -7
- package/skills/sprint-flow/templates/pain-document-template.md +5 -5
- package/skills/sprint-flow/templates/sprint-progress-template.md +36 -47
- package/skills/sprint-flow/templates/sprint-summary-template.md +16 -15
- package/skills/test-specification-alignment/AGENTS.md +4 -4
- package/skills/sprint-flow/references/phase-0-think.md +0 -115
- package/skills/sprint-flow/references/phase-1-plan.md +0 -178
- package/skills/sprint-flow/references/phase-3-review.md +0 -215
- package/skills/sprint-flow/references/phase-4-uat.md +0 -125
- package/skills/sprint-flow/references/phase-5-feedback.md +0 -100
- package/skills/sprint-flow/references/phase-6-ship.md +0 -9
- package/skills/sprint-flow/references/phase-7-land.md +0 -9
- package/skills/sprint-flow/references/phase-8-cleanup.md +0 -9
- package/skills/sprint-flow/references/phase-minus-0-5-auto-estimate.md +0 -263
- package/skills/sprint-flow/references/phase-minus-1-isolate.md +0 -58
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Phase 4/6: VERIFY(验证 — 代码走查 + QA + 反馈获取)
|
|
2
|
+
|
|
3
|
+
**执行时机**: Phase 3/6 BUILD 完成后、Phase 5/6 SHIP 之前。
|
|
4
|
+
**对应旧模型**: Phase 3 REVIEW + Phase 4 FEEDBACK
|
|
5
|
+
|
|
6
|
+
## 目标
|
|
7
|
+
|
|
8
|
+
多专家代码走查、测试对齐、浏览器测试、反馈捕获。确保 MVP 符合 specification 并记录经验教训。
|
|
9
|
+
|
|
10
|
+
**执行者**: orchestrator 直接执行 Part A(非 subagent dispatch — Issue #249)。
|
|
11
|
+
|
|
12
|
+
Web 前端项目额外增加:系统化 QA、视觉审计、性能基线。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Part A: REVIEW + TEST(代码走查 + 测试对齐)
|
|
17
|
+
|
|
18
|
+
### 调用 Skills
|
|
19
|
+
|
|
20
|
+
**所有项目**:
|
|
21
|
+
- `delphi-review --mode code-walkthrough` — 多专家匿名代码走查(2-3 domestic models, ≥90% consensus)
|
|
22
|
+
- `test-specification-alignment` — 测试与 Spec 对齐验证
|
|
23
|
+
- `browse` (gstack) — 浏览器自动化测试
|
|
24
|
+
|
|
25
|
+
**Web 前端项目额外注入** (`--type web-nextjs` / `web-react` / `web-vue`):
|
|
26
|
+
- `qa` (gstack) — 三层 QA(Quick/Standard/Exhaustive)系统化测试
|
|
27
|
+
- `design-review` (gstack) — 线上 UI 视觉审计(间距、层级、AI slop 检测)
|
|
28
|
+
- `benchmark` (gstack) — Core Web Vitals 性能基线
|
|
29
|
+
|
|
30
|
+
**Mobile 项目额外注入** (`--type mobile-flutter` / `mobile-react-native`):
|
|
31
|
+
- `flutter-test` — Flutter 单元测试 + widget 测试 (Flutter only)
|
|
32
|
+
- Detox E2E — React Native 端到端测试 (RN only)
|
|
33
|
+
- `flutter-review` (user) — Flutter 代码审查 (Flutter only)
|
|
34
|
+
|
|
35
|
+
**Backend 项目额外注入** (`--type backend-go` / `backend-springboot` / `backend-django`):
|
|
36
|
+
- API Testing — 后端 API 自动化测试
|
|
37
|
+
|
|
38
|
+
### 执行步骤
|
|
39
|
+
|
|
40
|
+
#### Step 1: 调用 delphi-review --mode code-walkthrough
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
skill(name="delphi-review", user_message="--mode code-walkthrough")
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- 2-3 位国内模型专家匿名独立评审(DeepSeek-v4-pro + Kimi-K2.6 + Qwen3.6-Plus)
|
|
47
|
+
- Round 1: 匿名独立评审(防止 anchoring bias)
|
|
48
|
+
- Round 2: 交换意见,响应关切
|
|
49
|
+
- Round 3: 最终立场(如需)
|
|
50
|
+
- ≥90% 共识 + APPROVED 才通过
|
|
51
|
+
|
|
52
|
+
**如果 REQUEST_CHANGES**: 暂停等待用户处理 → 修复后重新评审。**如果 APPROVED**: 写入 `.code-walkthrough-result.json`(1 小时有效期)→ 进入 Step 2。
|
|
53
|
+
|
|
54
|
+
#### Step 2: 调用 test-specification-alignment
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
skill(name="test-specification-alignment", user_message="--spec specification.yaml --tests mvp-v1/tests")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Phase 1: 验证对齐(可修改测试) → Phase 2: 执行测试(禁止修改测试)
|
|
61
|
+
|
|
62
|
+
#### Step 2.5-2.10: 项目类型特定验证(Web/Mobile/Backend)
|
|
63
|
+
|
|
64
|
+
- **Web**: qa → design-review → benchmark
|
|
65
|
+
- **Mobile**: flutter-test / detox E2E
|
|
66
|
+
- **Backend**: API automation tests
|
|
67
|
+
|
|
68
|
+
#### Step 3: 调用 browse skill
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
skill(name="browse", user_message="--url [URL] --test-ui")
|
|
72
|
+
```
|
|
73
|
+
默认: `localhost:3000`。发现问题 → 回退 Phase 3/6 修复。
|
|
74
|
+
|
|
75
|
+
#### Step 4: 保存 Review Report
|
|
76
|
+
|
|
77
|
+
保存到 `<project-root>/.sprint-state/phase-outputs/review-report.md`
|
|
78
|
+
|
|
79
|
+
### 暂停点
|
|
80
|
+
|
|
81
|
+
| 暂停点 | 触发条件 | 用户操作 |
|
|
82
|
+
|--------|---------|---------|
|
|
83
|
+
| delphi code-walkthrough REQUEST_CHANGES | Critical Issues 未修复 | 用户修复 → 重新评审 |
|
|
84
|
+
| test-alignment 失败 | 自动回退 Phase 3/6(不暂停) | 自动迭代 |
|
|
85
|
+
| browse 发现问题 | 自动回退 Phase 3/6(不暂停) | 自动迭代 |
|
|
86
|
+
|
|
87
|
+
### 输出
|
|
88
|
+
|
|
89
|
+
- `.code-walkthrough-result.json`(pre-push hook 验证)
|
|
90
|
+
- Review Report (`review-report.md`)
|
|
91
|
+
- Web 前端附加: QA report + design-review report + benchmark baseline
|
|
92
|
+
- 验证通过的 MVP
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Part B: FEEDBACK CAPTURE(反馈获取)
|
|
97
|
+
|
|
98
|
+
### 调用 Skills
|
|
99
|
+
|
|
100
|
+
- `learn` (gstack) — 模式记录(个人级)
|
|
101
|
+
- `retro` (gstack) — 周工程回顾:提交历史、工作模式、代码质量趋势(团队级)
|
|
102
|
+
- `systematic-debugging` (superpowers) _(可选)_ — 根因调试:反馈中的 bug 做根因分析
|
|
103
|
+
|
|
104
|
+
### 执行步骤
|
|
105
|
+
|
|
106
|
+
#### Step 1: 调用 learn skill
|
|
107
|
+
```
|
|
108
|
+
skill(name="learn", user_message="[Emergent Issues 内容 + Sprint 总结]")
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### Step 2: 工程回顾 — 调用 retro
|
|
112
|
+
```
|
|
113
|
+
skill(name="retro")
|
|
114
|
+
```
|
|
115
|
+
- 提交历史分析、代码质量趋势、团队贡献分解、改进建议
|
|
116
|
+
|
|
117
|
+
#### Step 3: 根因调试(可选)
|
|
118
|
+
**IF Phase 6/6 CLOSE 发现 bug 或 Part A 验证失败**:
|
|
119
|
+
```
|
|
120
|
+
skill(name="systematic-debugging", user_message="[具体 bug 描述]")
|
|
121
|
+
```
|
|
122
|
+
Iron Law: 无调查 → 不修复
|
|
123
|
+
|
|
124
|
+
#### Step 4: 转化 Emergent Issues 为 Sprint 2 Pain Document
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
# Sprint 2 Pain Document
|
|
128
|
+
|
|
129
|
+
## 来源:基于 Sprint 1 的 Emergent Issues
|
|
130
|
+
|
|
131
|
+
## Critical Issues (自动进入 Sprint 2)
|
|
132
|
+
## Major Issues (询问用户是否纳入)
|
|
133
|
+
## Minor Issues (可选纳入)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Step 5: 保存 Feedback Log
|
|
137
|
+
|
|
138
|
+
保存到:
|
|
139
|
+
- `<project-root>/.sprint-state/phase-outputs/feedback-log.md`
|
|
140
|
+
- `<project-root>/.sprint-state/phase-outputs/sprint2-pain.md` (如有 emergent issues)
|
|
141
|
+
|
|
142
|
+
### 暂停点
|
|
143
|
+
|
|
144
|
+
**无** — Part B 完成后自动进入 Phase 5/6 SHIP
|
|
145
|
+
|
|
146
|
+
**HARD-GATE**: feedback-log.md must exist before Phase 5/6 SHIP
|
|
147
|
+
|
|
148
|
+
### 输出
|
|
149
|
+
|
|
150
|
+
- Feedback Log (`feedback-log.md`)
|
|
151
|
+
- Retro Report(retro 输出)
|
|
152
|
+
- Sprint 2 Pain Document (`sprint2-pain.md`) — 如果有 emergent issues
|
|
153
|
+
- 进入 Phase 5/6 SHIP 自动执行
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Phase 5/6: SHIP(发布 — 发布准备 + 合并部署)
|
|
2
|
+
|
|
3
|
+
**执行时机**: Phase 4/6 VERIFY 完成后、Phase 6/6 CLOSE 之前。
|
|
4
|
+
**对应旧模型**: Phase 5 SHIP + Phase 6 LAND
|
|
5
|
+
|
|
6
|
+
**摘要**: 结构化分支完成决策, 创建 PR, 合并部署, 监控. 生成 Sprint Summary.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Part A: SHIP(发布准备)
|
|
11
|
+
|
|
12
|
+
**完整指令**: @see SKILL.md Phase 5/6 SHIP section.
|
|
13
|
+
|
|
14
|
+
**Orchestrator 直接执行**: `finishing-a-development-branch` 和 `ship` 均为交互式 skill(4 选项菜单 + PR 确认),**必须由 orchestrator 直接调用**。
|
|
15
|
+
|
|
16
|
+
**关键链**: PHASE4-GATE → verification → finishing-a-development-branch(4选项) → ship
|
|
17
|
+
|
|
18
|
+
**HARD-GATE**: Phase 4/6 VERIFY 未完成 → BLOCK。验证 `feedback-log.md` 存在。
|
|
19
|
+
|
|
20
|
+
**GITHOOKS-GATE**: 验证 hooks 完整性,缺失则 `githooks/install.sh`
|
|
21
|
+
|
|
22
|
+
**VERSION-GATE**: bump PATCH/MINOR/MAJOR → `sync-version.sh` → CHANGELOG.md → `git diff VERSION` 验证
|
|
23
|
+
|
|
24
|
+
**输出**: PR URL
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Part B: LAND(合并 + 部署)
|
|
29
|
+
|
|
30
|
+
**Orchestrator 直接执行**: `land-and-deploy` 包含 merge 确认和 rollback 决策,**必须由 orchestrator 直接调用** `skill(name="land-and-deploy")`
|
|
31
|
+
|
|
32
|
+
**输入**: PR URL → 输出: 部署状态 + Canary 报告
|
|
33
|
+
|
|
34
|
+
**流程**: Merge PR → 等待 CI (10min) → 等待 Deploy (10min) → Canary Health Check (5min)
|
|
35
|
+
|
|
36
|
+
**回滚**: `git revert` 最后一次 merge commit
|
|
37
|
+
|
|
38
|
+
**条件跳过**: 无部署配置时仅 merge + CI
|
|
39
|
+
|
|
40
|
+
**输出**: 部署状态 (success/failure/skipped), Canary 报告
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Phase 6/6: CLOSE(收尾 — ⚠️ 人工验收 + 清理)
|
|
2
|
+
|
|
3
|
+
**执行时机**: Phase 5/6 SHIP 完成后。
|
|
4
|
+
**对应旧模型**: Phase 7 USER ACCEPTANCE + Phase 8 CLEANUP
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Part A: USER ACCEPTANCE(⚠️ 人工验收)
|
|
9
|
+
|
|
10
|
+
### 目标
|
|
11
|
+
|
|
12
|
+
用户实际使用 MVP,发现 Emergent 问题。这是 AI 无法预测的环节。
|
|
13
|
+
|
|
14
|
+
### ⚠️ 关键说明
|
|
15
|
+
|
|
16
|
+
**这是 Emergent Requirements 发现环节。**
|
|
17
|
+
|
|
18
|
+
- AI 无法预测用户看到产品后才发现的问题
|
|
19
|
+
- 78% 的软件失败是用户使用时发现的,不是开发阶段发现的
|
|
20
|
+
- 必须由用户实际使用验收
|
|
21
|
+
|
|
22
|
+
### 调用 Skills
|
|
23
|
+
|
|
24
|
+
**无** — 必须人工
|
|
25
|
+
|
|
26
|
+
### 执行步骤
|
|
27
|
+
|
|
28
|
+
#### Step 1: 提示用户开始验收
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
⚠️ Phase 6/6 CLOSE: USER ACCEPTANCE
|
|
32
|
+
|
|
33
|
+
MVP 已通过自动化验证,现在需要您实际使用验收。
|
|
34
|
+
|
|
35
|
+
请按照以下步骤:
|
|
36
|
+
1. 启动应用(或访问部署地址)
|
|
37
|
+
2. 使用 Emergent Issues 检查清单进行验收
|
|
38
|
+
3. 记录发现的问题
|
|
39
|
+
4. 完成后确认是否继续
|
|
40
|
+
|
|
41
|
+
验收完成后,请回复:
|
|
42
|
+
- "验收通过" → 进入 Part B CLEANUP
|
|
43
|
+
- "发现问题" → 填写 emergent-issues.md
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### Step 2: 用户实际使用 MVP
|
|
47
|
+
|
|
48
|
+
用户按照 Emergent Issues 检查清单验收,使用模板:`@templates/emergent-issues-template.md`
|
|
49
|
+
|
|
50
|
+
检查维度:
|
|
51
|
+
1. **核心功能体验** (Core Functionality UX)
|
|
52
|
+
2. **多轮交互体验** (Multi-turn Interaction UX)
|
|
53
|
+
3. **视觉/交互体验** (Visual/Interaction UX)
|
|
54
|
+
4. **用户认知负担** (Cognitive Load)
|
|
55
|
+
5. **意外发现** (Unexpected Observations)
|
|
56
|
+
|
|
57
|
+
#### Step 3: 记录 Emergent Issues
|
|
58
|
+
|
|
59
|
+
用户填写 `emergent-issues.md`:
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
# Emergent Issues - [需求名称]
|
|
63
|
+
|
|
64
|
+
## 验收日期: YYYY-MM-DD
|
|
65
|
+
|
|
66
|
+
## 发现的问题
|
|
67
|
+
|
|
68
|
+
### Critical
|
|
69
|
+
### Major
|
|
70
|
+
### Minor
|
|
71
|
+
|
|
72
|
+
## 验收结论
|
|
73
|
+
- [ ] ✅ 验收通过,进入 CLEANUP
|
|
74
|
+
- [ ] ⚠️ 发现问题需 Sprint 2 迭代
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### Step 4: 保存 Emergent Issues
|
|
78
|
+
|
|
79
|
+
保存到 `<project-root>/.sprint-state/phase-outputs/emergent-issues.md`
|
|
80
|
+
|
|
81
|
+
### 暂停点
|
|
82
|
+
|
|
83
|
+
**⚠️ 必须等待用户验收完成**
|
|
84
|
+
|
|
85
|
+
- 用户确认验收结果后才能继续
|
|
86
|
+
- 如果发现重大问题 → Sprint 2 回到 Phase 2/6 DESIGN
|
|
87
|
+
|
|
88
|
+
### Sprint 2 触发逻辑
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Phase 6/6 CLOSE 完成时:
|
|
92
|
+
IF emergent_issues_count == 0 → sprint_completed,结束流程
|
|
93
|
+
|
|
94
|
+
IF emergent_issues_count > 0:
|
|
95
|
+
├─ IF emergent_issues 有 Critical → 自动启动 Sprint 2
|
|
96
|
+
├─ IF emergent_issues 仅 Major/Minor → 询问用户
|
|
97
|
+
└─ Sprint 2 Pain Document 从 emergent-issues.md 转化
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 输出
|
|
101
|
+
|
|
102
|
+
- Emergent Issues List (`emergent-issues.md`)
|
|
103
|
+
- 进入 Part B CLEANUP 自动执行(如果用户确认验收)
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Part B: CLEANUP(清理 + 总结)
|
|
108
|
+
|
|
109
|
+
**摘要**: 自动清理 worktree, 更新 sprint-state.json, 输出 Sprint Summary, 处理 emergent issues.
|
|
110
|
+
|
|
111
|
+
### 执行步骤
|
|
112
|
+
|
|
113
|
+
1. **保存分支信息** → 记录清理前的分支和工作树信息
|
|
114
|
+
2. **清理 worktree**: `git worktree remove <worktree_path>`(精确路径,禁止通配符)
|
|
115
|
+
- 重试机制: 失败后重试最多 3 次,每次间隔 3 秒
|
|
116
|
+
- 仍失败: 输出 `[ERROR]` + 手动清理命令
|
|
117
|
+
3. **删除本地分支**: `git branch -D sprint/YYYY-MM-DD-NN`
|
|
118
|
+
4. **删除远程分支**: `git push origin --delete sprint/YYYY-MM-DD-NN`
|
|
119
|
+
5. **关闭遗留 OPEN PR**: `gh pr list --head sprint/YYYY-MM-DD-NN --state open`
|
|
120
|
+
6. **更新 sprint-state.json**: 设置 `phase: 6`, `status: "completed"`
|
|
121
|
+
7. **释放 Sprint Lock** (Issue #144): 删除 `.sprint-state/sprint.lock`
|
|
122
|
+
8. **Sprint Summary**: 使用 `templates/sprint-summary-template.md` 生成总结
|
|
123
|
+
9. **处理 Emergent Issues**: 如 Part A 发现 emergent issues → 触发 Sprint 2 逻辑
|
|
124
|
+
|
|
125
|
+
### 输出
|
|
126
|
+
|
|
127
|
+
- Cleanup Report
|
|
128
|
+
- Sprint Summary
|
|
129
|
+
- 条件跳过: `--no-isolate` 路径下跳过 worktree 清理(无 worktree 可清理)
|
|
130
|
+
|
|
131
|
+
### 暂停点
|
|
132
|
+
|
|
133
|
+
- **清理失败**: 输出 `[ERROR]` 日志 + 建议手动清理命令 → 用户确认后继续
|
|
134
|
+
- **Sprint Summary**: 展示完整 Sprint 总结 → 用户确认 → 结束流程
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AUTO-ESTIMATE 输出模板
|
|
2
2
|
|
|
3
|
-
本模板定义了 Phase
|
|
3
|
+
本模板定义了 Phase 1/6 PREP 在终端向用户展示 AUTO-ESTIMATE 结果的标准格式。
|
|
4
4
|
|
|
5
5
|
## 输出格式
|
|
6
6
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
| `{circular_dep_status}` | 循环依赖状态 | ✅ 无 / ⚠️ 存在 (A ↔ B) |
|
|
42
42
|
| `{public_api_count}` | Public API 暴露数 | 5 |
|
|
43
43
|
| `{additional_metrics}` | 附加指标(可选行) | 测试文件:4 个 / 影响范围:3 层调用 |
|
|
44
|
-
| `{recommended_flow}` | 建议流程描述 | 轻量流程 (
|
|
44
|
+
| `{recommended_flow}` | 建议流程描述 | 轻量流程 (reduced-intensity Delphi) |
|
|
45
45
|
| `{risk_warning}` | 风险警告(可选块) | ⚠️ 此操作涉及循环依赖… |
|
|
46
46
|
| 操作按钮 | 用户确认选项 | 接受建议 / 修改流程 / 取消 |
|
|
47
47
|
|
|
@@ -56,14 +56,6 @@
|
|
|
56
56
|
| |
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
示例:
|
|
60
|
-
```
|
|
61
|
-
| |
|
|
62
|
-
| ⚠️ 此操作涉及循环依赖,建议保留层级结构作为过渡方案 |
|
|
63
|
-
| 避免直接删除导致编译失败 |
|
|
64
|
-
| |
|
|
65
|
-
```
|
|
66
|
-
|
|
67
59
|
## 修改流程子菜单
|
|
68
60
|
|
|
69
61
|
当用户选择「修改流程」时,展示以下选项:
|
|
@@ -72,9 +64,9 @@
|
|
|
72
64
|
+-------------------------------------------------------------+
|
|
73
65
|
| 选择流程级别: |
|
|
74
66
|
| |
|
|
75
|
-
| [1] 轻量流程 —
|
|
76
|
-
| [2] 标准流程 — brainstorming + Delphi + BUILD +
|
|
77
|
-
| [3] 完整流程 — 完整 Sprint Flow (
|
|
67
|
+
| [1] 轻量流程 — reduced DESIGN + 简化 Delphi + BUILD/VERIFY |
|
|
68
|
+
| [2] 标准流程 — brainstorming + Delphi + BUILD + VERIFY |
|
|
69
|
+
| [3] 完整流程 — 完整 Sprint Flow (6 phases) |
|
|
78
70
|
| |
|
|
79
71
|
| 修改原因(必填):____________________ |
|
|
80
72
|
| |
|
|
@@ -90,7 +82,7 @@
|
|
|
90
82
|
|------|---------|------|
|
|
91
83
|
| 引用计数 | `grep -rn "{target_pattern}" --include="*.{ext}" | wc -l` | bash |
|
|
92
84
|
| 跨模块依赖 | 分析 import 语句中不同目录层级的引用 | bash + grep |
|
|
93
|
-
| 循环依赖 | 检查 import
|
|
85
|
+
| 循环依赖 | 检查 import 图是否存在环 | bash |
|
|
94
86
|
| Public API 暴露 | `grep -rn "^export "` 计数 | bash |
|
|
95
87
|
| 测试文件数 | `find . -name "*{target}*.test.*" | wc -l` | bash |
|
|
96
88
|
|
|
@@ -98,35 +90,21 @@
|
|
|
98
90
|
|
|
99
91
|
| 指标 | 计算方式 | 来源 |
|
|
100
92
|
|------|---------|------|
|
|
101
|
-
| 新增模块数 | 设计文档中列出的模块数 | Phase
|
|
102
|
-
| 跨系统集成 | 涉及 API/DB/外部 数量 | Phase
|
|
103
|
-
| 状态复杂度 | 状态机状态数 | Phase
|
|
104
|
-
| REQ 数量 | user_stories 数量 | Phase
|
|
93
|
+
| 新增模块数 | 设计文档中列出的模块数 | Phase 2/6 DESIGN 输出 |
|
|
94
|
+
| 跨系统集成 | 涉及 API/DB/外部 数量 | Phase 2/6 DESIGN 输出 |
|
|
95
|
+
| 状态复杂度 | 状态机状态数 | Phase 2/6 DESIGN 输出 |
|
|
96
|
+
| REQ 数量 | user_stories 数量 | Phase 2/6 DESIGN 输出 |
|
|
105
97
|
|
|
106
98
|
## 路由决策表
|
|
107
99
|
|
|
108
100
|
| 评估结果 | 路由 | 说明 |
|
|
109
101
|
|---------|------|------|
|
|
110
|
-
| **轻量** (引用 ≤3, 同模块,无循环依赖) |
|
|
111
|
-
| **标准** (引用 4-10, 跨 1-2 模块) |
|
|
112
|
-
| **复杂** (引用 >10 或 循环依赖 或 跨 3+ 模块) |
|
|
102
|
+
| **轻量** (引用 ≤3, 同模块,无循环依赖) | reduced DESIGN → 简化 Delphi → BUILD/VERIFY(6 phases, reduced intensity) | 低强度执行,仍需 DELPHI-GATE APPROVED |
|
|
103
|
+
| **标准** (引用 4-10, 跨 1-2 模块) | 完整 DESIGN → BUILD → VERIFY(6 phases) | 标准 sprint |
|
|
104
|
+
| **复杂** (引用 >10 或 循环依赖 或 跨 3+ 模块) | 完整 Sprint Flow(6 phases) | 完整流程 + 风险警告 |
|
|
113
105
|
|
|
114
|
-
**所有流程路线均需在 Phase
|
|
106
|
+
**所有流程路线均需在 Phase 3/6 BUILD 前获得 delphi-review APPROVED verdict。**
|
|
115
107
|
|
|
116
108
|
## 学习闭环
|
|
117
109
|
|
|
118
|
-
当用户选择「修改流程」时,记录 override
|
|
119
|
-
|
|
120
|
-
```json
|
|
121
|
-
{
|
|
122
|
-
"sprint_id": "sprint-YYYY-MM-DD-NN",
|
|
123
|
-
"task_description": "原始需求描述",
|
|
124
|
-
"estimated_level": "标准",
|
|
125
|
-
"user_override_level": "轻量",
|
|
126
|
-
"override_reason": "用户输入原因",
|
|
127
|
-
"actual_effort": "TBD",
|
|
128
|
-
"timestamp": "ISO 8601"
|
|
129
|
-
}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
数据写入 `.sprint-state/auto-estimate-learning.json`(追加模式),用于阈值迭代优化。
|
|
110
|
+
当用户选择「修改流程」时,记录 override 数据到 `.sprint-state/auto-estimate-learning.json`(追加模式),用于阈值迭代优化。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 使用说明
|
|
4
4
|
|
|
5
|
-
此模板用于 Phase
|
|
5
|
+
此模板用于 Phase 6/6 CLOSE (USER ACCEPTANCE) 人工验收。
|
|
6
6
|
|
|
7
7
|
⚠️ 这是 AI 无法预测的 UX/质量问题,只有实际使用才能发现。
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
```yaml
|
|
16
16
|
验收日期: YYYY-MM-DD
|
|
17
|
-
验收阶段: Phase
|
|
17
|
+
验收阶段: Phase 6/6 - CLOSE (USER ACCEPTANCE)
|
|
18
18
|
验收人: [姓名]
|
|
19
19
|
MVP 版本: v1.0
|
|
20
20
|
Sprint ID: sprint-YYYY-MM-DD-NN
|
|
@@ -56,7 +56,7 @@ Sprint ID: sprint-YYYY-MM-DD-NN
|
|
|
56
56
|
|
|
57
57
|
- [ ] UI 元素是否清晰可辨?
|
|
58
58
|
- [ ] 是否存在"看起来像按钮但不可点击"的元素?
|
|
59
|
-
- [ ]
|
|
59
|
+
- [ ] 错误消息位置是否合理?
|
|
60
60
|
- [ ] 响应时间是否满意?
|
|
61
61
|
- [ ] 移动端/桌面端是否一致?
|
|
62
62
|
|
|
@@ -104,7 +104,7 @@ Sprint ID: sprint-YYYY-MM-DD-NN
|
|
|
104
104
|
|
|
105
105
|
## 验收结论
|
|
106
106
|
|
|
107
|
-
- [ ] ✅ 验收通过,进入
|
|
107
|
+
- [ ] ✅ 验收通过,进入 CLEANUP → Sprint 结束
|
|
108
108
|
- [ ] ⚠️ 发现问题需 Sprint 2 迭代
|
|
109
109
|
- [ ] ❌ 重大问题,需重新规划
|
|
110
110
|
|
|
@@ -115,6 +115,6 @@ Sprint ID: sprint-YYYY-MM-DD-NN
|
|
|
115
115
|
## Next Step
|
|
116
116
|
|
|
117
117
|
根据验收结论:
|
|
118
|
-
- ✅ 验收通过 → 进入 Phase
|
|
119
|
-
- ⚠️ 发现问题 →
|
|
120
|
-
- ❌ 重大问题 → Sprint 2 回到 Phase
|
|
118
|
+
- ✅ 验收通过 → 进入 Phase 6/6 CLOSE (CLEANUP) 自动执行
|
|
119
|
+
- ⚠️ 发现问题 → 记录反馈 → 准备 Sprint 2 → 进入 CLEANUP
|
|
120
|
+
- ❌ 重大问题 → Sprint 2 回到 Phase 2/6 DESIGN 重新规划
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 使用说明
|
|
4
4
|
|
|
5
|
-
此模板用于 Phase
|
|
5
|
+
此模板用于 Phase 2/6 DESIGN (brainstorming) 输出。基于 office-hours 六个强制问题验证需求真实性。
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
```yaml
|
|
14
14
|
生成日期: YYYY-MM-DD
|
|
15
|
-
生成阶段: Phase
|
|
16
|
-
来源: office-hours skill
|
|
15
|
+
生成阶段: Phase 2/6 - DESIGN
|
|
16
|
+
来源: brainstorming / office-hours skill
|
|
17
17
|
Sprint ID: sprint-YYYY-MM-DD-NN
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -111,5 +111,5 @@ Sprint ID: sprint-YYYY-MM-DD-NN
|
|
|
111
111
|
|
|
112
112
|
## Next Step
|
|
113
113
|
|
|
114
|
-
- 进入 Phase
|
|
115
|
-
- 调用 autoplan
|
|
114
|
+
- 进入 Phase 2/6 DESIGN (PLAN 阶段) 自动执行
|
|
115
|
+
- 调用 autoplan + delphi-review 进行设计评审
|
|
@@ -20,21 +20,16 @@ Orchestrator 在每个 Phase 完成后、以及响应用户 `--status` 查询时
|
|
|
20
20
|
| 状态: {overall_status} 启动: {started_at} |
|
|
21
21
|
+============================================================+
|
|
22
22
|
| |
|
|
23
|
-
| {
|
|
24
|
-
| {
|
|
25
|
-
| {
|
|
26
|
-
| {
|
|
27
|
-
| {
|
|
28
|
-
| {
|
|
29
|
-
| {icon_4} Phase 4 USER ACCEPT {duration_4} |
|
|
30
|
-
| {icon_5} Phase 5 FEEDBACK {duration_5} |
|
|
31
|
-
| {icon_6} Phase 6 SHIP {duration_6} |
|
|
32
|
-
| {icon_7} Phase 7 LAND {duration_7} |
|
|
33
|
-
| {icon_8} Phase 8 CLEANUP {duration_8} |
|
|
23
|
+
| {icon_1} Phase 1/6 PREP {duration_1} |
|
|
24
|
+
| {icon_2} Phase 2/6 DESIGN {duration_2} |
|
|
25
|
+
| {icon_3} Phase 3/6 BUILD {duration_3} |
|
|
26
|
+
| {icon_4} Phase 4/6 VERIFY {duration_4} |
|
|
27
|
+
| {icon_5} Phase 5/6 SHIP {duration_5} |
|
|
28
|
+
| {icon_6} Phase 6/6 CLOSE {duration_6} |
|
|
34
29
|
| |
|
|
35
30
|
| [{progress_bar}] {pct}% |
|
|
36
31
|
+============================================================+
|
|
37
|
-
| > 当前: Phase {current_phase} {current_phase_name}
|
|
32
|
+
| > 当前: Phase {current_phase}/6 {current_phase_name} |
|
|
38
33
|
| 状态: {current_phase_status} |
|
|
39
34
|
| |
|
|
40
35
|
| 下一步: {next_action} |
|
|
@@ -56,8 +51,8 @@ Orchestrator 在每个 Phase 完成后、以及响应用户 `--status` 查询时
|
|
|
56
51
|
| `{started_at}` | `sprint-state.json → started_at` | Sprint 启动时间(格式化: YYYY-MM-DD HH:MM) |
|
|
57
52
|
| `{icon_N}` | `phase_history[N].status` | 状态图标(见上方映射) |
|
|
58
53
|
| `{duration_N}` | `phase_history[N].duration_seconds` | 耗时(见下方格式化规则) |
|
|
59
|
-
| `{current_phase}` | `sprint-state.json → phase` | 当前阶段编号 |
|
|
60
|
-
| `{current_phase_name}` | Phase 名称映射 |
|
|
54
|
+
| `{current_phase}` | `sprint-state.json → phase` | 当前阶段编号 (1-6) |
|
|
55
|
+
| `{current_phase_name}` | Phase 名称映射 | PREP / DESIGN / BUILD / VERIFY / SHIP / CLOSE |
|
|
61
56
|
| `{current_phase_status}` | `phase_history` 中当前阶段的 status | running / paused / completed |
|
|
62
57
|
| `{next_action}` | 下方"下一步行动表" | 用户需要执行的操作 |
|
|
63
58
|
| `{next_action_detail}` | 操作细节 | 具体指令 |
|
|
@@ -68,7 +63,7 @@ Orchestrator 在每个 Phase 完成后、以及响应用户 `--status` 查询时
|
|
|
68
63
|
## 进度条生成规则
|
|
69
64
|
|
|
70
65
|
```
|
|
71
|
-
总阶段数 =
|
|
66
|
+
总阶段数 = 6(Phase 1/6, 2/6, 3/6, 4/6, 5/6, 6/6)
|
|
72
67
|
已完成数 = phase_history 中 status == "completed" 的数量
|
|
73
68
|
每个阶段 = 1 个字符宽度
|
|
74
69
|
填充: 已完成 = █ | 当前 = ▓ | 待做 = ░ | 跳过 = ▒
|
|
@@ -78,21 +73,19 @@ Orchestrator 在每个 Phase 完成后、以及响应用户 `--status` 查询时
|
|
|
78
73
|
|
|
79
74
|
| 当前阶段 | 当前状态 | 下一步行动 | 行动细节 |
|
|
80
75
|
|---------|---------|-----------|---------|
|
|
81
|
-
| Phase
|
|
82
|
-
| Phase
|
|
83
|
-
| Phase
|
|
84
|
-
| Phase
|
|
85
|
-
| Phase
|
|
86
|
-
| Phase
|
|
87
|
-
| Phase
|
|
88
|
-
| Phase
|
|
89
|
-
| Phase
|
|
90
|
-
| Phase
|
|
91
|
-
| Phase
|
|
92
|
-
| Phase
|
|
93
|
-
| Phase 6 |
|
|
94
|
-
| Phase 7 | completed | 确认清理 | 合并成功,准备清理 worktree |
|
|
95
|
-
| Phase 8 | completed | Sprint 完成 | 检查 Sprint Summary,如有 emergent issues 考虑 Sprint 2 |
|
|
76
|
+
| Phase 1/6 | completed | 确认评估 | 查看 AUTO-ESTIMATE 结果,选择流程级别 |
|
|
77
|
+
| Phase 1/6 | running | 等待隔离 | worktree 创建 + 评估中,无需操作 |
|
|
78
|
+
| Phase 2/6 | completed | 确认设计评审 | delphi-review 已通过,检查 specification.yaml |
|
|
79
|
+
| Phase 2/6 | paused | 等待设计 | brainstorming 或 delphi-review 等待 APPROVED |
|
|
80
|
+
| Phase 2/6 | running | 等待规划 | brainstorming/autoplan 执行中,无需操作 |
|
|
81
|
+
| Phase 3/6 | completed | 审阅代码 | BUILD 完成,进入 Phase 4/6 VERIFY |
|
|
82
|
+
| Phase 3/6 | running | 等待构建 | ralph-loop 迭代中,无需操作 |
|
|
83
|
+
| Phase 4/6 | completed | 确认发布 | 验证完成,反馈已收集,准备进入 Phase 5/6 SHIP |
|
|
84
|
+
| Phase 4/6 | running | 等待验证 | code-walkthrough + QA + feedback 执行中 |
|
|
85
|
+
| Phase 5/6 | completed | 确认验收 | PR 已创建 + 部署完成,准备进入 Phase 6/6 CLOSE |
|
|
86
|
+
| Phase 5/6 | paused | 确认合并 | PR 已创建,确认是否合并 |
|
|
87
|
+
| Phase 6/6 | completed | Sprint 完成 | 检查 Sprint Summary,如有 emergent issues 考虑 Sprint 2 |
|
|
88
|
+
| Phase 6/6 | paused | 执行验收 | ⚠️ 必须人工验收,请实际使用后确认 |
|
|
96
89
|
| 任意 | failed | 处理错误 | 查看错误信息,决定修复或放弃 |
|
|
97
90
|
|
|
98
91
|
## 耗时格式化规则
|
|
@@ -111,37 +104,33 @@ Orchestrator 在每个 Phase 完成后、以及响应用户 `--status` 查询时
|
|
|
111
104
|
- `task_description` 缺失 → 显示 "-"
|
|
112
105
|
- `started_at` 缺失 → 显示 "-"
|
|
113
106
|
- `phase_history` 缺失 → 从 `phase` 字段推断:小于等于 `phase` 的阶段标记为 ✅,当前阶段标记为 🔄,其余标记为 ⬜;所有耗时显示 "-"
|
|
107
|
+
- **旧版 11-phase sprint-state.json**: phase 编号为 -1, -0.5, 0..8 的历史文件仍可渲染,但新 sprint 使用 1-6 numbering
|
|
114
108
|
|
|
115
109
|
## 示例渲染
|
|
116
110
|
|
|
117
111
|
```
|
|
118
112
|
+============================================================+
|
|
119
|
-
| SPRINT PROGRESS sprint-2026-
|
|
113
|
+
| SPRINT PROGRESS sprint-2026-07-08-01 |
|
|
120
114
|
+============================================================+
|
|
121
115
|
| 需求: 为 sprint-flow 添加进度看板功能 |
|
|
122
|
-
| 分支: sprint/2026-
|
|
123
|
-
| 状态: running 启动: 2026-
|
|
116
|
+
| 分支: sprint/2026-07-08-01 |
|
|
117
|
+
| 状态: running 启动: 2026-07-08 10:25 |
|
|
124
118
|
+============================================================+
|
|
125
119
|
| |
|
|
126
|
-
| ✅ Phase
|
|
127
|
-
| ✅ Phase
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
| ⬜ Phase
|
|
132
|
-
| ⬜ Phase 4 USER ACCEPT - |
|
|
133
|
-
| ⬜ Phase 5 FEEDBACK - |
|
|
134
|
-
| ⬜ Phase 6 SHIP - |
|
|
135
|
-
| ⬜ Phase 7 LAND - |
|
|
136
|
-
| ⬜ Phase 8 CLEANUP - |
|
|
120
|
+
| ✅ Phase 1/6 PREP 5m |
|
|
121
|
+
| ✅ Phase 2/6 DESIGN 12m |
|
|
122
|
+
| 🔄 Phase 3/6 BUILD 15m |
|
|
123
|
+
| ⬜ Phase 4/6 VERIFY - |
|
|
124
|
+
| ⬜ Phase 5/6 SHIP - |
|
|
125
|
+
| ⬜ Phase 6/6 CLOSE - |
|
|
137
126
|
| |
|
|
138
|
-
| [
|
|
127
|
+
| [██▓░░░] 50% |
|
|
139
128
|
+============================================================+
|
|
140
|
-
| > 当前: Phase
|
|
129
|
+
| > 当前: Phase 3/6 BUILD |
|
|
141
130
|
| 状态: running |
|
|
142
131
|
| |
|
|
143
132
|
| 下一步: 等待构建完成 |
|
|
144
|
-
| ralph-loop 迭代中,完成后自动进入 Phase
|
|
133
|
+
| ralph-loop 迭代中,完成后自动进入 Phase 4/6 VERIFY |
|
|
145
134
|
+============================================================+
|
|
146
135
|
| 输出物: |
|
|
147
136
|
| 设计文档: .sprint-state/phase-outputs/design-doc.md |
|