dev-playbooks-cn 1.2.5 → 1.2.6
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/devbooks-code-review/SKILL.md +28 -0
- package/skills/devbooks-coder/SKILL.md +37 -2
- package/skills/devbooks-design-backport/SKILL.md +34 -0
- package/skills/devbooks-design-doc/SKILL.md +22 -0
- package/skills/devbooks-implementation-plan/SKILL.md +36 -0
- package/skills/devbooks-spec-gardener/SKILL.md +100 -1
- package/skills/devbooks-test-owner/SKILL.md +93 -18
package/package.json
CHANGED
|
@@ -10,6 +10,34 @@ allowed-tools:
|
|
|
10
10
|
|
|
11
11
|
# DevBooks:代码评审(Reviewer)
|
|
12
12
|
|
|
13
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
14
|
+
|
|
15
|
+
> **核心原则**:Code Review 在 Test Owner 阶段 2 验证之后执行,是归档前的最后一个评审步骤。
|
|
16
|
+
|
|
17
|
+
### 我在整体工作流中的位置
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
proposal → design → test-owner(阶段1) → coder → test-owner(阶段2) → [Code Review] → archive
|
|
21
|
+
↓
|
|
22
|
+
可读性/一致性/依赖审查
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Code Review 的职责边界
|
|
26
|
+
|
|
27
|
+
| 允许 | 禁止 |
|
|
28
|
+
|------|------|
|
|
29
|
+
| 审查代码可读性/一致性 | ❌ 修改代码文件 |
|
|
30
|
+
| 设置 verification.md Status = Done | ❌ 讨论业务正确性(那是 Test Owner 的事) |
|
|
31
|
+
| 提出改进建议 | ❌ 勾选 AC 覆盖矩阵(那是 Test Owner 的事) |
|
|
32
|
+
|
|
33
|
+
### 前置条件
|
|
34
|
+
|
|
35
|
+
- [ ] Test Owner 阶段 2 已完成(AC 矩阵已打勾)
|
|
36
|
+
- [ ] 测试全绿
|
|
37
|
+
- [ ] evidence/green-final/ 存在
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
13
41
|
## 前置:配置发现(协议无关)
|
|
14
42
|
|
|
15
43
|
- `<truth-root>`:当前真理目录根
|
|
@@ -12,6 +12,40 @@ allowed-tools:
|
|
|
12
12
|
|
|
13
13
|
# DevBooks:实现负责人(Coder)
|
|
14
14
|
|
|
15
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
16
|
+
|
|
17
|
+
> **核心原则**:Coder 在 Test Owner 阶段 1 之后执行,完成后交给 Test Owner 阶段 2 验证。
|
|
18
|
+
|
|
19
|
+
### 我在整体工作流中的位置
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
proposal → design → test-owner(阶段1) → [Coder] → test-owner(阶段2) → code-review → archive
|
|
23
|
+
↓
|
|
24
|
+
实现代码、让测试变绿
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Coder 的职责边界
|
|
28
|
+
|
|
29
|
+
| 允许 | 禁止 |
|
|
30
|
+
|------|------|
|
|
31
|
+
| 修改 `src/**` 代码 | ❌ 修改 `tests/**` |
|
|
32
|
+
| 勾选 `tasks.md` 任务项 | ❌ 修改 `verification.md` |
|
|
33
|
+
| 记录偏离到 `deviation-log.md` | ❌ 勾选 AC 覆盖矩阵 |
|
|
34
|
+
| 运行测试验证 | ❌ 设置 verification.md Status |
|
|
35
|
+
|
|
36
|
+
### Coder 完成后的流程
|
|
37
|
+
|
|
38
|
+
1. **任务完成**:tasks.md 全部 `[x]`
|
|
39
|
+
2. **测试全绿**:运行 `npm test` 确认通过
|
|
40
|
+
3. **交付 Test Owner**:通知 Test Owner 进入阶段 2 验证
|
|
41
|
+
4. **等待验证结果**:
|
|
42
|
+
- Test Owner 确认全绿 → 进入 Code Review
|
|
43
|
+
- Test Owner 发现问题 → Coder 修复
|
|
44
|
+
|
|
45
|
+
**关键提醒**:Coder 完成后,**不是直接进入 Code Review**,而是先让 Test Owner 验证并打勾。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
15
49
|
## 前置:配置发现(协议无关)
|
|
16
50
|
|
|
17
51
|
- `<truth-root>`:当前真理目录根
|
|
@@ -334,8 +368,8 @@ fi
|
|
|
334
368
|
|
|
335
369
|
| 我的状态 | 下一步 | 原因 |
|
|
336
370
|
|----------|--------|------|
|
|
337
|
-
| COMPLETED | `devbooks-
|
|
338
|
-
| COMPLETED_WITH_DEVIATION | `devbooks-design-backport` |
|
|
371
|
+
| COMPLETED | `devbooks-test-owner`(阶段 2 验证) | 任务完成,需要 Test Owner 验证并打勾 |
|
|
372
|
+
| COMPLETED_WITH_DEVIATION | `devbooks-design-backport` | 先回写设计,再让 Test Owner 验证 |
|
|
339
373
|
| HANDOFF (测试问题) | `devbooks-test-owner` | Coder 不能修改测试 |
|
|
340
374
|
| BLOCKED | 等待用户 | 记录断点区 |
|
|
341
375
|
| FAILED | 修复后重试 | 分析失败原因 |
|
|
@@ -344,6 +378,7 @@ fi
|
|
|
344
378
|
- Coder **永远不能修改** `tests/**`
|
|
345
379
|
- 如发现测试问题,必须 HANDOFF 给 Test Owner(单独会话)
|
|
346
380
|
- 如有偏离,必须先 design-backport 再继续
|
|
381
|
+
- **Coder 完成后必须先经过 Test Owner 阶段 2 验证,再进入 Code Review**
|
|
347
382
|
|
|
348
383
|
---
|
|
349
384
|
|
|
@@ -11,6 +11,40 @@ allowed-tools:
|
|
|
11
11
|
|
|
12
12
|
# DevBooks:回写设计文档(Design Backport)
|
|
13
13
|
|
|
14
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
15
|
+
|
|
16
|
+
> **核心原则**:Design Backport 现在**主要由 Spec Gardener 在归档阶段自动调用**,用户通常不需要手动调用。
|
|
17
|
+
|
|
18
|
+
### 我在整体工作流中的位置
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
proposal → design → test-owner → coder → test-owner(验证) → code-review → [Archive/Spec Gardener]
|
|
22
|
+
↓ ↓
|
|
23
|
+
记录偏离到 deviation-log.md 自动调用 design-backport
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 设计决策:自动回写
|
|
27
|
+
|
|
28
|
+
**旧流程**(需手动判断):
|
|
29
|
+
```
|
|
30
|
+
coder 有偏离 → 用户手动调用 design-backport → 再归档
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**新流程**(自动处理):
|
|
34
|
+
```
|
|
35
|
+
coder 有偏离 → 归档时 spec-gardener 自动检测并回写 → 归档
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 何时仍需手动调用
|
|
39
|
+
|
|
40
|
+
| 场景 | 是否需要手动调用 |
|
|
41
|
+
|------|------------------|
|
|
42
|
+
| 正常流程(偏离记录在 deviation-log.md) | ❌ 归档时自动处理 |
|
|
43
|
+
| 需要立即回写(不等归档) | ✅ 手动调用 |
|
|
44
|
+
| 设计与实现严重冲突需要决策 | ✅ 手动调用并讨论 |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
14
48
|
## 前置:配置发现(协议无关)
|
|
15
49
|
|
|
16
50
|
- `<truth-root>`:当前真理目录根
|
|
@@ -11,6 +11,28 @@ allowed-tools:
|
|
|
11
11
|
|
|
12
12
|
# DevBooks:设计文档(Design Doc)
|
|
13
13
|
|
|
14
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
15
|
+
|
|
16
|
+
> **核心原则**:Design Doc 在 Proposal 批准后执行,是实现阶段的起点。
|
|
17
|
+
|
|
18
|
+
### 我在整体工作流中的位置
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
proposal → [Design Doc] → spec-contract → implementation-plan → test-owner → coder → ...
|
|
22
|
+
↓
|
|
23
|
+
定义 What/Constraints/AC
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Design Doc 的产出
|
|
27
|
+
|
|
28
|
+
- **What**:做什么(不是怎么做)
|
|
29
|
+
- **Constraints**:约束条件
|
|
30
|
+
- **AC-xxx**:验收标准(可测试的)
|
|
31
|
+
|
|
32
|
+
**关键**:Design Doc 不写实现步骤,那是 implementation-plan 的职责。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
14
36
|
## 前置:配置发现(协议无关)
|
|
15
37
|
|
|
16
38
|
- `<truth-root>`:当前真理目录根
|
|
@@ -11,6 +11,42 @@ allowed-tools:
|
|
|
11
11
|
|
|
12
12
|
# DevBooks:编码计划(Implementation Plan)
|
|
13
13
|
|
|
14
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
15
|
+
|
|
16
|
+
> **核心原则**:Implementation Plan 在 Design Doc 之后执行,为 Test Owner 和 Coder 提供任务清单。
|
|
17
|
+
|
|
18
|
+
### 我在整体工作流中的位置
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
proposal → design → [Implementation Plan] → test-owner(阶段1) → coder → ...
|
|
22
|
+
↓
|
|
23
|
+
tasks.md(任务清单)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Implementation Plan 的职责
|
|
27
|
+
|
|
28
|
+
| 允许 | 禁止 |
|
|
29
|
+
|------|------|
|
|
30
|
+
| 从 design.md 推导任务 | ❌ 参考 tests/(避免实现偏见) |
|
|
31
|
+
| 绑定验收锚点 (AC-xxx) | ❌ 写实现代码 |
|
|
32
|
+
| 拆分并行任务 | ❌ 执行任务 |
|
|
33
|
+
|
|
34
|
+
### 产出:tasks.md 结构
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
## 主线计划区
|
|
38
|
+
- [ ] MP1.1 任务描述 (AC-001)
|
|
39
|
+
- [ ] MP1.2 任务描述 (AC-002)
|
|
40
|
+
|
|
41
|
+
## 临时计划区
|
|
42
|
+
(紧急任务)
|
|
43
|
+
|
|
44
|
+
## 断点区
|
|
45
|
+
(中断续做信息)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
14
50
|
## 前置:配置发现(协议无关)
|
|
15
51
|
|
|
16
52
|
- `<truth-root>`:当前真理目录根
|
|
@@ -11,6 +11,36 @@ allowed-tools:
|
|
|
11
11
|
|
|
12
12
|
# DevBooks:规格园丁(Spec Gardener)
|
|
13
13
|
|
|
14
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
15
|
+
|
|
16
|
+
> **核心原则**:Spec Gardener 是归档阶段的终点,负责将变更包产物合并到真理,**并自动处理任何未完成的回写**。
|
|
17
|
+
|
|
18
|
+
### 我在整体工作流中的位置
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
proposal → design → test-owner → coder → test-owner(验证) → code-review → [Spec Gardener/Archive]
|
|
22
|
+
↓
|
|
23
|
+
自动回写 + 合并到真理 + 归档
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Spec Gardener 的职责
|
|
27
|
+
|
|
28
|
+
1. **自动回写检测**:检查 deviation-log.md 是否有未回写记录
|
|
29
|
+
2. **自动执行回写**:如有未回写记录,自动执行设计回写
|
|
30
|
+
3. **合并到真理**:将 specs/contracts/architecture 合并到 truth-root
|
|
31
|
+
4. **归档变更包**:设置 verification.md Status = Archived
|
|
32
|
+
|
|
33
|
+
### 为什么在归档阶段自动回写?
|
|
34
|
+
|
|
35
|
+
**设计决策**:用户只需线性调用 skills,不需要判断是否需要回写。
|
|
36
|
+
|
|
37
|
+
| 场景 | 旧设计(需手动判断) | 新设计(自动处理) |
|
|
38
|
+
|------|---------------------|-------------------|
|
|
39
|
+
| Coder 有偏离 | 用户需调用 design-backport → 再归档 | Spec Gardener 自动检测并回写 |
|
|
40
|
+
| Coder 无偏离 | 直接归档 | 直接归档 |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
14
44
|
## 前置:配置发现(协议无关)
|
|
15
45
|
|
|
16
46
|
- `<truth-root>`:当前真理目录根
|
|
@@ -31,6 +61,51 @@ allowed-tools:
|
|
|
31
61
|
|
|
32
62
|
## 核心职责
|
|
33
63
|
|
|
64
|
+
### 0. 自动回写检测与处理(归档前必做)
|
|
65
|
+
|
|
66
|
+
> **设计决策**:归档阶段自动处理所有未回写的偏离,用户无需手动调用 design-backport。
|
|
67
|
+
|
|
68
|
+
**检测流程**:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
1. 读取 <change-root>/<change-id>/deviation-log.md
|
|
72
|
+
2. 检查是否有 "| ❌" 未回写记录
|
|
73
|
+
→ 有:执行自动回写(步骤 3-5)
|
|
74
|
+
→ 无:跳过,直接进入合并阶段
|
|
75
|
+
|
|
76
|
+
3. 对每条未回写记录,判断是否为 Design-level 内容:
|
|
77
|
+
- DESIGN_GAP, CONSTRAINT_CHANGE, API_CHANGE → 需要回写
|
|
78
|
+
- 纯实现细节(文件名/类名/临时步骤) → 不回写,标记为 IMPL_ONLY
|
|
79
|
+
|
|
80
|
+
4. 执行设计回写:
|
|
81
|
+
- 读取 design.md
|
|
82
|
+
- 按 design-backport 协议的"可回写内容范围"更新
|
|
83
|
+
- 在 design.md 末尾添加变更记录
|
|
84
|
+
|
|
85
|
+
5. 更新 deviation-log.md:
|
|
86
|
+
- 将已回写的记录标记为 ✅
|
|
87
|
+
- 记录回写时间和归档批次
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**自动回写的内容范围**(继承自 design-backport):
|
|
91
|
+
|
|
92
|
+
| 可回写 | 不可回写 |
|
|
93
|
+
|--------|----------|
|
|
94
|
+
| 对外语义/用户可感知行为 | 具体文件路径、类名/函数名 |
|
|
95
|
+
| 系统级不可变约束(Invariants) | PR 切分、任务执行顺序 |
|
|
96
|
+
| 核心数据契约与演进策略 | 过细的算法伪代码 |
|
|
97
|
+
| 跨阶段治理策略 | 脚本命令 |
|
|
98
|
+
| 关键取舍与决策 | 表名/字段名 |
|
|
99
|
+
|
|
100
|
+
**deviation-log.md 更新格式**:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
| 时间 | 类型 | 描述 | 涉及文件 | 已回写 | 回写批次 |
|
|
104
|
+
|------|------|------|----------|:------:|----------|
|
|
105
|
+
| 2024-01-15 10:30 | DESIGN_GAP | 并发场景 | tests/... | ✅ | archive-2024-01-16 |
|
|
106
|
+
| 2024-01-15 11:00 | IMPL_ONLY | 重命名变量 | src/... | ⏭️ | (跳过) |
|
|
107
|
+
```
|
|
108
|
+
|
|
34
109
|
### 1. 规格合并与维护
|
|
35
110
|
|
|
36
111
|
在归档阶段,将变更包中的规格产物合并到 `<truth-root>`:
|
|
@@ -106,10 +181,34 @@ allowed-tools:
|
|
|
106
181
|
|
|
107
182
|
| 模式 | 触发条件 | 行为 |
|
|
108
183
|
|------|----------|------|
|
|
109
|
-
| **归档模式** | 提供 change-id 且闸门通过 |
|
|
184
|
+
| **归档模式** | 提供 change-id 且闸门通过 | **自动回写** → 合并到 truth-root → 设置 Status=Archived |
|
|
110
185
|
| **维护模式** | 无 change-id | 执行去重、清理、整理操作 |
|
|
111
186
|
| **检查模式** | 带 --dry-run 参数 | 只输出建议,不实际修改 |
|
|
112
187
|
|
|
188
|
+
### 归档模式完整流程
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
1. 前置检查:
|
|
192
|
+
- [ ] 变更包存在
|
|
193
|
+
- [ ] verification.md Status = Ready 或 Done
|
|
194
|
+
- [ ] evidence/green-final/ 存在
|
|
195
|
+
- [ ] tasks.md 全部 [x]
|
|
196
|
+
|
|
197
|
+
2. 自动回写(如有需要):
|
|
198
|
+
- [ ] 检测 deviation-log.md
|
|
199
|
+
- [ ] 回写 design.md
|
|
200
|
+
- [ ] 更新 deviation-log.md 标记
|
|
201
|
+
|
|
202
|
+
3. 合并到真理:
|
|
203
|
+
- [ ] 合并 specs/**
|
|
204
|
+
- [ ] 合并 contracts/**
|
|
205
|
+
- [ ] 合并 Architecture Impact 到 c4.md
|
|
206
|
+
|
|
207
|
+
4. 归档:
|
|
208
|
+
- [ ] 设置 verification.md Status = Archived
|
|
209
|
+
- [ ] 输出归档报告
|
|
210
|
+
```
|
|
211
|
+
|
|
113
212
|
### 检测输出示例
|
|
114
213
|
|
|
115
214
|
```
|
|
@@ -12,6 +12,46 @@ allowed-tools:
|
|
|
12
12
|
|
|
13
13
|
# DevBooks:测试负责人(Test Owner)
|
|
14
14
|
|
|
15
|
+
## 工作流位置感知(Workflow Position Awareness)
|
|
16
|
+
|
|
17
|
+
> **核心原则**:Test Owner 在整体工作流中承担**双阶段职责**,确保与 Coder 的角色隔离。
|
|
18
|
+
|
|
19
|
+
### 我在整体工作流中的位置
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
proposal → design → [Test Owner 阶段1] → coder → [Test Owner 阶段2] → code-review → archive
|
|
23
|
+
↓ ↓
|
|
24
|
+
Red 基线产出 Green 验证 + 打勾
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Test Owner 的双阶段职责
|
|
28
|
+
|
|
29
|
+
| 阶段 | 触发时机 | 核心职责 | 产出 |
|
|
30
|
+
|------|----------|----------|------|
|
|
31
|
+
| **阶段 1:Red 基线** | design.md 完成后 | 编写测试、产出失败证据 | verification.md (Status=Ready)、Red 基线 |
|
|
32
|
+
| **阶段 2:Green 验证** | Coder 完成后 | 验证测试通过、勾选 AC 覆盖矩阵 | AC 矩阵打勾、Status 保持 Ready(等 Reviewer 设 Done) |
|
|
33
|
+
|
|
34
|
+
### 阶段 2 详细职责(关键!)
|
|
35
|
+
|
|
36
|
+
当用户说"Coder 完成了,请验证"或类似请求时,Test Owner 进入**阶段 2**:
|
|
37
|
+
|
|
38
|
+
1. **运行全部测试**:执行 `npm test` 或项目测试命令
|
|
39
|
+
2. **验证 Green 状态**:确认所有测试通过
|
|
40
|
+
3. **勾选 AC 覆盖矩阵**:在 verification.md 的 AC 覆盖矩阵中将 `[ ]` 改为 `[x]`
|
|
41
|
+
4. **收集 Green 证据**:保存到 `evidence/green-final/`
|
|
42
|
+
5. **输出验证报告**:总结测试结果和覆盖情况
|
|
43
|
+
|
|
44
|
+
### AC 覆盖矩阵复选框权限(重要!)
|
|
45
|
+
|
|
46
|
+
| 复选框位置 | 谁可以勾选 | 勾选时机 |
|
|
47
|
+
|------------|-----------|----------|
|
|
48
|
+
| AC 覆盖矩阵中的 `[ ]` | **Test Owner** | 阶段 2 验证 Green 状态后 |
|
|
49
|
+
| Status 字段 `Done` | Reviewer | Code Review 通过后 |
|
|
50
|
+
|
|
51
|
+
**禁止**:Coder 不能勾选 AC 覆盖矩阵,不能修改 verification.md。
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
15
55
|
## 前置:配置发现(协议无关)
|
|
16
56
|
|
|
17
57
|
- `<truth-root>`:当前真理目录根
|
|
@@ -339,28 +379,53 @@ devbooks change-evidence <change-id> --label red-baseline -- npm test
|
|
|
339
379
|
|
|
340
380
|
## 完成状态与下一步路由
|
|
341
381
|
|
|
342
|
-
###
|
|
382
|
+
### 阶段感知(关键!)
|
|
383
|
+
|
|
384
|
+
Test Owner 有两个阶段,完成状态因阶段而异:
|
|
385
|
+
|
|
386
|
+
| 当前阶段 | 如何判断 | 完成后下一步 |
|
|
387
|
+
|----------|----------|--------------|
|
|
388
|
+
| **阶段 1** | verification.md 不存在或 Red 基线未产出 | → Coder |
|
|
389
|
+
| **阶段 2** | 用户说"验证/打勾"且 Coder 已完成 | → Code Review |
|
|
390
|
+
|
|
391
|
+
### 阶段 1 完成状态分类(MECE)
|
|
343
392
|
|
|
344
393
|
| 状态码 | 状态 | 判定条件 | 下一步 |
|
|
345
394
|
|:------:|------|----------|--------|
|
|
346
|
-
| ✅ |
|
|
347
|
-
| ⚠️ |
|
|
395
|
+
| ✅ | PHASE1_COMPLETED | Red 基线产出,无偏离 | `devbooks-coder`(单独会话) |
|
|
396
|
+
| ⚠️ | PHASE1_COMPLETED_WITH_DEVIATION | Red 基线产出,deviation-log 有未回写记录 | `devbooks-design-backport` |
|
|
348
397
|
| ❌ | BLOCKED | 需要外部输入/决策 | 记录断点,等待用户 |
|
|
349
398
|
| 💥 | FAILED | 测试框架问题等 | 修复后重试 |
|
|
350
399
|
|
|
351
|
-
###
|
|
400
|
+
### 阶段 2 完成状态分类(MECE)
|
|
352
401
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
402
|
+
| 状态码 | 状态 | 判定条件 | 下一步 |
|
|
403
|
+
|:------:|------|----------|--------|
|
|
404
|
+
| ✅ | PHASE2_VERIFIED | 测试全绿,AC 矩阵已打勾 | `devbooks-code-review` |
|
|
405
|
+
| ❌ | PHASE2_FAILED | 测试未通过 | 通知 Coder 修复,或 HANDOFF |
|
|
406
|
+
| 🔄 | PHASE2_HANDOFF | 发现测试本身有问题 | 修复测试后重新验证 |
|
|
356
407
|
|
|
357
|
-
|
|
358
|
-
- verification.md 存在且有追溯矩阵
|
|
359
|
-
- evidence/red-baseline/ 存在
|
|
360
|
-
→ 否:BLOCKED 或 FAILED
|
|
408
|
+
### 阶段判定流程
|
|
361
409
|
|
|
362
|
-
|
|
363
|
-
|
|
410
|
+
```
|
|
411
|
+
1. 检查当前处于哪个阶段:
|
|
412
|
+
- verification.md 不存在 → 阶段 1
|
|
413
|
+
- verification.md 存在但 AC 矩阵全是 [ ] → 阶段 1 或 阶段 2(看用户请求)
|
|
414
|
+
- 用户明确说"验证/打勾/Coder 完成了" → 阶段 2
|
|
415
|
+
|
|
416
|
+
2. 阶段 1 状态判定:
|
|
417
|
+
a. 检查 deviation-log.md 是否有 "| ❌" 记录
|
|
418
|
+
→ 有:PHASE1_COMPLETED_WITH_DEVIATION
|
|
419
|
+
b. 检查 Red 基线是否产出
|
|
420
|
+
→ 否:BLOCKED 或 FAILED
|
|
421
|
+
c. 以上都通过 → PHASE1_COMPLETED
|
|
422
|
+
|
|
423
|
+
3. 阶段 2 状态判定:
|
|
424
|
+
a. 运行测试,检查是否全绿
|
|
425
|
+
→ 否:PHASE2_FAILED
|
|
426
|
+
b. 检查测试本身是否有问题
|
|
427
|
+
→ 是:PHASE2_HANDOFF
|
|
428
|
+
c. 全绿且无问题 → PHASE2_VERIFIED
|
|
364
429
|
```
|
|
365
430
|
|
|
366
431
|
### 路由输出模板(必须使用)
|
|
@@ -370,15 +435,21 @@ devbooks change-evidence <change-id> --label red-baseline -- npm test
|
|
|
370
435
|
```markdown
|
|
371
436
|
## 完成状态
|
|
372
437
|
|
|
373
|
-
|
|
438
|
+
**阶段**:阶段 1(Red 基线)/ 阶段 2(Green 验证)
|
|
439
|
+
|
|
440
|
+
**状态**:✅ PHASE1_COMPLETED / ✅ PHASE2_VERIFIED / ⚠️ ... / ❌ ... / 💥 ...
|
|
441
|
+
|
|
442
|
+
**Red 基线**:已产出 / 未完成(仅阶段 1)
|
|
443
|
+
|
|
444
|
+
**Green 验证**:全绿 / 有失败(仅阶段 2)
|
|
374
445
|
|
|
375
|
-
**
|
|
446
|
+
**AC 矩阵**:已打勾 N/M / 未打勾(仅阶段 2)
|
|
376
447
|
|
|
377
448
|
**偏离记录**:有 N 条待回写 / 无
|
|
378
449
|
|
|
379
450
|
## 下一步
|
|
380
451
|
|
|
381
|
-
**推荐**:`devbooks-xxx skill
|
|
452
|
+
**推荐**:`devbooks-xxx skill`
|
|
382
453
|
|
|
383
454
|
**原因**:[具体原因]
|
|
384
455
|
|
|
@@ -390,8 +461,11 @@ devbooks change-evidence <change-id> --label red-baseline -- npm test
|
|
|
390
461
|
|
|
391
462
|
| 我的状态 | 下一步 | 原因 |
|
|
392
463
|
|----------|--------|------|
|
|
393
|
-
|
|
|
394
|
-
|
|
|
464
|
+
| PHASE1_COMPLETED | `devbooks-coder`(单独会话) | Red 基线已产出,Coder 实现以变绿 |
|
|
465
|
+
| PHASE1_COMPLETED_WITH_DEVIATION | `devbooks-design-backport` | 先回写设计,再交给 Coder |
|
|
466
|
+
| PHASE2_VERIFIED | `devbooks-code-review` | 测试全绿,可以进入代码评审 |
|
|
467
|
+
| PHASE2_FAILED | 通知 Coder | 测试未通过,需要 Coder 修复 |
|
|
468
|
+
| PHASE2_HANDOFF | 修复测试 | 测试本身有问题,Test Owner 修复 |
|
|
395
469
|
| BLOCKED | 等待用户 | 记录断点区 |
|
|
396
470
|
| FAILED | 修复后重试 | 分析失败原因 |
|
|
397
471
|
|
|
@@ -399,6 +473,7 @@ devbooks change-evidence <change-id> --label red-baseline -- npm test
|
|
|
399
473
|
- **角色隔离**:Coder 必须在**单独的会话/实例**中工作
|
|
400
474
|
- Test Owner 和 Coder 不能共享同一会话上下文
|
|
401
475
|
- 如有偏离,必须先 design-backport 再交给 Coder
|
|
476
|
+
- **阶段 2 的 AC 矩阵打勾只能由 Test Owner 执行**
|
|
402
477
|
|
|
403
478
|
---
|
|
404
479
|
|