@haaaiawd/anws 2.2.2 → 2.2.4
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 +180 -180
- package/lib/manifest.js +212 -212
- package/package.json +1 -1
- package/templates/.agents/skills/anws-system/SKILL.md +108 -108
- package/templates/.agents/skills/code-reviewer/SKILL.md +101 -101
- package/templates/.agents/skills/concept-modeler/SKILL.md +179 -178
- package/templates/.agents/skills/craft-authoring/SKILL.md +6 -6
- package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +113 -36
- package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
- package/templates/.agents/skills/report-template/SKILL.md +92 -85
- package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
- package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
- package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
- package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
- package/templates/.agents/skills/system-architect/SKILL.md +678 -620
- package/templates/.agents/skills/system-designer/SKILL.md +601 -534
- package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
- package/templates/.agents/skills/system-designer/references/system-design-template.md +28 -28
- package/templates/.agents/skills/task-planner/SKILL.md +699 -629
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +15 -15
- package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
- package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
- package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
- package/templates/.agents/workflows/blueprint.md +391 -391
- package/templates/.agents/workflows/challenge.md +52 -52
- package/templates/.agents/workflows/change.md +346 -346
- package/templates/.agents/workflows/craft.md +11 -11
- package/templates/.agents/workflows/design-system.md +631 -631
- package/templates/.agents/workflows/explore.md +399 -399
- package/templates/.agents/workflows/forge.md +145 -132
- package/templates/.agents/workflows/genesis.md +353 -353
- package/templates/.agents/workflows/probe.md +243 -243
- package/templates/.agents/workflows/quickstart.md +123 -123
- package/templates/.agents/workflows/upgrade.md +10 -10
- package/templates/AGENTS.md +149 -149
|
@@ -24,69 +24,69 @@
|
|
|
24
24
|
|
|
25
25
|
**核心原则**:
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
27
|
+
- **文档即合约** — 规范文档是不可违反的权威
|
|
28
|
+
- **波次执行** — 每波 2-5 个任务,加载→编码→验证→提交
|
|
29
|
+
- **遇疑则停** — 发现问题立即停止,不猜不赶
|
|
30
|
+
- **签名机制** — 每次波次开始都要经过检查点;**普通模式**下须用户**逐波批准**任务组合后方可编码,`/forge自动` 模式以 `AUTO` 代签连续推进(见 Step 1 **模式边界**)
|
|
31
31
|
|
|
32
32
|
**与用户的关系**:
|
|
33
33
|
你是用户的**忠实执行者**,不是自由发挥的创造者。
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## CRITICAL 权限边界
|
|
38
38
|
|
|
39
39
|
> [!IMPORTANT]
|
|
40
|
-
>
|
|
40
|
+
> `**/forge` 的权限严格限定**:
|
|
41
41
|
>
|
|
42
42
|
>
|
|
43
43
|
> | 能力 | 允许 | 禁止 |
|
|
44
44
|
> | --------------------------- | --- | --- |
|
|
45
|
-
> | 在 `src/` 下编写业务代码 |
|
|
46
|
-
> | 编写单元测试 |
|
|
47
|
-
> | 更新 `05_TASKS.md` 的 checkbox |
|
|
48
|
-
> | 运行测试和 lint |
|
|
49
|
-
> | Git commit 已完成的任务 |
|
|
50
|
-
> | 更新 `AGENTS.md` 当前状态 |
|
|
51
|
-
> | **修改 `.anws/` 下任何设计文档** | |
|
|
52
|
-
> | **创建 TASKS.md 中不存在的功能** | |
|
|
53
|
-
> | **降级或跳过验收标准** | |
|
|
54
|
-
> | **引入 ADR 未批准的第三方依赖** | |
|
|
55
|
-
> | **修改已有代码的公共接口(除非任务明确要求)** | |
|
|
56
|
-
> | **"顺便"优化/重构不在任务范围内的代码** | |
|
|
45
|
+
> | 在 `src/` 下编写业务代码 | 是 | |
|
|
46
|
+
> | 编写单元测试 | 是 | |
|
|
47
|
+
> | 更新 `05_TASKS.md` 的 checkbox | 是 | |
|
|
48
|
+
> | 运行测试和 lint | 是 | |
|
|
49
|
+
> | Git commit 已完成的任务 | 是 | |
|
|
50
|
+
> | 更新 `AGENTS.md` 当前状态 | 是 | |
|
|
51
|
+
> | **修改 `.anws/` 下任何设计文档** | | 是 |
|
|
52
|
+
> | **创建 TASKS.md 中不存在的功能** | | 是 |
|
|
53
|
+
> | **降级或跳过验收标准** | | 是 |
|
|
54
|
+
> | **引入 ADR 未批准的第三方依赖** | | 是 |
|
|
55
|
+
> | **修改已有代码的公共接口(除非任务明确要求)** | | 是 |
|
|
56
|
+
> | **"顺便"优化/重构不在任务范围内的代码** | | 是 |
|
|
57
57
|
>
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## CRITICAL 反自由发挥护栏
|
|
62
62
|
|
|
63
63
|
> [!IMPORTANT]
|
|
64
64
|
> **你只实现任务描述和验收标准中明确要求的内容。**
|
|
65
65
|
>
|
|
66
|
-
> -
|
|
67
|
-
> -
|
|
68
|
-
> -
|
|
69
|
-
> -
|
|
70
|
-
> -
|
|
71
|
-
> -
|
|
66
|
+
> - "我觉得加个缓存会更好" → **禁止**
|
|
67
|
+
> - "顺便优化了一下这个函数" → **禁止**
|
|
68
|
+
> - "虽然文档没提到,但加了错误处理" → **禁止**(除非验收标准要求)
|
|
69
|
+
> - "这个设计不太合理,我自己调整了" → **禁止**
|
|
70
|
+
> - 严格按任务描述 + 验收标准实现
|
|
71
|
+
> - 发现任何问题 → 报告用户 → 用户通过相应工作流修改 → 修改后再继续
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
75
|
-
##
|
|
75
|
+
## CRITICAL 冲突处理协议
|
|
76
76
|
|
|
77
77
|
> [!IMPORTANT]
|
|
78
78
|
> **以下情况必须立即停止编码,报告用户**:
|
|
79
79
|
>
|
|
80
80
|
>
|
|
81
|
-
> | 冲突类型 | 处理方式
|
|
82
|
-
> | ---------------------- |
|
|
83
|
-
> | 文档之间互相矛盾 |
|
|
84
|
-
> | 任务描述模糊/不完整 |
|
|
85
|
-
> | 依赖的前置任务产物与预期不符 |
|
|
86
|
-
> | 发现设计不可实现 |
|
|
87
|
-
> | 需要 ADR 未批准的新依赖 |
|
|
88
|
-
> | 需要的系统设计文档不存在 |
|
|
89
|
-
> | **发现未定义但必须新增/修改的公共契约** |
|
|
81
|
+
> | 冲突类型 | 处理方式 |
|
|
82
|
+
> | ---------------------- | -------------------------------- |
|
|
83
|
+
> | 文档之间互相矛盾 | 停止 → 列出矛盾点 → 用户通过 `/change` 修复 |
|
|
84
|
+
> | 任务描述模糊/不完整 | 停止 → 列出疑问 → 用户确认或通过 `/change` 补充 |
|
|
85
|
+
> | 依赖的前置任务产物与预期不符 | 停止 → 报告差异 → 用户决定 |
|
|
86
|
+
> | 发现设计不可实现 | 停止 → 记录原因 → 建议用户运行 `/challenge` |
|
|
87
|
+
> | 需要 ADR 未批准的新依赖 | 停止 → 说明理由 → 用户决定是否创建新 ADR |
|
|
88
|
+
> | 需要的系统设计文档不存在 | 停止 → 引导用户运行 `/design-system` |
|
|
89
|
+
> | **发现未定义但必须新增/修改的公共契约** | 停止 → 生成回流说明 → 跳转 `/change` |
|
|
90
90
|
>
|
|
91
91
|
>
|
|
92
92
|
> **核心原则: 宁可停下来问,也不要猜测。**
|
|
@@ -107,15 +107,11 @@
|
|
|
107
107
|
- `{TARGET_DIR}/05_TASKS.md` 存在
|
|
108
108
|
4. **检查推荐文件** (缺失则警告):
|
|
109
109
|
- `{TARGET_DIR}/04_SYSTEM_DESIGN/` 存在且非空
|
|
110
|
-
- 如缺失: "
|
|
110
|
+
- 如缺失: " 建议先运行 `/design-system`。缺少详细设计可能导致实现质量下降。"
|
|
111
111
|
5. **如果必需文件缺失**: 报错并提示运行 `/genesis` + `/blueprint`。
|
|
112
|
-
6. **
|
|
113
|
-
- 如果 `{TARGET_DIR}/07_CHALLENGE_REPORT.md` 存在,必须先读取最新审查结果
|
|
114
|
-
- 如存在**未处理 Critical** → **立即阻塞**,不得进入 `/forge`
|
|
115
|
-
- 如存在**未处理 High** → 仅允许用户显式签名放行;AUTO 模式不得自动通过
|
|
116
|
-
- 如无未处理高严重度问题 → 继续
|
|
112
|
+
6. **`07_CHALLENGE_REPORT.md`(若存在)**:先读结论;有未闭环 **Critical** → **停止**,不得进入本工作流后续编码步骤;有未闭环 **High** → 仅用户显式放行(AUTO 不可替代);其余继续。门禁语义与 **`/challenge`** 一致,**不在此重复展开**。
|
|
117
113
|
7. **断点续做判定**:
|
|
118
|
-
- 读取 `AGENTS.md` 的
|
|
114
|
+
- 读取 `AGENTS.md` 的 `Wave` 块
|
|
119
115
|
- 如果存在波次信息:
|
|
120
116
|
- 查看波次任务列表,对照 `05_TASKS.md` 中的 checkbox
|
|
121
117
|
- 如有未完成任务 → **断点续做** → 跳入 Step 3 继续未完成的任务
|
|
@@ -133,12 +129,15 @@
|
|
|
133
129
|
- 如当前已在 `feature/`* 且仍属于同一交付主题 → 继续在当前 branch 上推进,不因补任务、补契约、补测试而反复新开分支
|
|
134
130
|
- 如当前已在 `feature/`* 且主题未变,即使经历 `/change` 回流,也继续使用同一条分支
|
|
135
131
|
- 只有 `/genesis` 触发、版本前提变化时,旧 `feature/`* 才冻结;新版本应从最新 `main` 重新开一条新的 `feature/`*
|
|
136
|
-
- 如进入 `/change` 前需要保护点,可先在当前 `feature
|
|
132
|
+
- 如进入 `/change` 前需要保护点,可先在当前 `feature/`* 上创建 checkpoint commit:`checkpoint: before {topic}`
|
|
137
133
|
|
|
138
134
|
> [!IMPORTANT]
|
|
139
135
|
> **Git 判断口诀**:
|
|
140
136
|
> 同主题就不换分支,`/change` 不换分支,`/genesis` 才换分支;开发都在 `feature/`*,稳定结果才进 `main`,tag 只打 `main`。
|
|
141
137
|
|
|
138
|
+
> [!IMPORTANT]
|
|
139
|
+
> **AUTO 与在场性**:一旦判定为 **AUTO 模式**,默认用户**可能不在屏幕前**(喝咖啡、休息等)。除 **Step 0** 中 **`07_CHALLENGE_REPORT` Critical 未闭环**、**§1.4 波前 `code-reviewer` 硬阻塞**、任务 **手动验证**须用户终局确认、以及 **Step 4.4「AUTO 必须停下」** 所列情形外,**不要**再就「是否确认本波任务组合」「是否继续下一波」等向用户发问;展示 Wave 建议后以 **`AUTO`** 假名签署并顺序执行 **§1.4 → Step 2**。需要人类随队微调波次请用**普通模式**。
|
|
140
|
+
|
|
142
141
|
---
|
|
143
142
|
|
|
144
143
|
## Step 1: 波次规划 (Wave Planning)
|
|
@@ -146,9 +145,12 @@
|
|
|
146
145
|
**目标**: 从任务清单中挑选一组可执行的任务,组成一个"波次"。
|
|
147
146
|
|
|
148
147
|
> [!IMPORTANT]
|
|
149
|
-
>
|
|
148
|
+
> **模式边界(CRITICAL)**
|
|
149
|
+
>
|
|
150
|
+
> - **普通模式(默认)**:与既有协议一致——**每一波**在 Step 1 **展示 Wave 建议 → 用户确认并批准本波任务组合(签名)→** 再写入 `AGENTS.md` 的 `Wave` 块、执行 **§1.4**;Step 4 结算后若仍有未完成任务,**下一波**仍须回到 Step 1 **再次**展示并**等待用户批准**,不得在未经批准时开工下一波。Step 4.4 的「不问是否继续」**仅适用于 AUTO**,**不**削弱普通模式的逐波批准权。
|
|
151
|
+
> - **AUTO 模式**(`/forge自动` 或用户明确要求自动连续推进):检查点逻辑仍在,但签名人记为 `AUTO`;**不得**为「波次是否满意」「是否继续下一波」发起闲聊式确认(见 **Step 0「AUTO 与在场性」**、**Step 4.4**)。
|
|
150
152
|
>
|
|
151
|
-
> **为什么?**
|
|
153
|
+
> **为什么?** 优先级与任务边界须可审计;普通模式由人**逐波把关**,AUTO 则由硬性停止条件顶替「人在场」的口头确认。
|
|
152
154
|
|
|
153
155
|
### 1.1 扫描可执行任务
|
|
154
156
|
|
|
@@ -174,7 +176,7 @@
|
|
|
174
176
|
向用户展示:
|
|
175
177
|
|
|
176
178
|
```markdown
|
|
177
|
-
##
|
|
179
|
+
## Wave {N} 建议
|
|
178
180
|
|
|
179
181
|
| 任务 ID | 标题 | 依赖文档 | 估时 |
|
|
180
182
|
| -------- | ---- | ------------------------------- | :---: |
|
|
@@ -187,25 +189,42 @@
|
|
|
187
189
|
确认此波次?或调整任务组合?
|
|
188
190
|
```
|
|
189
191
|
|
|
190
|
-
**签名检查点**
|
|
192
|
+
**签名检查点** : 获得签名后,将确认的波次写入 `AGENTS.md` 的 `Wave` 块:
|
|
191
193
|
|
|
192
194
|
```markdown
|
|
193
|
-
###
|
|
195
|
+
### Wave {N} — {波次目标简述}
|
|
194
196
|
T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
195
197
|
```
|
|
196
198
|
|
|
197
|
-
|
|
199
|
+
签名规则(与 **模式边界** 一致):
|
|
200
|
+
|
|
201
|
+
- **普通模式** → 用户**明示批准**本波 Wave(可对任务组合提出调整,定稿后再签)→ 写入 `AGENTS.md` `Wave` 块 → 再执行 **§1.4**。**禁止**在用户未批准前写入 Wave 或进入 Step 2/3。
|
|
202
|
+
- **AUTO 模式** → 展示 Wave 建议后**立即**将本波记为 `AUTO` 签入并执行 **§1.4**(**不得**为「确认组合是否满意」再打断用户)。
|
|
203
|
+
|
|
204
|
+
### 1.4 波前静态审查(`code-reviewer`,默认每波)
|
|
205
|
+
|
|
206
|
+
**时机**:`AGENTS.md` 的 **Wave {N}** 已写入且 **Step 1 签名**已达成之后,**进入 Step 2 之前**。
|
|
207
|
+
|
|
208
|
+
**断点续做**:Step 0 若判定**同一波**未收官、直接进入 Step 3,视为该波已在当时完成 Step 1 批准;**不**对同一波重复 §1.4。若无法从 Wave 备注 / 会话记录确认本波曾完成 §1.4(须有一次审查产出或合法豁免),**回到 Step 1** 补办本波签名与 §1.4,再进入 Step 2/3。
|
|
209
|
+
|
|
210
|
+
**默认**:每一**新**波次(含普通模式下用户刚批准的下一波)都必须执行一轮 **`code-reviewer`**,审查对象为 **截至本波开始前、当前工作分支上已 commit 的实现**(相对 `{TARGET_DIR}` 下 PRD / Architecture / ADR / System Design / **`05_TASKS.md`**,含本波将执行任务之契约边界),避免带着错误假设进入编码。
|
|
211
|
+
|
|
212
|
+
**仅以下情形可跳过(须写明原因,写入 Wave 备注或等同持久位)**:
|
|
213
|
+
|
|
214
|
+
1. **无可审实现**:业务实现根(如 `src/`,以项目约定为准)上**尚无可审查的、与本 Sprint / 本波相关的已落地代码**(纯初始化、仅文档、尚未开工)— **不做**形式主义空跑。
|
|
215
|
+
2. **用户明确全域禁止 static review**:用户**明示**「不做 code review / 跳过一切 `code-reviewer`」— 本会话内后续各波均不再调用 **`code-reviewer`**,直接进 **Step 2**;须在 **`AGENTS.md`** 或 Wave 侧标注 **`CODE_REVIEW_DISABLED_BY_USER`**,直至用户声明撤销。**未**收到明示前 **禁止** AI 自行省略波审。
|
|
198
216
|
|
|
199
|
-
|
|
217
|
+
**执行**:完整遵从 **`code-reviewer`** skill;宿主有子代理时 **优先**委派。
|
|
200
218
|
|
|
201
|
-
|
|
202
|
-
|
|
219
|
+
**门禁路由**:Critical / High 按 skill 走 **`/change`** / **`/genesis`**;未解决 blocking 前 **不得** 进入 Step 2(**含 AUTO**,遇此类必须停下)。
|
|
220
|
+
|
|
221
|
+
然后进入 **Step 2**。
|
|
203
222
|
|
|
204
223
|
---
|
|
205
224
|
|
|
206
225
|
## Step 2: 上下文加载 (Context Loading)
|
|
207
226
|
|
|
208
|
-
**目标**:
|
|
227
|
+
**目标**: 按需加载本波次需要的文档,不多加载一份。**前提**:**§1.4** 已完成或可合法豁免(见上);否则不得加载开工。
|
|
209
228
|
|
|
210
229
|
> [!IMPORTANT]
|
|
211
230
|
> **只加载当前波次需要的文档。不要"以防万一"多加载。**
|
|
@@ -245,12 +264,24 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
245
264
|
|
|
246
265
|
## Step 3: 任务执行循环 (Task Execution Loop)
|
|
247
266
|
|
|
248
|
-
**目标**:
|
|
267
|
+
**目标**: 逐个完成波次内任务(思考→编码→验证→提交)。
|
|
249
268
|
|
|
250
269
|
> [!IMPORTANT]
|
|
251
270
|
> **严格按以下流程执行每个任务,不跳步。**
|
|
252
271
|
|
|
253
|
-
|
|
272
|
+
### Wave 内建结构(Wave = 波前门 + 任务循环)
|
|
273
|
+
|
|
274
|
+
把 **一次 Wave** 视为 **波前静态门 + 逐任务循环**(Step 3 仅承载后者;**未完成不得进入 Step 4**):
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
| 阶段 | 内容 | 完成判据 |
|
|
278
|
+
| ---------------------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
|
|
279
|
+
| **0. 波前(`code-reviewer`)** | **Step 1 签名之后、Step 2 之前**;见 **§1.4** | 审查产出可追溯,或 **`code-reviewer`** skill 下的**合法豁免**已落盘;不得无声跳过 |
|
|
280
|
+
| **A. 逐任务循环** | 对本波每个任务依次执行 **§3.1 → §3.6**(**末任务**在 §3.4 后走 **§3.4.6**) | 每个任务的验收、验证证据与 commit 已落地;`05_TASKS.md` 已按规则回写 |
|
|
281
|
+
|
|
282
|
+
> **一句**:**§1.4** 与 **Step 4 §4.0** 对齐(波前已完成或可豁免)。
|
|
283
|
+
|
|
284
|
+
对本波次中的每个任务,执行以下循环(阶段 A):
|
|
254
285
|
|
|
255
286
|
---
|
|
256
287
|
|
|
@@ -290,7 +321,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
290
321
|
3. "验收标准里最关键的约束是什么?"
|
|
291
322
|
4. "有没有歧义的地方?有没有不确定的点?"
|
|
292
323
|
|
|
293
|
-
- 如发现歧义或不确定 →
|
|
324
|
+
- 如发现歧义或不确定 → **触发冲突处理协议**,停止并报告用户
|
|
294
325
|
- 如无问题 → 继续 3.3
|
|
295
326
|
|
|
296
327
|
---
|
|
@@ -327,33 +358,33 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
327
358
|
> **验证类型决定验证方式和证据要求**:
|
|
328
359
|
>
|
|
329
360
|
>
|
|
330
|
-
> | 验证类型 | 验证方式 | 证据要求 | 标记
|
|
331
|
-
> | ---------- | ------------------------ | ------------------------- |
|
|
332
|
-
> | **单元测试** | 运行 `npm test` 或等效命令 | 终端输出:`X passed, 0 failed` |
|
|
333
|
-
> | **集成测试** | 运行集成测试脚本 | 终端输出或日志 |
|
|
334
|
-
> | **E2E测试** | 运行 E2E 测试脚本 | 测试报告或截图 |
|
|
335
|
-
> | **冒烟测试** | 运行最小真实路径检查 | 关键路径日志、截图或终端输出 |
|
|
336
|
-
> | **回归测试** | 运行受影响能力的最小回归测试集 | 明确列出复验范围 + 测试输出 |
|
|
337
|
-
> | **编译检查** | 运行 `npm run build` 或等效命令 | 终端输出:`Build succeeded` |
|
|
338
|
-
> | **Lint检查** | 运行 `npm run lint` 或等效命令 | 终端输出:`0 problems` |
|
|
339
|
-
> | **手动验证** | 人工检查 | 用户确认 |
|
|
361
|
+
> | 验证类型 | 验证方式 | 证据要求 | 标记 |
|
|
362
|
+
> | ---------- | ------------------------ | ------------------------- | ------ |
|
|
363
|
+
> | **单元测试** | 运行 `npm test` 或等效命令 | 终端输出:`X passed, 0 failed` | 通过/未通过 |
|
|
364
|
+
> | **集成测试** | 运行集成测试脚本 | 终端输出或日志 | 通过/未通过 |
|
|
365
|
+
> | **E2E测试** | 运行 E2E 测试脚本 | 测试报告或截图 | 通过/未通过 |
|
|
366
|
+
> | **冒烟测试** | 运行最小真实路径检查 | 关键路径日志、截图或终端输出 | 通过/未通过 |
|
|
367
|
+
> | **回归测试** | 运行受影响能力的最小回归测试集 | 明确列出复验范围 + 测试输出 | 通过/未通过 |
|
|
368
|
+
> | **编译检查** | 运行 `npm run build` 或等效命令 | 终端输出:`Build succeeded` | 通过/未通过 |
|
|
369
|
+
> | **Lint检查** | 运行 `npm run lint` 或等效命令 | 终端输出:`0 problems` | 通过/未通过 |
|
|
370
|
+
> | **手动验证** | 人工检查 | 用户确认 | 待确认 |
|
|
340
371
|
>
|
|
341
372
|
|
|
342
373
|
```markdown
|
|
343
|
-
###
|
|
374
|
+
### 验证报告: T{X.Y.Z}
|
|
344
375
|
|
|
345
376
|
**验证类型**: [单元测试 | 集成测试 | E2E测试 | 冒烟测试 | 回归测试 | 编译检查 | Lint检查 | 手动验证]
|
|
346
377
|
|
|
347
378
|
**自动验证** (单元测试/集成测试/E2E/冒烟/回归/编译/Lint):
|
|
348
379
|
| 验收标准 | 命令 | 输出摘要 | 状态 |
|
|
349
380
|
| -------- | ---- | -------- | :--: |
|
|
350
|
-
| 测试通过 | `npm test` | 12 passed, 0 failed |
|
|
351
|
-
| 构建成功 | `npm run build` | Build succeeded |
|
|
381
|
+
| 测试通过 | `npm test` | 12 passed, 0 failed | 通过/未通过 |
|
|
382
|
+
| 构建成功 | `npm run build` | Build succeeded | 通过/未通过 |
|
|
352
383
|
|
|
353
384
|
**手动验证**:
|
|
354
385
|
| 验收标准 | 说明 | 状态 |
|
|
355
386
|
| -------- | ---- | :--: |
|
|
356
|
-
| 页面显示正确 | 需要打开浏览器确认渲染效果 |
|
|
387
|
+
| 页面显示正确 | 需要打开浏览器确认渲染效果 | 待确认 |
|
|
357
388
|
```
|
|
358
389
|
|
|
359
390
|
按任务的 `**验证类型**` 和 `**验证说明**` 字段执行检查。
|
|
@@ -365,48 +396,21 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
365
396
|
> - 回归测试必须显式写出本次复验覆盖了哪些既有能力,避免泛化成“随便跑点测试”
|
|
366
397
|
> - 若任务声明了冒烟测试或回归测试,但 `验证说明` 无法指导执行,应视为验证定义不完整,先修任务定义或回流 `/change`
|
|
367
398
|
|
|
368
|
-
-
|
|
369
|
-
-
|
|
399
|
+
- 若任一自动验证类型未通过 → **修复后重新验证**,不得跳过
|
|
400
|
+
- 若全部自动验证类型通过:
|
|
401
|
+
- **非本波最后一个任务** → **3.5 → 3.6**(不在此执行 **§3.4.6**)。
|
|
402
|
+
- **本波最后一个任务** → **§3.4.6(见下)** → **3.5 → 3.6**。
|
|
370
403
|
|
|
371
|
-
### 3.4.
|
|
404
|
+
### 3.4.6 波末 E2E(写死:`e2e-testing-guide` → 浏览器)
|
|
372
405
|
|
|
373
|
-
|
|
374
|
-
> **`code-reviewer`(3.4.5)默认不在每个任务后强制执行**(避免噪声与上下文浪费)。**`e2e-testing-guide`(3.4.6)** 的触发与 **3.4.5 频控相互独立** — UI/E2E 类任务只要 skill 触发就应执行 3.4.6,即使不是 Wave 最后一个任务。
|
|
375
|
-
>
|
|
376
|
-
> **3.4.5(`code-reviewer`)默认节奏**:
|
|
377
|
-
>
|
|
378
|
-
> - **主路径**:在本 **Wave** 的 **最后一个任务** 完成 3.4 的自动验证后,集中执行 **一次** 3.4.5(审查范围为本 Wave 已落地变更)。
|
|
379
|
-
> - **Wave 内较早的任务**:通常 **跳过** 3.4.5,直接进入 **3.5 → 3.6**;若跳过,在任务或 Wave 备注标注依据(如 `3.4.5 deferred — wave cadence`)。
|
|
380
|
-
> - **兜底**:若已连续 **约 2~3 个 Wave** 未执行 3.4.5,应在下一 Wave **Step 1** 之前或上一 Wave **Step 4** 末尾 **补跑一次**(范围与证据见 skill)。
|
|
381
|
-
> - **例外**(可改为本任务后立即跑 3.4.5):任务/用户显式要求 **逐任务静态审查**;**公共契约高风险**;**`/forge自动` 长会话**需加密审查 — 仍须服从 **`code-reviewer` skill** 的跳过/加密协议。
|
|
382
|
-
>
|
|
383
|
-
> **3.4.6(`e2e-testing-guide`)与浏览器工具**:
|
|
384
|
-
>
|
|
385
|
-
> - 未触发 skill → 跳过 + 一行原因 → **3.5**。
|
|
386
|
-
> - **具备浏览器自动化能力时**:按 skill — **先** 产出/对齐 Testing Guide,**再在用户授权下** 执行真实浏览器步骤。
|
|
387
|
-
> - **无浏览器工具**:**guide-only**,不得在无证据时声称 E2E/冒烟已通过。
|
|
388
|
-
|
|
389
|
-
---
|
|
390
|
-
|
|
391
|
-
### 3.4.5 静态忠实度审查 (Code Fidelity Check)
|
|
392
|
-
|
|
393
|
-
(按频控:本任务执行;或顺延至 Wave 最后一个任务 / 兜底补跑 — 见上。)
|
|
394
|
-
|
|
395
|
-
完整遵从 `**code-reviewer`** skill(输入、Lens、输出、跳过协议均以 skill 为准)。
|
|
396
|
-
|
|
397
|
-
**执行方式**:宿主支持子代理(Task / 并行会话等)时 **优先**委派子代理执行本小节;若无子代理能力,则由**当前会话**按同一 skill 执行(不得以无子代理为由缩水审查)。
|
|
398
|
-
|
|
399
|
-
**门禁路由**:Critical / High → 当前版本内可收敛则 **`/change`**;撼动需求/架构/ADR 前提则 **`/genesis`**。无阻塞 → **3.4.6**(若触发)或 **3.5**。
|
|
406
|
+
**仅**在 **本波最后一个任务**、且该任务 **§3.4**(自动侧)已通过之后执行。静态忠实度门在 **§1.4 波前** 已完成或可豁免,此处**不再**重复 **`code-reviewer`**。
|
|
400
407
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
若宿主具备浏览器自动化:**先 Guide、后实机(用户授权)**;无工具则 guide-only,不得冒充已测。
|
|
408
|
-
|
|
409
|
-
未触发 → `E2E guide skipped` + 一行原因 → **3.5**。
|
|
408
|
+
1. 若本波 `05_TASKS.md` 中**任一**任务含 **E2E测试** 或 **手动验证**(或等价须实机 UI 的验收):
|
|
409
|
+
- **必须**提示用户二选一(除非用户已预先声明):
|
|
410
|
+
- **收尾 A**:本轮**仅**依赖 **§1.4** 已完成的 **`code-reviewer`**(或合法豁免记录)+ 本任务 **§3.4**,**不**再跑 E2E 报告与浏览器;若仍残留 UI 类验收未测,须在 Wave/会话备注写明**风险与原因**。
|
|
411
|
+
- **收尾 B**:**先** 严格按 **`e2e-testing-guide`** skill **只写**《E2E Verification》指南与表格(报告骨架与三档评测含义以 skill **Required output** 内 `<!-- -->` 注释为准:**仅** `PASS` / `PARTIAL_PASS` / `FAIL`);**再** 在用户授权下用宿主 **浏览器工具** 按报告逐步执行,并把 **Evidence / 各 verdict 列** 回填。
|
|
412
|
+
2. 若本波**无**上述验证类型 → 一行 `§3.4.6 skipped — no E2E/manual in wave` → **3.5**。
|
|
413
|
+
3. **无浏览器工具**:只交付 skill 文档,标注 `guide-only`,不得声称已完成实机 `PASS`。
|
|
410
414
|
|
|
411
415
|
---
|
|
412
416
|
|
|
@@ -417,17 +421,17 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
417
421
|
|
|
418
422
|
| # | 检查项 | 通过? |
|
|
419
423
|
| --- | ------------------------- | --- |
|
|
420
|
-
| 1 | 代码接口与 SYSTEM_DESIGN 定义一致? |
|
|
421
|
-
| 2 | 未引入 ADR 未批准的依赖? |
|
|
422
|
-
| 3 | 未添加任务范围外的功能? |
|
|
423
|
-
| 4 | 代码风格与项目一致,lint 通过? |
|
|
424
|
-
| 5 | 所有验收标准已验证通过? |
|
|
425
|
-
| 6 | 所有可执行验收标准有足够证据(终端/日志/截图)? |
|
|
426
|
-
| 7 | 需人工确认的验收标准已标记
|
|
424
|
+
| 1 | 代码接口与 SYSTEM_DESIGN 定义一致? | 是/否 |
|
|
425
|
+
| 2 | 未引入 ADR 未批准的依赖? | 是/否 |
|
|
426
|
+
| 3 | 未添加任务范围外的功能? | 是/否 |
|
|
427
|
+
| 4 | 代码风格与项目一致,lint 通过? | 是/否 |
|
|
428
|
+
| 5 | 所有验收标准已验证通过? | 是/否 |
|
|
429
|
+
| 6 | 所有可执行验收标准有足够证据(终端/日志/截图)? | 是/否 |
|
|
430
|
+
| 7 | 需人工确认的验收标准已标记 ? | 是/否 |
|
|
427
431
|
|
|
428
432
|
|
|
429
|
-
-
|
|
430
|
-
-
|
|
433
|
+
- 若检查清单全部通过 → 继续 3.6
|
|
434
|
+
- 若任一项未通过 → **修复**
|
|
431
435
|
|
|
432
436
|
---
|
|
433
437
|
|
|
@@ -460,14 +464,23 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
460
464
|
|
|
461
465
|
**目标**: 结算本波次,更新状态,准备下一步。
|
|
462
466
|
|
|
467
|
+
### 4.0 Wave 合拢门禁(硬)
|
|
468
|
+
|
|
469
|
+
同时满足方可进入 **4.1+**:
|
|
470
|
+
|
|
471
|
+
1. **§1.4**:本波进入 **Step 2** 之前 **`code-reviewer`** 已完成(可溯源),或 **`code-reviewer`** skill 下的**合法豁免**(含 **`CODE_REVIEW_DISABLED_BY_USER`** / **无可审实现** 等)已写明。
|
|
472
|
+
2. **Step 3**:本波内**全部**任务已完成;**末任务**之 **§3.4.6** 已按 **收尾 A/B** 处理或已跳过(无 E2E/手动等),且 **§3.5 / §3.6** 已闭环。
|
|
473
|
+
|
|
474
|
+
**不满足 → 禁止**进入 **4.1 及之后**;回到 Step 1(缺 §1.4)或 Step 3(缺任务闭环)补齐。
|
|
475
|
+
|
|
463
476
|
### 4.1 更新状态
|
|
464
477
|
|
|
465
478
|
**更新 `AGENTS.md`**:
|
|
466
479
|
|
|
467
|
-
1. 更新
|
|
480
|
+
1. 更新 `Wave` 块为下一波的初始状态(如果已知下一波任务),或标记当前波已完成:
|
|
468
481
|
|
|
469
482
|
```markdown
|
|
470
|
-
###
|
|
483
|
+
### Wave {N} — {波次目标简述}
|
|
471
484
|
T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
472
485
|
```
|
|
473
486
|
|
|
@@ -478,7 +491,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
478
491
|
向用户简要汇报:
|
|
479
492
|
|
|
480
493
|
```markdown
|
|
481
|
-
##
|
|
494
|
+
## Wave {N} 完成
|
|
482
495
|
|
|
483
496
|
**已完成**: T{X.Y.Z}, T{X.Y.Z}, ...
|
|
484
497
|
**验证状态**: 全部通过 / 部分通过
|
|
@@ -498,18 +511,19 @@ chore(wave): settle wave {N} progress
|
|
|
498
511
|
|
|
499
512
|
### 4.4 下一步判定
|
|
500
513
|
|
|
501
|
-
**签名检查点**
|
|
514
|
+
**签名检查点** :
|
|
502
515
|
|
|
503
|
-
- 还有未完成任务 →
|
|
516
|
+
- 还有未完成任务 → **普通模式**:展示下一波 Wave 建议并等待用户签名 → 回到 **Step 1**。**AUTO 模式**:**不得**再问「是否继续下一波」— 直接回到 **Step 1** 并以 **`AUTO`** 签署下一波(展示 Wave 建议即可)。
|
|
504
517
|
- 当前 Sprint 所有任务完成 → 进入 **Step 5**
|
|
505
518
|
- 有阻塞问题 → 引导用户运行相应工作流修复
|
|
506
519
|
|
|
507
520
|
> [!IMPORTANT]
|
|
508
|
-
> **AUTO
|
|
521
|
+
> **AUTO 模式的停止条件**(**仅**以下及上文已声明的等价硬阻塞;**不得**扩展为「征求意见」式停顿):
|
|
509
522
|
>
|
|
510
523
|
> - 命中手动验证且需要用户最终确认
|
|
511
524
|
> - `/change` 评估后发现必须升级到 `/genesis`
|
|
512
525
|
> - 其他工作流要求用户作出新的版本级决定
|
|
526
|
+
> - **§1.4 波前 `code-reviewer`** 产出未解决的 **Critical / High**,且无法在本会话内按 skill 收窄为可执行修复路径(须走 **`/change`** / **`/genesis`** 或用户显式承担风险—**未显式承担则停**)
|
|
513
527
|
>
|
|
514
528
|
> 命中以上任一条件,AUTO 必须立即停止,等待用户批准。
|
|
515
529
|
|
|
@@ -535,12 +549,11 @@ chore(wave): settle wave {N} progress
|
|
|
535
549
|
|
|
536
550
|
---
|
|
537
551
|
|
|
538
|
-
-
|
|
539
|
-
-
|
|
540
|
-
-
|
|
541
|
-
-
|
|
542
|
-
-
|
|
543
|
-
-
|
|
544
|
-
-
|
|
545
|
-
- ✅ 用户已确认波次完成
|
|
552
|
+
- 每个任务的验收标准全部通过
|
|
553
|
+
- 每个任务的遵从性检查全部通过
|
|
554
|
+
- **§1.4 / §3.4.6**:**§4.0** 已满足;§1.4 波前审查或合法豁免已落盘;§3.4.6 已按 **收尾 A/B** 处理(选 A 须有备注),或本波无 E2E/手动态
|
|
555
|
+
- 所有代码已 git commit,message 包含 Task ID
|
|
556
|
+
- 所有任务已完成持久化(`05_TASKS.md`)
|
|
557
|
+
- `AGENTS.md` 当前状态已更新
|
|
558
|
+
- 用户已确认波次完成,或 **AUTO** 已按规则完成结算署名
|
|
546
559
|
|