@haaaiawd/anws 2.2.3 → 2.2.5
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/README.md +21 -26
- package/package.json +1 -1
- package/templates/.agents/skills/anws-system/SKILL.md +108 -108
- package/templates/.agents/skills/code-reviewer/SKILL.md +8 -7
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +70 -139
- package/templates/.agents/skills/task-planner/SKILL.md +253 -699
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +163 -0
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE_05B.md +175 -0
- package/templates/.agents/skills/task-reviewer/SKILL.md +6 -6
- package/templates/.agents/workflows/blueprint.md +44 -358
- package/templates/.agents/workflows/challenge.md +40 -37
- package/templates/.agents/workflows/change.md +339 -346
- package/templates/.agents/workflows/craft.md +5 -12
- package/templates/.agents/workflows/design-system.md +674 -631
- package/templates/.agents/workflows/explore.md +399 -400
- package/templates/.agents/workflows/forge.md +122 -120
- package/templates/.agents/workflows/genesis.md +351 -353
- package/templates/.agents/workflows/probe.md +241 -243
- package/templates/.agents/workflows/quickstart.md +123 -123
- package/templates/.agents/workflows/upgrade.md +1 -11
- package/templates/AGENTS.md +149 -149
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +0 -214
|
@@ -1,391 +1,77 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "
|
|
2
|
+
description: "编排 /blueprint:基于设计输入生成 05A_TASKS.md 与 05B_VERIFICATION_PLAN.md,并完成收口检查。"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# /blueprint
|
|
6
6
|
|
|
7
|
-
<phase_context>
|
|
8
7
|
你是 **TASK ARCHITECT (任务规划师)**。
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
读取最新的架构版本 (`.anws/v{N}`),将其拆解为**可执行的任务清单**。
|
|
9
|
+
## 目标
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
- **需求追溯** - 每个任务关联 [REQ-XXX]
|
|
16
|
-
- **适度粒度** - 每个任务 2-8 小时工作量
|
|
17
|
-
|
|
18
|
-
**Output Goal**: `.anws/v{N}/05_TASKS.md`
|
|
19
|
-
</phase_context>
|
|
11
|
+
- 产出 `.anws/v{N}/05A_TASKS.md`(执行主清单)
|
|
12
|
+
- 产出 `.anws/v{N}/05B_VERIFICATION_PLAN.md`(验证计划)
|
|
20
13
|
|
|
21
14
|
---
|
|
22
15
|
|
|
23
|
-
##
|
|
16
|
+
## 编排边界
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
>
|
|
28
|
-
> 你必须先找到最新的 Architecture Overview,才能拆解任务。
|
|
18
|
+
`/blueprint` 只负责流程编排与关卡校验,不重复维护详细模板。
|
|
19
|
+
任务字段、验证字段、示例格式以 `task-planner/SKILL.md` 与 `references/TASK_TEMPLATE_05A.md`、`references/TASK_TEMPLATE_05B.md` 为唯一事实源。
|
|
29
20
|
|
|
30
21
|
---
|
|
31
22
|
|
|
32
|
-
## Step 0:
|
|
33
|
-
|
|
34
|
-
**目标**: 找到 Source of Truth。
|
|
35
|
-
|
|
36
|
-
1. **扫描版本**:
|
|
37
|
-
扫描 `.anws/` 目录,找到最新版本号 `v{N}`
|
|
38
|
-
2. **确定最新版本**:
|
|
39
|
-
- 找到数字最大的文件夹 `v{N}` (例如 `v3`)。
|
|
40
|
-
- **TARGET_DIR** = `.anws/v{N}`。
|
|
23
|
+
## Step 0: 定位版本与前置检查
|
|
41
24
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- **如果本版本涉及公共接口、CLI 参数语义、配置结构、文件格式、错误语义、跨系统协议或持久化结构** → `04_SYSTEM_DESIGN/` 视为**必需**,缺失时不得继续正常拆解
|
|
50
|
-
|
|
51
|
-
5. **如果必需文件缺失**: 报错并提示运行 `/genesis` 更新该版本。
|
|
25
|
+
1. 扫描 `.anws/` 找到最新 `v{N}`,设定 `TARGET_DIR = .anws/v{N}`。
|
|
26
|
+
2. 必需文件:
|
|
27
|
+
- `{TARGET_DIR}/01_PRD.md`
|
|
28
|
+
- `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`
|
|
29
|
+
3. 条件必需:
|
|
30
|
+
- 若版本涉及公共契约(HTTP API、CLI 参数语义、配置结构、文件格式、错误语义、跨系统协议、持久化结构),`{TARGET_DIR}/04_SYSTEM_DESIGN/` 视为必需。
|
|
31
|
+
4. 若前置不满足:停止并提示先运行 `/genesis` 或 `/design-system`。
|
|
52
32
|
|
|
53
33
|
---
|
|
54
34
|
|
|
55
|
-
## Step 1:
|
|
56
|
-
|
|
57
|
-
**目标**: 从 **`{TARGET_DIR}`** 加载文档。
|
|
35
|
+
## Step 1: 加载输入并建立契约映射
|
|
58
36
|
|
|
59
|
-
1.
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
5. **提取公共契约与验证责任**:
|
|
66
|
-
- 从 `02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/`、`04_SYSTEM_DESIGN/` 中提取所有公共契约
|
|
67
|
-
- 至少覆盖:操作契约、跨系统接口、HTTP API、CLI 命令/参数语义、配置结构、文件格式、错误语义、持久化结构
|
|
68
|
-
- 这些契约必须作为 Task 生成输入,而不是留给 `/forge` 临场猜测
|
|
69
|
-
6. **调用技能**: `task-planner`
|
|
37
|
+
1. 读取 `01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/`(以及存在时的 `04_SYSTEM_DESIGN/`)。
|
|
38
|
+
2. 从输入中提取公共契约与风险点。
|
|
39
|
+
3. 形成契约映射规则(供 `task-planner` 执行):
|
|
40
|
+
- 每个公共契约至少有一个实现承接任务(05A)
|
|
41
|
+
- 每个高风险公共契约至少有一个验证承接点(05B)
|
|
42
|
+
- 禁止把契约验证责任全部后移到高层集成或 E2E
|
|
70
43
|
|
|
71
44
|
---
|
|
72
45
|
|
|
73
|
-
## Step
|
|
46
|
+
## Step 2: 调用 task-planner 生成 A/B 双文档
|
|
74
47
|
|
|
75
|
-
|
|
48
|
+
调用 `task-planner`,并显式传递约束:
|
|
76
49
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
执行要求:
|
|
85
|
-
|
|
86
|
-
1. 从设计文档中提取所有公共契约
|
|
87
|
-
2. 判断每个契约属于:
|
|
88
|
-
- 基础规则层契约
|
|
89
|
-
- 跨模块/跨系统契约
|
|
90
|
-
- 关键用户路径契约
|
|
91
|
-
3. 对每个公共契约至少规划:
|
|
92
|
-
- 一个实现承接任务
|
|
93
|
-
- 一个验证承接点(单元测试 / 集成测试 / INT / E2E / 手动验证 之一)
|
|
94
|
-
4. 如契约属于基础层纯逻辑、映射、解析、归一化、注册表、schema、planner、diff/merge 等低依赖逻辑:
|
|
95
|
-
- 默认优先生成单元测试承接
|
|
96
|
-
- 主要分支、边界情况和错误路径应尽量被单元测试覆盖
|
|
97
|
-
|
|
98
|
-
> [!IMPORTANT]
|
|
99
|
-
> **禁止把“公共契约的验证责任”全部拖到高层集成或 E2E。**
|
|
50
|
+
- 输入文档是唯一事实来源
|
|
51
|
+
- 若 ADR 存在测试策略与质量门禁,必须优先遵循
|
|
52
|
+
- 验证类型按“最轻但足够”选择,避免 E2E 滥用
|
|
53
|
+
- 单元测试与 API接口功能测试必须同时规划
|
|
54
|
+
- 冒烟测试优先绑定 `INT-S{N}` 里程碑任务
|
|
55
|
+
- 仅在 `05A/05B` 中记录 E2E 触发条件、范围与证据预期;**不得在 `/blueprint` 阶段执行 `e2e-testing-guide`**
|
|
100
56
|
|
|
101
57
|
---
|
|
102
58
|
|
|
103
|
-
## Step
|
|
104
|
-
|
|
105
|
-
**目标**: 使用 WBS 方法拆解任务。
|
|
106
|
-
|
|
107
|
-
> [!IMPORTANT]
|
|
108
|
-
> **任务格式要求** (CRITICAL):
|
|
109
|
-
> 每个 Level 3 任务必须包含以下字段。
|
|
110
|
-
|
|
111
|
-
> [!IMPORTANT]
|
|
112
|
-
> **调用 `task-planner` 时必须显式传递以下约束**:
|
|
113
|
-
> - 当前版本的 PRD、Architecture、ADRs、System Design 是唯一事实来源
|
|
114
|
-
> - 如 ADR 中存在测试策略与质量门禁,`task-planner` 必须优先遵循
|
|
115
|
-
> - 默认按“最轻但足够”的原则选择验证类型
|
|
116
|
-
> - 每个公共契约至少要有一个实现任务承接
|
|
117
|
-
> - 每个高风险公共契约至少要有一个明确的验证承接点
|
|
118
|
-
> - 基础层纯逻辑、规则映射、解析、归一化、注册表、schema、planner、diff/merge 等低依赖逻辑,应默认优先单元测试,且主要分支/边界/错误路径应尽量覆盖
|
|
119
|
-
> - **冒烟测试默认仅放在 `INT-S{N}` 或极少数里程碑任务**
|
|
120
|
-
> - 不得因为“更保险”就把大量任务默认升级成 E2E测试
|
|
121
|
-
|
|
122
|
-
### 任务格式模板
|
|
123
|
-
|
|
124
|
-
```markdown
|
|
125
|
-
- [ ] **T{X}.{Y}.{Z}** [REQ-XXX]: 任务标题
|
|
126
|
-
- **描述**: 具体要做什么
|
|
127
|
-
- **输入**: 设计文档引用 + 前置任务产出(必须包含至少一个文档引用)
|
|
128
|
-
- **输出**: 产出的文件/组件/接口
|
|
129
|
-
- **契约承接**: [本任务实现或验证的公共契约;如无可写“无”]
|
|
130
|
-
- ** 参考**: ADR_XXX_*.md 或 System Design 章节(如有)
|
|
131
|
-
- **验收标准**:
|
|
132
|
-
- Given [前置条件]
|
|
133
|
-
- When [执行动作]
|
|
134
|
-
- Then [预期结果]
|
|
135
|
-
- (仅当纯技术性基础任务不适合 GWT 时,才允许使用清晰的 Done When 列表)
|
|
136
|
-
- **验证类型**: [单元测试 | 集成测试 | E2E测试 | 冒烟测试 | 回归测试 | 手动验证 | 编译检查 | Lint检查]
|
|
137
|
-
- **验证说明**: [如何检查完成,检查什么,具体命令或步骤]
|
|
138
|
-
- **估时**: Xh
|
|
139
|
-
- **依赖**: T{A}.{B}.{C} (如有)
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### 测试分层标准
|
|
143
|
-
|
|
144
|
-
> [!IMPORTANT]
|
|
145
|
-
> **Blueprint 必须按测试分层生成任务,而不是把所有验证都塞成 E2E。**
|
|
146
|
-
>
|
|
147
|
-
> 默认采用以下层次:
|
|
148
|
-
> - **单元测试**: 验证局部逻辑;基础层、共享层、纯逻辑层默认优先,且应尽量覆盖主要分支、边界情况和错误路径
|
|
149
|
-
> - **集成测试**: 验证模块/系统协作
|
|
150
|
-
> - **冒烟测试**: 验证里程碑关口的少量关键路径是否可运行
|
|
151
|
-
> - **E2E测试**: 验证关键用户故事或主业务链路
|
|
152
|
-
> - **回归测试**: 验证新变更未破坏已完成的关键能力
|
|
153
|
-
|
|
154
|
-
### 契约覆盖规则
|
|
155
|
-
|
|
156
|
-
> [!IMPORTANT]
|
|
157
|
-
> **Blueprint 必须确保公共契约被任务和验证接住。**
|
|
158
|
-
>
|
|
159
|
-
> 公共契约包括:操作契约、跨系统接口、HTTP API、CLI 参数语义、配置结构、文件格式、错误语义、持久化结构。
|
|
160
|
-
|
|
161
|
-
要求:
|
|
162
|
-
- 每个公共契约至少有一个实现任务承接
|
|
163
|
-
- 每个高风险公共契约至少有一个验证承接点
|
|
164
|
-
- 不得仅因为“后面会有集成测试”就省略基础规则层的单元测试
|
|
165
|
-
- 若某契约会影响既有关键能力,应额外规划最小回归验证责任
|
|
166
|
-
|
|
167
|
-
### 冒烟测试使用原则
|
|
168
|
-
|
|
169
|
-
> [!IMPORTANT]
|
|
170
|
-
> **冒烟测试应当少而真实,主要用于里程碑门控,不应泛滥到每个任务。**
|
|
171
|
-
>
|
|
172
|
-
> Blueprint 生成任务时,应优先把冒烟测试放在**大进展、大功能完成、准备进入下一阶段**的关口。
|
|
173
|
-
> 它的目标是验证“系统是否基本可用 / 可演示 / 可继续推进”,而不是替代全量回归测试。
|
|
174
|
-
|
|
175
|
-
### 回归测试使用原则
|
|
176
|
-
|
|
177
|
-
> [!IMPORTANT]
|
|
178
|
-
> **回归测试不是每次小改都跑全量,而是对“已有能力是否被破坏”的有针对性复验。**
|
|
179
|
-
|
|
180
|
-
### 接口追溯规则
|
|
181
|
-
|
|
182
|
-
> [!IMPORTANT]
|
|
183
|
-
> **任务间的输入/输出必须对齐。**
|
|
184
|
-
>
|
|
185
|
-
> 如果任务 B 依赖任务 A,则 B 的「输入」必须明确引用 A 的「输出」的具体产物(文件路径、接口名、数据格式)。
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Step 3: Sprint 路线图与退出标准 (Sprint Roadmap)
|
|
190
|
-
|
|
191
|
-
**目标**: 将任务分组为 Sprint/里程碑,每个 Sprint 必须有明确的退出标准和集成验证任务。
|
|
192
|
-
|
|
193
|
-
> [!IMPORTANT]
|
|
194
|
-
> **每个 Sprint 必须有退出标准和 INT 集成验证任务。**
|
|
195
|
-
>
|
|
196
|
-
> Sprint 不只是“一堆任务”,而是一个有明确入口和出口的工作单元。
|
|
197
|
-
> 退出标准定义“什么算做完”,集成验证任务负责“证明做完”。
|
|
198
|
-
|
|
199
|
-
### Sprint 路线图格式
|
|
200
|
-
|
|
201
|
-
```markdown
|
|
202
|
-
## Sprint 路线图
|
|
203
|
-
|
|
204
|
-
| Sprint | 代号 | 核心任务 | 退出标准 | 预估 |
|
|
205
|
-
|--------|------|---------|---------|------|
|
|
206
|
-
| S1 | Hello World | 基础设施+核心数据 | headless 运行通过 + 基本渲染可见 | 3-4d |
|
|
207
|
-
| S2 | 功能成型 | 实体+交互 | 完整功能可演示 + HUD 正常 | 5-6d |
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 集成验证任务 (INT Task)
|
|
211
|
-
|
|
212
|
-
每个 Sprint 末尾必须生成一个 **INT-S{N}** 集成验证任务,专门负责验证该 Sprint 的退出标准:
|
|
213
|
-
|
|
214
|
-
```markdown
|
|
215
|
-
- [ ] **INT-S{N}** [MILESTONE]: S{N} 集成验证 — {代号}
|
|
216
|
-
- **描述**: 验证 S{N} 退出标准,确认所有跨系统功能正常协作
|
|
217
|
-
- **输入**: S{N} 所有任务的产出
|
|
218
|
-
- **输出**: 集成验证报告(通过/失败 + Bug 清单)
|
|
219
|
-
- **验收标准**:
|
|
220
|
-
- Given S{N} 所有任务已完成
|
|
221
|
-
- When 执行退出标准中的每一项检查
|
|
222
|
-
- Then 全部通过 → Sprint 完成; 有失败 → 记录 Bug 并触发修复波次
|
|
223
|
-
- **验证类型**: 集成测试 / 冒烟测试 / E2E测试(按退出标准选择其一或组合)
|
|
224
|
-
- **验证说明**: 按退出标准逐条执行;如适用,增加少量真实冒烟检查验证关键路径是否可运行;若本 Sprint 改动触及已完成关键能力,可追加最小回归检查,使用截图/录屏/日志确认
|
|
225
|
-
- **估时**: 2-4h
|
|
226
|
-
- **依赖**: S{N} 所有任务
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
> INT 任务是该 Sprint 的“关门任务”。未通过 INT 任务的 Sprint 不得标记为完成。
|
|
230
|
-
> 默认优先将“真实冒烟测试”收敛在 INT 任务中,而不是扩散到所有开发任务。
|
|
231
|
-
> 调用 `task-planner` 时,应把 **Sprint 边界 + INT 任务 + 冒烟测试绑定规则** 一并传入,禁止 skill 自行把冒烟测试扩散到普通开发任务。
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Step 4: 依赖分析 (Dependency Analysis)
|
|
236
|
-
|
|
237
|
-
**目标**: 生成 Mermaid 依赖图。
|
|
238
|
-
|
|
239
|
-
```mermaid
|
|
240
|
-
graph TD
|
|
241
|
-
T1.1.1[初始化项目] --> T2.1.1[实现API]
|
|
242
|
-
T2.1.1 --> T3.1.1[前端集成]
|
|
243
|
-
T1.2.1[数据库Schema] --> T2.1.1
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**输出**: 插入到 `{TARGET_DIR}/05_TASKS.md` 开头。
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## Step 5: User Story Overlay (交叉验证)
|
|
251
|
-
|
|
252
|
-
**目标**: 从**用户价值维度**验证任务完备性。WBS 按系统拆解,这一步从 User Story 视角交叉检查。
|
|
253
|
-
|
|
254
|
-
> [!IMPORTANT]
|
|
255
|
-
> **User Story Overlay 是覆盖率安全网**
|
|
256
|
-
>
|
|
257
|
-
> WBS 确保每个系统都有任务,但无法保证每个用户故事都能端到端跑通。
|
|
258
|
-
> 这一步能捕获"系统内任务齐全,但跨系统 User Story 链断裂"的问题。
|
|
259
|
-
|
|
260
|
-
### 执行步骤
|
|
261
|
-
|
|
262
|
-
1. **读取 PRD 的 User Stories**: 从 `{TARGET_DIR}/01_PRD.md` 提取所有 `US-XXX`
|
|
263
|
-
2. **构建映射**: 将每个 US 涉及的系统 → 对应的 tasks(通过 REQ 追溯 + 系统归属匹配)
|
|
264
|
-
3. **验证三项闭环**:
|
|
265
|
-
- 每个 US 是否有足够的 tasks 覆盖其**所有涉及系统**?
|
|
266
|
-
- 每个 US 的 task 链是否能形成**可独立验证**的闭环?
|
|
267
|
-
- 高优先级 US (P0) 的 task 是否分布在靠前的 Sprint?
|
|
268
|
-
|
|
269
|
-
4. **生成 User Story View**: 追加到 `05_TASKS.md` 末尾
|
|
270
|
-
|
|
271
|
-
5. **生成 Contract Coverage Overlay**: 如存在公共契约,追加到 `05_TASKS.md` 末尾
|
|
272
|
-
|
|
273
|
-
### Contract Coverage Overlay 格式
|
|
274
|
-
|
|
275
|
-
```markdown
|
|
276
|
-
## Contract Coverage Overlay
|
|
277
|
-
|
|
278
|
-
| 契约 | 类型 | 实现承接 | 验证承接 | 状态 |
|
|
279
|
-
|------|------|---------|---------|:----:|
|
|
280
|
-
| `update --target` 显式选择语义 | CLI | T1.2.1 | T6.2.1 | |
|
|
281
|
-
| install-lock fallback 重建语义 | 文件/状态格式 | T4.1.1 | T6.2.1 | |
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### User Story View 格式
|
|
285
|
-
|
|
286
|
-
```markdown
|
|
287
|
-
## User Story Overlay
|
|
288
|
-
|
|
289
|
-
### US-001: [标题] (P1)
|
|
290
|
-
**涉及任务**: T2.1.1 → T2.1.2 → T7.2.1 → T6.1.2
|
|
291
|
-
**关键路径**: T2.1.1 → T2.1.2 → T7.2.1
|
|
292
|
-
**独立可测**: S1 结束即可演示
|
|
293
|
-
**覆盖状态**: 完整
|
|
294
|
-
|
|
295
|
-
### US-003: [标题] (P2)
|
|
296
|
-
**涉及任务**: T3.2.1
|
|
297
|
-
**关键路径**: T3.1.1 → T3.2.1
|
|
298
|
-
**独立可测**: 缺少 T4.x 衔接
|
|
299
|
-
**覆盖状态**: 不完整 — 缺少 executor 侧任务
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### 覆盖 GAP 处理
|
|
303
|
-
|
|
304
|
-
- 如有不完整的 US → 在 Overlay 中标注 ``,并在任务清单中补充缺失的 task
|
|
305
|
-
- 如有 US 的 task 全部在后期 Sprint → 建议前移部分 task 以实现早期验证
|
|
306
|
-
- 补充的 task 必须遵守 Step 2 的任务格式模板
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## Step 6: 生成文档
|
|
311
|
-
|
|
312
|
-
**目标**: 保存最终的任务清单,并**更新 AGENTS.md**。
|
|
313
|
-
|
|
314
|
-
1. **保存**: 将内容保存到 `.anws/v{N}/05_TASKS.md`
|
|
315
|
-
2. **验证**: 确保文件包含所有任务、验收标准和依赖图。
|
|
316
|
-
3. **更新 AGENTS.md "当前状态"**:
|
|
317
|
-
- 活动任务清单: `.anws/v{N}/05_TASKS.md`
|
|
318
|
-
- 最近一次更新: `{Today}`
|
|
319
|
-
- 写入初始波次建议,让 `/forge` 可以直接启动:
|
|
320
|
-
```markdown
|
|
321
|
-
### Wave 1 — {S1 的第一批任务目标}
|
|
322
|
-
T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## 检查清单
|
|
328
|
-
- 每个 Sprint 有退出标准和 INT 集成验证任务?
|
|
329
|
-
- 05_TASKS.md 是否包含所有 WBS 任务?
|
|
330
|
-
- 每个任务是否有 Context 和 Acceptance Criteria?
|
|
331
|
-
- 任务间的输入/输出是否对齐(接口追溯)?
|
|
332
|
-
- 公共契约是否都被实现任务与验证承接点接住?
|
|
333
|
-
- 基础层低依赖逻辑是否默认获得单元测试承接,且覆盖主要分支/边界/错误路径?
|
|
334
|
-
- 是否生成了 Mermaid 依赖图?
|
|
335
|
-
- User Story Overlay 已生成,覆盖 GAP 已补充?
|
|
336
|
-
- 已更新 AGENTS.md(含初始波次建议)?
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## Step 7: 最终确认
|
|
341
|
-
|
|
342
|
-
**展示统计**:
|
|
343
|
-
```markdown
|
|
344
|
-
Blueprint 阶段完成!
|
|
345
|
-
|
|
346
|
-
任务统计:
|
|
347
|
-
- 总任务数: {N}
|
|
348
|
-
- P0 任务: {X}
|
|
349
|
-
- P1 任务: {Y}
|
|
350
|
-
- P2 任务: {Z}
|
|
351
|
-
- 总预估工时: {T}h
|
|
352
|
-
|
|
353
|
-
产出: {TARGET_DIR}/05_TASKS.md
|
|
354
|
-
|
|
355
|
-
下一步行动:
|
|
356
|
-
1. 按依赖顺序执行 P0 任务
|
|
357
|
-
2. 每完成一个任务,标记 [x] 并运行验证
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
### Agent Context 自更新
|
|
363
|
-
|
|
364
|
-
**更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
|
|
365
|
-
|
|
366
|
-
在 `### 当前任务状态` 下写入:
|
|
59
|
+
## Step 3: 收口写入
|
|
367
60
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
-
|
|
371
|
-
|
|
372
|
-
-
|
|
373
|
-
|
|
374
|
-
- 最近更新: {Today}
|
|
375
|
-
```
|
|
61
|
+
1. 保存:
|
|
62
|
+
- `.anws/v{N}/05A_TASKS.md`
|
|
63
|
+
- `.anws/v{N}/05B_VERIFICATION_PLAN.md`
|
|
64
|
+
2. 在 `05A_TASKS.md` 中保留执行主线内容(WBS、依赖、Sprint、INT、User Story Overlay)。
|
|
65
|
+
3. 在 `05B_VERIFICATION_PLAN.md` 中保留验证主线内容(Task-by-Task、Contract Coverage Overlay、Testing Coverage Overlay、Verification Traceability Matrix)。
|
|
66
|
+
4. 更新 `AGENTS.md` 的 A/B 文档入口状态块。
|
|
376
67
|
|
|
377
68
|
---
|
|
378
69
|
|
|
379
|
-
|
|
380
|
-
- 定位到最新架构版本 `v{N}`
|
|
381
|
-
- 任务清单 `05_TASKS.md` 已生成
|
|
382
|
-
- 每个 Level 3 任务包含验证说明
|
|
383
|
-
- 任务间输入/输出已对齐(接口追溯)
|
|
384
|
-
- 每个 Sprint 有退出标准和 INT 集成验证任务
|
|
385
|
-
- 生成了 Mermaid 依赖图
|
|
386
|
-
- User Story Overlay 已生成并验证覆盖完整性
|
|
387
|
-
- 已更新 AGENTS.md(含初始波次建议)
|
|
388
|
-
- 更新了 AGENTS.md AUTO:BEGIN 区块 (当前任务状态)
|
|
389
|
-
- 用户已确认
|
|
390
|
-
</completion_criteria>
|
|
70
|
+
## Step 4: 必过检查清单
|
|
391
71
|
|
|
72
|
+
- [ ] `05A_TASKS.md` 与 `05B_VERIFICATION_PLAN.md` 均已生成
|
|
73
|
+
- [ ] 每个 05A 任务都含 `验证引用` 且可在 05B 定位到对应条目
|
|
74
|
+
- [ ] 05B 中保留 Contract Coverage Overlay、Testing Coverage Overlay、Verification Traceability Matrix
|
|
75
|
+
- [ ] 单元测试与 API接口功能测试职责均已规划
|
|
76
|
+
- [ ] 测试覆盖按风险类别闭合,且未出现测试膨胀
|
|
77
|
+
- [ ] `AGENTS.md` 已更新为 A/B 双文档入口
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
- **业务契约**: `01_PRD.md` 中的业务目标、主流程、约束、验收语义
|
|
17
17
|
- **架构契约**: `02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/`、`04_SYSTEM_DESIGN/` 中的系统边界、接口、状态与技术决策
|
|
18
|
-
- **任务契约**: `
|
|
18
|
+
- **任务契约**: `05A_TASKS.md` 对实现承接、覆盖范围作出的承诺
|
|
19
|
+
- **验证契约**: `05B_VERIFICATION_PLAN.md` 对验证策略、证据要求、追溯矩阵作出的承诺
|
|
19
20
|
- **文档契约**: README / 使用说明 / 验证路径对评审者和实施者作出的操作承诺(如在当前审查范围内可获得)
|
|
20
21
|
- **运行契约**: 错误语义、审计边界、日志边界、幂等、重试、超时、降级、调度与长期运行承诺
|
|
21
22
|
|
|
@@ -78,12 +79,12 @@
|
|
|
78
79
|
## 严重度分级
|
|
79
80
|
|
|
80
81
|
|
|
81
|
-
| 等级
|
|
82
|
-
|
|
|
83
|
-
| **Critical**
|
|
84
|
-
| **High**
|
|
85
|
-
| **Medium**
|
|
86
|
-
| **Low**
|
|
82
|
+
| 等级 | 判定标准 | 所需行动 |
|
|
83
|
+
| ------------ | -------------------- | ----------------------------- |
|
|
84
|
+
| **Critical** | 根本性矛盾或不可能实现。不解决无法继续。 | P0 — 必须在 blueprint/forge 之前修复 |
|
|
85
|
+
| **High** | 大概率导致返工或失败的严重风险。 | P1 — 在 forge 之前修复 |
|
|
86
|
+
| **Medium** | 有变通方案的质量隐患。 | P2 — 实现阶段修复 |
|
|
87
|
+
| **Low** | 润色项或轻微不一致。 | P3 — 后续跟踪 |
|
|
87
88
|
|
|
88
89
|
|
|
89
90
|
> [!NOTE]
|
|
@@ -112,7 +113,8 @@
|
|
|
112
113
|
- 读取 `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`
|
|
113
114
|
- 读取 `{TARGET_DIR}/03_ADR/`
|
|
114
115
|
- 读取 `{TARGET_DIR}/04_SYSTEM_DESIGN/`(如存在)
|
|
115
|
-
- 读取 `{TARGET_DIR}/
|
|
116
|
+
- 读取 `{TARGET_DIR}/05A_TASKS.md`(如存在)
|
|
117
|
+
- 读取 `{TARGET_DIR}/05B_VERIFICATION_PLAN.md`(如存在)
|
|
116
118
|
3. **强制深度理解** :
|
|
117
119
|
> [!IMPORTANT]
|
|
118
120
|
> 复杂项目可以循环多次。
|
|
@@ -142,12 +144,14 @@
|
|
|
142
144
|
1. **识别规范来源**:
|
|
143
145
|
- `01_PRD.md` → 业务契约
|
|
144
146
|
- `02_ARCHITECTURE_OVERVIEW.md` + `03_ADR/` + `04_SYSTEM_DESIGN/` → 架构契约
|
|
145
|
-
- `
|
|
147
|
+
- `05A_TASKS.md` → 任务契约
|
|
148
|
+
- `05B_VERIFICATION_PLAN.md` → 验证契约
|
|
146
149
|
- 当前审查范围内可读到的 README / 验证说明 / 配置说明 → 文档契约
|
|
147
150
|
2. **构建最小语义模型**(内部使用,不必原样照抄到最终报告):
|
|
148
151
|
- **规范来源清单**: 每类契约来自哪些文件
|
|
149
152
|
- **承诺清单**: 每条关键承诺的来源、对象、失败后果
|
|
150
|
-
- **任务承接映射**: 若 `
|
|
153
|
+
- **任务承接映射**: 若 `05A_TASKS.md` 存在,记录哪些承诺已被任务覆盖,哪些没有
|
|
154
|
+
- **验证承接映射**: 若 `05B_VERIFICATION_PLAN.md` 存在,记录哪些承诺有验证方案与证据要求
|
|
151
155
|
3. **至少抽取以下承诺类型**:
|
|
152
156
|
- **结果承诺**: 系统最终要达成什么业务结果
|
|
153
157
|
- **状态承诺**: 状态机、资源生命周期、越序约束是否明确
|
|
@@ -215,11 +219,11 @@
|
|
|
215
219
|
|
|
216
220
|
| 信号 | 推断模式 |
|
|
217
221
|
| -------------------------- | ----------------------------- |
|
|
218
|
-
| `
|
|
222
|
+
| `05A_TASKS.md` 不存在 | `DESIGN` — 只能审查设计 |
|
|
219
223
|
| 用户明确提到任务/任务清单有问题 | `TASKS` |
|
|
220
224
|
| 用户明确提到实现代码 / 交付验收 / 静态代码质检 | `CODE` |
|
|
221
225
|
| 用户明确说「全面审查」或「都看看」 | `FULL` |
|
|
222
|
-
| `
|
|
226
|
+
| `05A_TASKS.md` 存在,但用户无明确指向 | `DESIGN`,任务审查与代码审查**按需自适应升级** |
|
|
223
227
|
| 本轮是修复后的复查,上轮有任务类问题 | `FULL` |
|
|
224
228
|
|
|
225
229
|
|
|
@@ -250,7 +254,7 @@
|
|
|
250
254
|
|
|
251
255
|
## Step 3.5: 任务审查 (Task Review)
|
|
252
256
|
|
|
253
|
-
**触发条件**(满足任一即执行,`
|
|
257
|
+
**触发条件**(满足任一即执行,`05A_TASKS.md` 必须存在):
|
|
254
258
|
|
|
255
259
|
1. `REVIEW_MODE` = `TASKS` 或 `FULL`
|
|
256
260
|
2. **自适应升级**:`REVIEW_MODE` = `DESIGN`,且 design-reviewer 发现指向任务覆盖不足(见 skill 与上轮输出)。
|
|
@@ -285,37 +289,37 @@
|
|
|
285
289
|
|
|
286
290
|
| 检查维度 | 核心问题 | 契约位置 |
|
|
287
291
|
| ------- | --------------------------- | ---- |
|
|
288
|
-
| **重复态** | 同一请求再来一次,是否仍忠于原承诺? | —
|
|
289
|
-
| **失败态** | 超时、部分失败、外部依赖失败时,承诺是否仍成立? | —
|
|
290
|
-
| **默认态** | 框架默认错误路径 / 默认资源路径是否与系统契约一致? | —
|
|
291
|
-
| **运行态** | 调度、清理、保留期、长期运行行为是否有闭环? | —
|
|
292
|
-
| **并发态** | 多用户/并发冲突时,状态与副作用是否可控? | —
|
|
293
|
-
| **观测态** | 是否留有足够日志/审计证据,同时不扩大泄露面? | —
|
|
292
|
+
| **重复态** | 同一请求再来一次,是否仍忠于原承诺? | — |
|
|
293
|
+
| **失败态** | 超时、部分失败、外部依赖失败时,承诺是否仍成立? | — |
|
|
294
|
+
| **默认态** | 框架默认错误路径 / 默认资源路径是否与系统契约一致? | — |
|
|
295
|
+
| **运行态** | 调度、清理、保留期、长期运行行为是否有闭环? | — |
|
|
296
|
+
| **并发态** | 多用户/并发冲突时,状态与副作用是否可控? | — |
|
|
297
|
+
| **观测态** | 是否留有足够日志/审计证据,同时不扩大泄露面? | — |
|
|
294
298
|
|
|
295
299
|
2. **技术与运行健壮性检查**:
|
|
296
300
|
|
|
297
301
|
| 检查项 | 问题 | 契约位置 |
|
|
298
302
|
| ------------- | ------------------------------- | ---- |
|
|
299
|
-
| **事务处理** | 关键写操作是否有原子性保障?中间失败能回滚吗? | —
|
|
300
|
-
| **重试机制** | 外部服务调用失败时怎么办?是否会扩大副作用? | —
|
|
301
|
-
| **降级策略** | 主服务不可用时有 Fallback 吗? | —
|
|
302
|
-
| **超时处理** | 慢操作有超时限制吗? | —
|
|
303
|
-
| **接口定义** | 所有关键 API 都有完整输入/输出/错误 Schema 吗? | —
|
|
304
|
-
| **配置管理** | 秘钥/配置如何管理?硬编码了吗? | —
|
|
305
|
-
| **日志监控** | 关键操作有日志吗?日志是否越界记录敏感信息? | —
|
|
306
|
-
| **版本控制** | 数据格式/升级如何处理? | —
|
|
307
|
-
| **Prompt 模板** | LLM 的 Prompt 有完整定义吗? | —
|
|
308
|
-
| **工具定义** | LLM Tool Use 有 JSON Schema 吗? | —
|
|
303
|
+
| **事务处理** | 关键写操作是否有原子性保障?中间失败能回滚吗? | — |
|
|
304
|
+
| **重试机制** | 外部服务调用失败时怎么办?是否会扩大副作用? | — |
|
|
305
|
+
| **降级策略** | 主服务不可用时有 Fallback 吗? | — |
|
|
306
|
+
| **超时处理** | 慢操作有超时限制吗? | — |
|
|
307
|
+
| **接口定义** | 所有关键 API 都有完整输入/输出/错误 Schema 吗? | — |
|
|
308
|
+
| **配置管理** | 秘钥/配置如何管理?硬编码了吗? | — |
|
|
309
|
+
| **日志监控** | 关键操作有日志吗?日志是否越界记录敏感信息? | — |
|
|
310
|
+
| **版本控制** | 数据格式/升级如何处理? | — |
|
|
311
|
+
| **Prompt 模板** | LLM 的 Prompt 有完整定义吗? | — |
|
|
312
|
+
| **工具定义** | LLM Tool Use 有 JSON Schema 吗? | — |
|
|
309
313
|
|
|
310
314
|
3. **契约与验证责任闭合检查**:
|
|
311
315
|
|
|
312
316
|
| 检查项 | 问题 | 契约位置 |
|
|
313
317
|
| -------- | ------------------------- | ---- |
|
|
314
|
-
| **契约承接** | 所有公共契约是否都有实现任务承接? | —
|
|
315
|
-
| **验证承接** | 所有高风险公共契约是否都有至少一层明确验证承接? | —
|
|
316
|
-
| **基础单测** | 基础层、共享层、纯逻辑层是否默认获得单元测试承接? | —
|
|
317
|
-
| **错误路径** | 契约的失败态、边界态是否有对应测试责任? | —
|
|
318
|
-
| **回归责任** | 影响既有关键能力的变更是否有最小回归验证? | —
|
|
318
|
+
| **契约承接** | 所有公共契约是否都有实现任务承接? | — |
|
|
319
|
+
| **验证承接** | 所有高风险公共契约是否都有至少一层明确验证承接? | — |
|
|
320
|
+
| **基础单测** | 基础层、共享层、纯逻辑层是否默认获得单元测试承接? | — |
|
|
321
|
+
| **错误路径** | 契约的失败态、边界态是否有对应测试责任? | — |
|
|
322
|
+
| **回归责任** | 影响既有关键能力的变更是否有最小回归验证? | — |
|
|
319
323
|
|
|
320
324
|
4. **记录验证结果**(内部分析可详细,最终报告只保留高信号摘要):
|
|
321
325
|
```markdown
|
|
@@ -404,7 +408,7 @@
|
|
|
404
408
|
| ID | 类别 | 严重度 | 契约/Pass | 位置 | 发现 | 影响 | 建议 |
|
|
405
409
|
|----|------|--------|-----------|------|------|------|------|
|
|
406
410
|
| CH-01 | 承诺失真 | Critical | 错误承诺 / Contract Drift | PRD §X / ADR §Y / src/... | 默认失败路径未统一,契约未闭合 | 客户端错误处理分叉 | 统一错误语义并补验证任务或实现修复 |
|
|
407
|
-
| CH-02 | 任务承接 | High | E1 / Task Drift |
|
|
411
|
+
| CH-02 | 任务承接 | High | E1 / Task Drift | 05A_TASKS.md §X / src/... | P0 需求无对应任务或实现未兑现承接 | 核心能力无法落地 | 补充实现任务并在 05B 补验证承接 |
|
|
408
412
|
| CH-03 | 设计闭合 | Medium | RS-5 / Code Drift | 04_SYSTEM_DESIGN/... / src/... | 故障传播路径未说明或实现未按设计落地 | 出现级联失败时难以恢复 | 增加降级与超时策略 |
|
|
409
413
|
|
|
410
414
|
> 仅保留真正影响判断的问题。低价值措辞、泛泛而谈的担忧不要写进表。
|
|
@@ -465,7 +469,7 @@
|
|
|
465
469
|
|
|
466
470
|
1. **新轮审查开始时**,检查上一轮的所有问题是否已解决(由用户确认修复)
|
|
467
471
|
2. **如已解决** →
|
|
468
|
-
- 在
|
|
472
|
+
- 在 `问题总览` 中将该轮的状态全部标为
|
|
469
473
|
- **删除该轮的详细审查章节**(`## 第{N-1}轮详细审查`)
|
|
470
474
|
- 问题总览中的摘要行即为该轮的永久存档
|
|
471
475
|
3. **如部分解决** →
|
|
@@ -490,5 +494,4 @@
|
|
|
490
494
|
|
|
491
495
|
---
|
|
492
496
|
|
|
493
|
-
- 深度阅读了项目设计文档 - 已识别规范来源集合并提炼关键承诺模型 - Pre-Mortem 分析有逻辑依据 - 每个质疑点都有证据支撑 - 已完成承诺闭合验证(至少覆盖重复态 / 失败态 / 默认态 / 运行态) - 技术健壮性审计已完成 - Top 3 假设已尝试验证 - 承诺型质疑优先于载体型质疑输出 - 质疑报告格式完整(含问题总览目录) - 上一轮已解决问题的详情已归档(仅保留总览行) - 用户已阅读并决定下一步
|
|
494
497
|
|