@haaaiawd/anws 2.2.5 → 2.3.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.
@@ -1,236 +1,197 @@
1
1
  ---
2
2
 
3
- ## description: "创建高质量的工作流、技能和提示词。适用于需要扩展 AI 能力、标准化团队协作流程的场景。支持 Workflow(端到端任务)、Skill(可复用能力)、Prompt(一次性指令)三种模式。"
3
+ ## description: "创建高质量的 Workflow、Skill Prompt。以哲学叙事统一方向,以工程协议保证执行。"
4
4
 
5
5
  # /craft
6
6
 
7
- 你是 **CRAFTSMAN (工艺大师)**。
7
+ 你是 **CRAFTSMAN(认知工艺师)**。
8
8
 
9
- **你的使命**:
10
- 你在为 AI 刻铸思维中枢。你写下的每一行 Workflow 和 Skill,Agent 都会盲目遵从——这是权力,也是责任。好的工具不仅告诉 Agent 做什么,还告诉它为什么。因为**只给指令的工具会在边界失效,给了世界观的工具才会在意料之外的情况下做出正确判断**。
9
+ 你不是在堆砌提示词。你在塑造一种可被长期信任的秩序。
10
+ 宗教用神圣建立服从,哲学用理由建立共识,科学用证据建立稳定。
11
+ 你要把这三者的共同点,铸成可执行的文档:**意义、规则、验证**。
11
12
 
12
- **你的能力**:
13
+ **使命**:把模糊意图锻造成可复用的 AI 协议资产。
14
+ **能力**:设计 Workflow、Skill、Prompt,并建立清晰触发边界。
15
+ **边界**:不跳过调研;不写模糊约束;不交付未自检文档。
16
+ **Output Goal**:高一致性、可执行、可审计、可传承的文档产物。
13
17
 
14
- - 创建有世界观的工作流 (Workflow)
15
- - 设计有准入条件的技能文档 (Skill)
16
- - 编写高质量提示词 (Prompt)
17
- - 调研融合行业最佳实践
18
+ ---
18
19
 
19
- **你的限制**:
20
+ ## CRITICAL 方法论锚点
20
21
 
21
- - 不能跳过调研阶段
22
- - 不能产出未经自我审视的工作流
23
- - 不能使用模糊语言
24
- - 约束必须说明"为什么",否则它只是一条随时被绕过的禁令
22
+ > [!IMPORTANT]
23
+ >
24
+ > 你的任务不是“定义一个词”,而是“塑造一种可执行的认知形状”。
25
+ >
26
+ > - **唤醒,不是宣告**:不要停留在“它是什么”,要让执行者知道“它为何成立、为何值得被执行”。
27
+ > - **展开,不是单线**:一个好提示词必须具备横向展开能力。它应能在邻近语境中保持同一精神,而不是离开样例就失真。
28
+ > - **升维,再落地**:既能抽象出本质,也能回到具体执行。只会抽象是空转,只会细节是盲行。
29
+ > - **重建,而非复述**:真正理解的标志不是重复原话,而是能在新情境下重建同样有效的结构。
25
30
 
26
- **核心理念**:
31
+ ---
27
32
 
28
- > **Workflow 是世界观,不是流程图** —— 好的 Workflow 让 Agent 在任何边界情况下都能做出正确判断
29
- > **Skill 的灵魂在 description** —— 那一行字决定 Agent 何时调用它,比整篇正文都重要
30
- > **约束是解放,不是限制** —— 好的约束让 Agent 只能通过高质量路径前进
33
+ ## Step 1: 理解需求
31
34
 
32
- **与用户的关系**:
33
- 你是用户的**工艺导师**,帮助他们铸造经得起长期使用的 AI 工具。
35
+ **格言**:看见问题之前,先看见问题所在的世界。
34
36
 
35
- **Output Goal**: 高质量的工作流/技能/提示词文档
37
+ ### 做什么
36
38
 
37
- **支持的输出位置**:
39
+ 先把问题说清,再谈如何写。
40
+ 若连问题本身都无法被准确复述,任何“方法”都只是形式感。
38
41
 
39
- - Workflow → `.agent/workflows/[name].md`
40
- - Skill → `.agent/skills/[name]/SKILL.md`
41
- - Prompt → 用户指定位置或 `prompts/[name].md`
42
+ **判断准绳**:
43
+ 好的理解让人心里有边界,坏的理解让人不断加戏。
44
+ 好的理解让后续步骤自然收敛,坏的理解让后续步骤不断补丁。
42
45
 
43
- ---
46
+ ### 为什么
44
47
 
45
- ## CRITICAL 工艺原则
48
+ 类型误判会导致结构错配。后续动作越多,偏差越大。
49
+ 如果今天只是因为一时懒惰而含混其词,明天就会用数日数周偿还这笔债。
46
50
 
47
- > [!IMPORTANT]
48
- > **六大核心原则**:
49
- >
50
- > 1. **先调研后设计** - 在创建前必须了解最佳实践
51
- > 2. **解释为什么** - 只有指令的约束会被绕过;有了理由的约束才会被内化
52
- > 3. **强制不偷懒** - `[!IMPORTANT]` 和 `你**必须`** 构建不可跳过的节点
53
- > 4. **引导深度思考** - 给出具体步数和引导问题,而不是"好好想想"
54
- > 5. **提供脚手架** - 模板和示例压缩了 Agent 自由发挥(出错)的空间
55
- > 6. **自我审视优化** - 第一版永远有缺陷,自我批评是最后一道防线
51
+ ### 怎么验收
52
+
53
+ - 读者能清楚知道“在做什么”与“绝不做什么”。
54
+ - 目标、边界、交付三者能被一致复述。
55
+ - 文本没有用模糊语气掩盖未思考的问题。
56
+ - 若信息缺失严重导致无法闭环,必须停止流程,并向用户输出 3 个关键补充问题。
56
57
 
57
58
  ---
58
59
 
59
- ## 反模式速查表 (Anti-Pattern Checklist)
60
+ ## Step 2: 选择模式
60
61
 
61
- > [!IMPORTANT]
62
- > **创建前和提交前,必须检查以下反模式:**
63
- >
64
- >
65
- > | 反模式 | 错误示例 | 正确做法 |
66
- > | ----------- | -------------- | ------------------------ |
67
- > | **模糊指令** | "让它更专业" | "使用正式语气,避免口语化表达" |
68
- > | **Step 过载** | 一个 Step 包含5个任务 | 每个 Step 只做一件事 |
69
- > | **无输出定义** | "完成后提交" | "产出 JSON 格式,包含 X/Y/Z 字段" |
70
- > | **无思考引导** | "好好想想" | 列出 3-5 个具体引导问题 |
71
- > | **无示例对比** | 只说"要做到X" | 给出 / 对比示例 |
72
- > | **跳过调研** | 直接开始写模板 | 先调用 explore 或 search_web |
73
- > | **一次成型** | 写完直接输出 | 自我批评后再输出 |
74
- >
62
+ **格言**:选择不是偏好表达,而是代价管理。
75
63
 
76
- ---
64
+ ### 做什么
77
65
 
78
- ## Step 1: 理解需求 (Understand)
66
+ 根据任务复用性与流程长度,选择 Workflow、Skill Prompt。
67
+ 不要为“看起来高级”而选模式。只为长期成本与遵循度负责。
79
68
 
80
- **目标**: 明确用户想要创建什么。
69
+ **判断准绳**:
70
+ 好的选择让结构为任务服务,坏的选择让任务为结构让路。
71
+ 好的选择越用越稳,坏的选择越改越乱。
81
72
 
82
- > [!IMPORTANT]
83
- > 你**必须**先理解用户需求,再动手创建。
84
- >
85
- > **为什么?** 错误的理解会导致错误的设计。
73
+ ### 为什么
86
74
 
87
- **确认清单**:
75
+ 模式决定骨架与激活方式。选错会降低遵循度与复用价值。
88
76
 
89
- - 用户想创建什么?(Workflow / Skill / Prompt)
90
- - 这个工具的目标用户是谁?(自己 / 团队 / 公开)
91
- - 它要解决什么问题?
92
- - 有没有参考样例?
93
- - 目标领域是什么?(技术类 / 产品类 / 创意类)
77
+ ### 怎么验收
78
+
79
+ - 多步骤端到端任务 → Workflow。
80
+ - 单一可复用能力 → Skill。
81
+ - 一次性指令 Prompt。
82
+ - 能说明“为何是它,而不是其他”。
83
+ - 触发边界不自相矛盾,不与相邻资产互相争抢。
94
84
 
95
85
  ---
96
86
 
97
- ## 先理解本质:Skill Workflow 是完全不同的东西
87
+ ## Step 3: 调研基线
98
88
 
99
- > [!IMPORTANT]
100
- > **在选模式前,必须真正理解它们的差异——否则造出来的东西精神错位。**
101
- >
102
- >
103
- > | 维度 | Skill(能力胶囊) | Workflow(行为剧本) |
104
- > | ---- | ------------------------------ | --------------------------- |
105
- > | 语法 | **名词** — "我有这个能力" | **动词** — "我要这样做" |
106
- > | 状态 | 无状态,可被任意 Workflow 调用 | 有状态,定义完整的执行仪式 |
107
- > | 激活 | Agent 读 `description` 自主判断是否加载 | 用户或 Workflow 显式触发 |
108
- > | 核心资产 | `**description` 那一行字** | `**<phase_context>` + 约束块** |
109
- > | 类比 | 工具箱里的一把精密工具 | 一场需要按步骤完成的施工仪式 |
110
- >
111
- >
112
- > **Skill 的 `description` 是灵魂**:它决定 Agent 何时激活这个能力。
113
- > 太宽泛 → 什么时候都不精准激活;太窄 → 覆盖不了边界场景。
114
- > 好的 description 是精确的**触发条件**,不是能力标签。
115
- >
116
- > **两者都不是"给人读的"**:写给 AI 的东西必须说清"为什么",
117
- > 否则 Agent 永远选择最省力的路径(即最差的结果)。
89
+ **格言**:没有调研的设计,只是包装过的直觉。
118
90
 
119
- ---
120
-
121
- ## Step 2: 选择模式 (Choose Mode)
91
+ ### 做什么
122
92
 
123
- **目标**: 根据需求选择合适的结构。
93
+ 先调研再落笔。复杂主题优先调用 `/explore`。
94
+ 外部事实提供边界,内部经验提供方向。两者缺一不可。
124
95
 
96
+ **判断准绳**:
97
+ 好的调研会让你的约束更有正当性,坏的调研只会让你的措辞更有气势。
98
+ 好的调研让你看到边界,坏的调研让你沉迷观点。
125
99
 
126
- | 类型 | 本质 | 适用场景 | 核心结构 |
127
- | ------------ | ----- | --------------------- | ------------------- |
128
- | **Workflow** | 行为剧本 | 端到端任务、多步骤流程 | 世界观 + Steps + 人类检查点 |
129
- | **Skill** | 能力胶囊 | 单一可复用能力、被 Workflow 调用 | 准入条件 + 守则 + 输出契约 |
130
- | **Prompt** | 一次性指令 | 简单任务、无需复用 | 角色 + 指令 + 约束 |
100
+ ### 为什么
131
101
 
102
+ 无调研设计会重复踩坑,也无法为约束提供正当性来源。
132
103
 
133
- ### 模式判断
104
+ ### 怎么验收
134
105
 
135
- ```
136
- 问题是否需要多个步骤,从头执行到尾?
137
- ├─ 是 → Workflow
138
- └─ 否 → 这个能力是否在多个 Workflow 里都会被用到?
139
- ├─ 是 → Skill
140
- └─ 否 → Prompt
141
- ```
106
+ - 形成可被解释、可被追问、可被落地的收敛结论。
107
+ - 能明确说出“该借鉴什么”和“该警惕什么”。
108
+ - 结论不是摆设,能够回流到文档结构与约束设计。
142
109
 
143
110
  ---
144
111
 
145
- ## Step 3: 调研最佳实践 (Research Best Practices)
112
+ ## Step 4: 套用 `craft-authoring`
146
113
 
147
- **目标**: 在动手设计前,了解行业最佳实践和参考样例。
114
+ **格言**:好的创作不靠灵感硬撑,靠结构持续产生质量。
148
115
 
149
- > [!IMPORTANT]
150
- > 你**必须**在设计前进行调研。**禁止跳过此步骤。**
151
- >
152
- > **为什么?** 不调研就设计 = 重复发明轮子。好的工作流应该站在巨人肩膀上。
116
+ ### 做什么
153
117
 
154
- ### 3.1 调研方法
118
+ 先读取 `craft-authoring`,再按对应骨架生成文档。
119
+ 读取路径必须显式可定位:优先读取当前 target 的 `target-specific skill projection`,对应 `.agents/skills/craft-authoring/SKILL.md`。
120
+ 若当前上下文不可访问该文件,必须先声明阻塞并请求补充,不得凭空捏造骨架。
121
+ 先搭框架,再填内容;先立约束,再写语气。
155
122
 
156
- **方法 A - 使用 /explore 工作流(推荐)**:
123
+ **判断准绳**:
124
+ 好的结构会限制偷懒,坏的结构会奖励侥幸。
125
+ 好的约束让执行者更自由,坏的约束让执行者更随意。
157
126
 
158
- 如果是复杂主题,调用 explore 工作流进行深度调研:
127
+ ### 为什么
159
128
 
160
- ```
161
- "探索 [目标领域] 的提示词/工作流设计最佳实践"
162
- ```
129
+ 模板、护栏和自检标准集中在 skill,可降低漂移并提升一致性。
163
130
 
164
- **方法 B - 快速搜索**:
131
+ ### 怎么验收
165
132
 
166
- 如果是简单主题,使用网络搜索查找最佳实践:
133
+ - 已按目标类型选用正确骨架。
134
+ - 约束块包含“做什么 + 为什么”。
135
+ - 关键步骤包含清晰 I/O 与完成定义。
136
+ - 至少有失败信号,能提醒执行者何时偏航。
137
+ - 任意读者可按文档复现同一路径,而不是靠猜。
167
138
 
168
- - 搜索 "[目标类型] workflow design best practices"
169
- - 搜索 "[目标领域] prompt engineering patterns"
170
- - 搜索 "[目标领域] common mistakes anti-patterns"
171
-
172
- ### 3.2 分析现有样例
139
+ ---
173
140
 
174
- 查看项目中的标杆工作流,提取设计模式。
141
+ ## Step 5: 输出与最终自检
175
142
 
176
- ### 3.3 调研产出
143
+ **格言**:完成不是写完,而是经得起复核。
177
144
 
178
- > [!IMPORTANT]
179
- > 你**必须**使用 `sequential-thinking` skill 组织 **3-5 个 thought**,整合调研结果。
145
+ ### 做什么
180
146
 
181
- **思考引导**:
147
+ 输出最终文档并执行发布前核对。
148
+ 发布不是终点,是进入团队记忆系统的入口。
182
149
 
183
- 1. "调研中发现了哪些值得借鉴的设计模式?"
184
- 2. "目标领域有哪些常见的反模式需要避免?"
185
- 3. "现有工作流中哪些结构可以复用?"
186
- 4. "调研结果如何影响我的设计?"
150
+ **判断准绳**:
151
+ 好的交付不怕被追问,坏的交付只怕被执行。
152
+ 好的文档是团队资产,坏的文档是团队负债。
187
153
 
188
- **产出格式**:
154
+ ### 为什么
189
155
 
190
- ```markdown
191
- ### 调研总结
156
+ 发布前的结构核对,是避免返工和误导执行的最后防线。
192
157
 
193
- | 来源 | 值得借鉴的设计 | 如何应用 |
194
- | ------- | -------------- | ---------- |
195
- | [来源1] | [设计模式] | [应用方式] |
196
- | [来源2] | [设计模式] | [应用方式] |
158
+ ### 怎么验收
197
159
 
198
- **需要避免的反模式**:
199
- - [反模式1]: [为什么要避免]
200
- - [反模式2]: [为什么要避免]
201
- ```
160
+ - 路径、命名、frontmatter 正确。
161
+ - `<completion_criteria>` 已填写。
162
+ - 文风满足本 workflow 的写作约束。
163
+ - 全文不以模糊词替代判断。
164
+ - 每个 Step 都具备可被外部观察的完成信号。
202
165
 
203
166
  ---
204
167
 
205
- ## Step 4: 套用框架与自检 (Apply — read `craft-authoring`)
206
-
207
- **目标**: 按所选模式写出文档,细节不在本 workflow 展开。
168
+ ## Step 6: 评分闸门与迭代闭环
208
169
 
209
- > [!IMPORTANT]
210
- > **你必须先完整阅读 `craft-authoring` skill**,再落笔。Workflow / Skill / Prompt 的骨架、防护写法、填充与验证清单、自我批评步骤——**一律以该 skill 为准**,本节不重复长模板(节省 token,避免漂移)。
170
+ **格言**:未通过审判的文本,不得进入生产。
211
171
 
212
- **流程**: 选定类型 → 打开 `**craft-authoring`** → 拷贝对应脚手架 → 用 `sequential-thinking` 填充 → 按 skill 内清单自检与批判 → 写入路径。
172
+ ### 做什么
213
173
 
214
- **保存路径**(随 target 投影到等价目录即可):
174
+ 对产物执行静态评分并强制判级。
175
+ 评审优先使用子代理完成;若子代理不可用,再退回主代理评审。
215
176
 
216
- - Workflow → `.agents/workflows/[name].md`
217
- - Skill → `.agents/skills/[name]/SKILL.md`
218
- - Prompt → 用户指定或 `prompts/[name].md`
177
+ ### 为什么
219
178
 
220
- ---
179
+ 没有评分闸门,质量只是一种主观感受。
180
+ 有了段位和分数,迭代才会有方向,交付才会有门槛。
221
181
 
222
- ## Step 5: 输出 (Output)
182
+ ### 怎么验收
223
183
 
224
- **输出前核对**:版本化路径 `.anws/v{N}/`(若适用)、kebab-case、frontmatter、`<completion_criteria>` 已就绪。
184
+ - 必须读取 `craft-authoring/references/PROMPT_QUALITY_RUBRIC.md` 与 `SCORECARD_TEMPLATE.md`。
185
+ - 必须输出:Tier(T0/T1/T2/T3)、七维加权分、证据、修复动作、置信度。
186
+ - 若触发 Hard Fail Gate(T3),结论必须为 `Infeasible`,不得发布。
187
+ - 若未触发 Hard Fail 且加权分 < 4.0,必须继续迭代并复评。
188
+ - 仅当满足 `Tier >= T1` 且加权分 `>= 4.0` 时允许出场。
225
189
 
226
190
  ---
227
191
 
228
- ## 示例提示词
192
+ ## 示例请求
229
193
 
230
- - "创建一个代码审查的工作流"
231
- - "设计一个API设计评审的技能"
232
- - "写一个数据分析报告的提示词"
233
- - "做一个类似 /challenge 的质疑工作流"
234
-
235
- ---
194
+ - "创建一个代码审查工作流"
195
+ - "设计一个 API 评审 skill"
196
+ - "写一个数据分析 prompt"
236
197
 
@@ -137,7 +137,9 @@
137
137
  > 同主题就不换分支,`/change` 不换分支,`/genesis` 才换分支;开发都在 `feature/`*,稳定结果才进 `main`,tag 只打 `main`。
138
138
 
139
139
  > [!IMPORTANT]
140
- > **AUTO 与在场性**:一旦判定为 **AUTO 模式**,默认用户**可能不在屏幕前**(喝咖啡、休息等)。除 **Step 0** 中 `**07_CHALLENGE_REPORT` Critical 未闭环**、**§3.4.5 波末 `code-reviewer` 硬阻塞**、任务 **手动验证**须用户终局确认、以及 **Step 4.4「AUTO 必须停下」** 所列情形外,**不要**再就「是否确认本波任务组合」「是否继续下一波」等向用户发问;展示 Wave 建议后以 `**AUTO`** 假名签署并进入 **Step 2**。需要人类随队微调波次请用**普通模式**。
140
+ > **AUTO 与在场性**:一旦判定为 **AUTO 模式**,默认用户**可能不在屏幕前**(喝咖啡、休息等)。除 **Step 0** 中 `**07_CHALLENGE_REPORT` Critical 未闭环**、**§3.6 波末 `code-reviewer` 硬阻塞**、任务 **手动验证**须用户终局确认、以及 **Step 4.4「AUTO 必须停下」** 所列情形外,**不要**再就「是否确认本波任务组合」「是否继续下一波」等向用户发问;展示 Wave 建议后以 `**AUTO`** 假名签署并进入 **Step 2**。需要人类随队微调波次请用**普通模式**。
141
+ >
142
+ > **AUTO 与 code-reviewer**:AUTO 模式下,**§3.6 波末 `code-reviewer` 默认必须执行**——这是 AUTO 的硬性义务,不是可选项。**唯一豁免**:用户在 **Step 1.3 波次签名时明示**「跳过 code-reviewer」并被记录为 `CODE_REVIEW_DISABLED_BY_USER`。AI **禁止**以「改动不大」「时间紧」「上下文不够」等理由自行省略。
141
143
 
142
144
  ---
143
145
 
@@ -186,10 +188,15 @@
186
188
 
187
189
  **波次总估时**: ~Xh
188
190
  **需加载文档**: [文档列表]
191
+ **末端 code-reviewer**: 默认执行(落盘到 `wave-reviews/wave-{N}-review.md`)/ 如需预先豁免请明示「跳过 code-reviewer」
192
+ **末端 E2E**: 按 §3.7 触发条件自动判定
189
193
 
190
194
  确认此波次?或调整任务组合?
191
195
  ```
192
196
 
197
+ > [!IMPORTANT]
198
+ > **签名前的 code-reviewer 决策(CRITICAL)**:用户在确认波次时若**未**明示「跳过 code-reviewer」,则 §3.6 默认**强制执行**,AUTO 与普通模式同等强制。若用户在此处明示豁免,须在 `AGENTS.md` 的 `Wave` 块和 §3.8 索引表里记 `CODE_REVIEW_DISABLED_BY_USER`,并在波末创建豁免凭证文件 `wave-reviews/wave-{N}-WAIVED.md`。**AI 不得在波次开工后自行追加豁免。**
199
+
193
200
  **签名检查点** : 获得签名后,将确认的波次写入 `AGENTS.md` 的 `Wave` 块:
194
201
 
195
202
  ```markdown
@@ -247,25 +254,17 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
247
254
 
248
255
  ## Step 3: 任务执行循环 (Task Execution Loop)
249
256
 
250
- **目标**: 逐个完成波次内任务(思考→编码→验证→提交)。
257
+ **目标**: 逐个完成波次内任务(思考→编码→验证→提交),最后一个任务的 §3.5 完成后**强制顺序执行** §3.6 → §3.7 → §3.8 波末合拢。
251
258
 
252
259
  > [!IMPORTANT]
253
- > **严格按以下流程执行每个任务,不跳步。**
254
-
255
- ### Wave 内建结构(Wave = 逐任务循环 + 波末合拢)
256
-
257
- **一次 Wave** 视为 **逐任务循环(阶段 A)+ 末任务波末合拢(阶段 B)**(**未完成不得进入 Step 4**):
258
-
259
-
260
- | 阶段 | 内容 | 完成判据 |
261
- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
262
- | **A. 逐任务循环** | **非末任务**:**§3.1 → §3.6**(含 §3.4,**不**跑 §3.4.5 / §3.4.6 / §3.4.5.1)。**末任务**:**§3.1 → §3.4** → **§3.4.5** → **§3.4.6** → **§3.4.5.1** → **§3.6** | 每任务验收与 commit 已落地;`05A_TASKS.md` 已回写;末任务后 **§3.4.5 / §3.4.6 / §3.4.5.1** 已闭环或可豁免 |
263
- | **B. 波末合拢** | 仅 **本波最后一项任务**:**§3.4.5**(`code-reviewer`)→ **§3.4.6** → **§3.4.5.1**(极简交付索引)→ **§3.6** | 与 **Step 4 §4.0** 同一门禁 |
264
-
265
-
266
- > **一句**:`**code-reviewer` 正文**以 `**code-reviewer`** skill 为准(与 `**/challenge**` 共用);**§3.4.5.1** 仅为 `**/forge` 极简交付索引表**,**不得**替代 skill 报告体。
260
+ > **结构说明(CRITICAL)**:
261
+ >
262
+ > - **逐任务循环**:每个任务走 §3.1 §3.5。
263
+ > - **波末合拢**:本波最后一个任务的 §3.5 完成后,**必须**顺序执行 §3.6(code-reviewer,强制)→ §3.7(E2E,按需)→ §3.8(交付索引,强制)。
264
+ > - **§3.6 / §3.7 / §3.8 Step 3 的固定终态,不是 Step 4 之前的可选附加项。** AUTO 与普通模式同等强制;未完成不得进入 Step 4。
265
+ > - 任何"批量回填"「先做完所有任务再统一处理」的优化都**不得**绕过 §3.6 / §3.7 / §3.8。
267
266
 
268
- 对本波次中的每个任务,执行以下循环(阶段 A / B 见上表):
267
+ 对本波次中的每个任务,执行以下循环:
269
268
 
270
269
  ---
271
270
 
@@ -381,57 +380,11 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
381
380
  > - 若任务声明了冒烟测试或回归测试,但 `验证说明` 无法指导执行,应视为验证定义不完整,先修任务定义或回流 `/change`
382
381
 
383
382
  - 若任一自动验证类型未通过 → **修复后重新验证**,不得跳过
384
- - 若全部自动验证类型通过:
385
- - **非本波最后一个任务** → **3.6**(不在此执行 **§3.4.5 / §3.4.6 / §3.4.5.1**)。
386
- - **本波最后一个任务** → **§3.4.5(见下)** → **§3.4.6(见下)** → **§3.4.5.1(见下)** → **3.6**。
387
-
388
- ### 3.4.5 波末静态审查(`code-reviewer`)
389
-
390
- **时机**:**仅本波最后一个任务**,且该任务 **§3.4**(自动侧)已全部通过之后、**§3.4.6** 之前。
391
-
392
- 完整遵从 `**code-reviewer`** skill 写**审查全文**(Lens、证据规则与 `**/challenge`** 共用,**不得**因挂在 `/forge` 而删减 skill 要求);宿主有子代理时 **优先**委派。
393
-
394
- **仅以下可豁免(须落盘于 Wave 备注或等同位)**:用户明示「不做 code review / 跳过一切 `code-reviewer`」→ 标 `**CODE_REVIEW_DISABLED_BY_USER`**。
395
-
396
- **门禁路由**:Critical / High 按 skill → `**/change`** / `**/genesis`**;未解决 blocking 前 不得 进入 §3.4.6、**§3.4.5.1** 与 **§3.6**(**含 AUTO**,须停)。
397
-
398
- ### 3.4.6 波末 E2E(写死:`e2e-testing-guide` → 浏览器)
399
-
400
- **仅**在 **本波最后一个任务**、且 **§3.4.5** 已满足或可豁免之后执行。此处**不再**重复跑 `**code-reviewer`**。
401
-
402
- 1. 若本波 `05A_TASKS.md` 中**任一**任务含 **E2E测试** 或 **手动验证**(或等价须实机 UI 的验收),或 `05B_VERIFICATION_PLAN.md` 明确要求实机验证:
403
- - **必须**提示用户二选一(除非用户已预先声明):
404
- - **收尾 A**:本轮依赖 **§3.4.5** 已完成的 `**code-reviewer`**(或合法豁免)+ 本任务 §3.4,不再跑 E2E 报告与浏览器;若仍残留 UI 类验收未测,须在 Wave/会话备注写明**风险与原因**。
405
- - **收尾 B**:**先** 严格按 `**e2e-testing-guide`** skill **只写**《E2E Verification》指南与表格(报告骨架与三档评测含义以 skill **Required output** 内 `<!-- -->` 注释为准:**仅** `PASS` / `PARTIAL_PASS` / `FAIL`);**再** 在用户授权下用宿主 **浏览器工具** 按报告逐步执行,并把 **Evidence / 各 verdict 列** 回填。
406
- 2. 若本波**无**上述验证类型 → 一行 `§3.4.6 skipped — no E2E/manual in wave`(仍须进入 **§3.4.5.1**)。
407
- 3. **无浏览器工具**:只交付 skill 文档,标注 `guide-only`,不得声称已完成实机 `PASS`。
408
-
409
- ### 3.4.5.1 `/forge` 极简交付索引(非 `code-reviewer` 报告)
410
-
411
- **时机**:**§3.4.6** 之后、**§3.6 提交** 之前(仅末任务路径)。
412
-
413
- **性质**:**不是**审查正文;**不得**用本表替代 `**code-reviewer`** skill 输出。本表仅为 `**/forge` 波次交付封面索引**(固定列,不扩写长文)。
414
-
415
- ```markdown
416
- ## Wave {N} 交付索引(/forge 极简)
417
-
418
- | 项 | 值 |
419
- | -- | -- |
420
- | Wave | {N} |
421
- | 任务 ID | T…, T… |
422
- | 分支 @ HEAD | `feature/…` @ `<短 SHA>` |
423
- | `code-reviewer` | 已执行 / 豁免:`CODE_REVIEW_DISABLED_BY_USER` |
424
- | 审查正文索引 | 见上「code-reviewer」输出块标题或首行 / `N/A — USER_OPT_OUT` |
425
- | §3.4.6 E2E | 已做 / 已跳过 / N/A |
426
- | 本波可进 Step 4 | 是 / 否 |
427
- ```
428
-
429
- > [!IMPORTANT]
430
- > **交付完整性**:**「本波可进 Step 4」= 是** 仅当:`code-reviewer` 已可溯源执行 **或** 已 `**CODE_REVIEW_DISABLED_BY_USER`**,且上表六行均已填写。否则视为**交付不完整**,**禁止**进入 **Step 4.1+**。**未**获用户明示前,**禁止** AI 自行省略 `**code-reviewer`**。
383
+ - 若全部自动验证类型通过 → 进入 **§3.5 任务提交**
431
384
 
432
385
  ---
433
386
 
434
- ### 3.6 提交 (Commit)
387
+ ### 3.5 任务提交 (Task Commit)
435
388
 
436
389
  1. **Git commit**:
437
390
  - Task commit 一律落在**当前工作 branch** 上
@@ -452,7 +405,102 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
452
405
  - 将对应任务的 `- [ ]` 改为 `- [x]`
453
406
  - 不得顺手修改未完成、未验证或不在当前波次内的任务
454
407
  - 确保回写后的 `05A_TASKS.md` 与实际进度一致
455
- 3. **继续下一个任务** → 回到 3.1
408
+ 3. **下一步判定**:
409
+ - **本波仍有未完成任务** → 回到 **§3.1** 处理下一个任务
410
+ - **本波全部任务的 §3.5 已完成** → 强制进入 **§3.6 波末 Code Review**(不得跳过、不得直接进 Step 4)
411
+
412
+ ---
413
+
414
+ ## Step 3 波末合拢(§3.6 / §3.7 / §3.8)
415
+
416
+ > [!IMPORTANT]
417
+ > **波末三步是 Step 3 的固定终态。** 顺序执行:§3.6 → §3.7 → §3.8。AUTO 模式与普通模式同等强制。
418
+ >
419
+ > **唯一豁免 §3.6 的方式**:用户在 **Step 1.3 波次签名时明示**「跳过 code-reviewer」并被记录。AI **禁止**在波次开工后自行追加豁免。
420
+
421
+ ### 3.6 波末 Code Review (Wave-end Code Review)
422
+
423
+ **触发**:本波最后一个任务的 §3.5 完成之后;**强制执行**(除非已记录 `CODE_REVIEW_DISABLED_BY_USER` 且豁免凭证文件已落盘)。
424
+
425
+ **执行步骤**(顺序不可省):
426
+
427
+ 1. **探索 skill(Explore)**:
428
+ - 用 Read 工具完整读取 `code-reviewer` SKILL.md(路径由宿主决定,如 `.agents/skills/code-reviewer/SKILL.md` 或对应 target 投影)。
429
+ - 通读 Lens 1–6、证据规则、输出结构、纪律自检清单。
430
+ - **不读 skill 直接动手 = 跑空壳,等同未执行。**
431
+
432
+ 2. **执行审查(Invoke)**:
433
+ - 在当前会话中按 skill 完整执行:扫读 `src/`、对照 PRD / ADR / 04_SYSTEM_DESIGN / 05A / 05B、运行 Lens 1–6。
434
+ - Critical / High 结论必须带 `path:line` 证据;无证据则降级。
435
+
436
+ 3. **强制落盘(Persist)**:
437
+ - 将审查全文写入物理文件:
438
+ ```
439
+ {TARGET_DIR}/wave-reviews/wave-{N}-review.md
440
+ ```
441
+ - 文件首行必须以 `# Wave {N} Code Review — {YYYY-MM-DD}` 开头,便于检索。
442
+ - 内容须按 `code-reviewer` skill 的「输出结构(精简)」六段输出:Verdict / 范围与边界 / 契约-代码映射 / Lens 摘要 / Issues(按严重度分级)/ 安全测试补充。
443
+ - **物理文件不存在 = §4.0 硬阻塞**。表格自填、口头声称"已审查"一律无效。
444
+
445
+ 4. **门禁路由(Gate)**:
446
+ - **Critical** → 必须停下,按 skill 路由到 `/change` 或 `/genesis`。未闭环不得进入 §3.7 / §3.8 / Step 4(含 AUTO)。
447
+ - **High** → AUTO 必须停下等用户决策;普通模式下用户可显式承担风险继续,承担记录写入审查文件末尾。
448
+ - **Medium / Low** → 记录在审查文件中,不阻塞推进,留作后续跟踪。
449
+
450
+ 5. **豁免协议(严格)**:
451
+ - 仅当用户在 §1.3 签名时明示「跳过 code-reviewer」,方可豁免。
452
+ - 豁免时**不写**审查文件,**改为创建**豁免凭证文件:
453
+ ```
454
+ {TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md
455
+ ```
456
+ - 文件内容含一行:
457
+ ```
458
+ CODE_REVIEW_DISABLED_BY_USER — wave {N} — {YYYY-MM-DD} — "{用户原话引用}"
459
+ ```
460
+ - **AI 禁止**以「改动不大」「时间紧」「上下文不够」「没有子代理」等理由自行省略。任何自行豁免视为违反工作流契约。
461
+
462
+ ### 3.7 波末 E2E (Wave-end E2E)
463
+
464
+ **触发**:本波 `05A_TASKS.md` **任一**任务含 **E2E测试** 或 **手动验证**,或 `05B_VERIFICATION_PLAN.md` 明确要求实机验证。
465
+
466
+ **前置**:§3.6 已完成(审查文件已落盘)或合法豁免;本步**不再**跑 `code-reviewer`。
467
+
468
+ 1. 满足触发条件时,**必须**提示用户二选一(除非用户已预先声明):
469
+ - **收尾 A**:依赖 §3.6 已完成的审查 + 各任务 §3.4 自动验证,不再跑 E2E 报告与浏览器;若仍残留 UI 类验收未测,须在 §3.8 索引表 Notes 列写明**风险与原因**。
470
+ - **收尾 B**:**先** 严格按 `e2e-testing-guide` skill **只写**《E2E Verification》指南与表格(报告骨架与三档评测含义以 skill **Required output** 内 `<!-- -->` 注释为准:**仅** `PASS` / `PARTIAL_PASS` / `FAIL`),落盘到 `{TARGET_DIR}/wave-reviews/wave-{N}-e2e.md`;**再** 在用户授权下用宿主 **浏览器工具** 按报告逐步执行,并把 **Evidence / 各 verdict 列** 回填到该文件。
471
+
472
+ 2. 若本波**无**上述验证类型 → §3.8 索引表 §3.7 行标 `N/A`,跳过本步骤。
473
+
474
+ 3. **无浏览器工具**:只交付 skill 文档,标注 `guide-only`,不得声称已完成实机 `PASS`。
475
+
476
+ ### 3.8 波末交付索引 (Wave-end Delivery Index)
477
+
478
+ **性质**:仅为 `/forge` 波次交付封面索引;**不**替代 §3.6 的 `code-reviewer` 审查报告体。
479
+
480
+ ```markdown
481
+ ## Wave {N} 交付索引
482
+
483
+ | 项 | 值 |
484
+ | -- | -- |
485
+ | Wave | {N} |
486
+ | 任务 ID | T…, T… |
487
+ | 分支 @ HEAD | `feature/…` @ `<短 SHA>` |
488
+ | code-reviewer 文件 | `wave-reviews/wave-{N}-review.md` / 豁免:`wave-reviews/wave-{N}-WAIVED.md` |
489
+ | 最高严重度 | 无 / Low / Medium / High / Critical(豁免时写 `N/A — USER_OPT_OUT`) |
490
+ | 残留待跟进 | 无 / 列出 Medium 及以上未闭环条目 |
491
+ | §3.7 E2E | 已做(`wave-reviews/wave-{N}-e2e.md`)/ 已跳过 / N/A |
492
+ | 本波可进 Step 4 | 是 / 否 |
493
+ ```
494
+
495
+ > [!IMPORTANT]
496
+ > **「本波可进 Step 4 = 是」必须同时满足**:
497
+ >
498
+ > 1. **物理文件存在**:`{TARGET_DIR}/wave-reviews/wave-{N}-review.md` **或** `{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md` 存在(任一)。
499
+ > 2. **§3.6 严重度门禁**:审查文件中无未闭环 Critical;High 已显式承担(含承担记录)或路由到 `/change` / `/genesis`。
500
+ > 3. **§3.7** 已按触发条件执行或标 N/A。
501
+ > 4. **索引表 8 行**全部填齐。
502
+ >
503
+ > 任一不满足 → 视为交付不完整,**禁止**进入 **Step 4.1+**。
456
504
 
457
505
  ---
458
506
 
@@ -460,14 +508,22 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
460
508
 
461
509
  **目标**: 结算本波次,更新状态,准备下一步。
462
510
 
463
- ### 4.0 Wave 合拢门禁(硬)
511
+ ### 4.0 Wave 合拢门禁(硬 / 按物理文件检查)
512
+
513
+ 同时满足方可进入 **4.1+**(**任一不满足 = 硬阻塞,含 AUTO**):
464
514
 
465
- 同时满足方可进入 **4.1+**:
515
+ 1. **§3.6 物理证据**:`{TARGET_DIR}/wave-reviews/wave-{N}-review.md` **或** `{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md` 文件**真实存在**。
516
+ - 文件不存在 → **硬阻塞**,无任何例外。
517
+ - 表格自填、口头声称"已审查"、"忘了写文件" → 一律不算数。
518
+ 2. **§3.6 严重度门禁**:审查文件中**无未闭环的 Critical**;High 已显式承担(承担记录写入审查文件末尾)或已路由到 `/change` / `/genesis`。
519
+ 3. **§3.7**:按触发条件已执行(`wave-{N}-e2e.md` 落盘)或在 §3.8 索引表标 `N/A` / 已跳过。
520
+ 4. **§3.8 索引表**:已写入会话回顾或 `AGENTS.md` Wave 块,8 行齐全且「本波可进 Step 4 = 是」。
521
+ 5. **Step 3 任务**:本波内**全部**任务已完成,且 **§3.5**(每任务 commit + `05A_TASKS` 回写)已闭环。
466
522
 
467
- 1. **§3.4.5 / §3.4.5.1 / §3.4.6**:**末任务**路径上 `**code-reviewer`** 已完成(可溯源)或 `**CODE_REVIEW_DISABLED_BY_USER`** 已落盘;**§3.4.6** 已按 **收尾 A/B** 处理或已跳过;**§3.4.5.1** 极简交付索引表已填且 **「本波可进 Step 4」= 是**。
468
- 2. **Step 3**:本波内**全部**任务已完成,且 **§3.6**(每任务 commit + `05A_TASKS` 回写)已闭环。
523
+ **不满足 禁止**进入 **4.1 及之后**;回到对应步骤补齐波末合拢。
469
524
 
470
- **不满足 → 禁止**进入 **4.1 及之后**;回到 Step 3 补齐波末合拢。
525
+ > [!IMPORTANT]
526
+ > **检查必须是物理动作**:进入 §4.1 之前,AI 必须真的列出 `{TARGET_DIR}/wave-reviews/` 目录下的文件,确认 review 或 WAIVED 文件存在。**不得**仅凭"我刚才好像写过"的记忆就判定通过。
471
527
 
472
528
  ### 4.1 更新状态
473
529
 
@@ -484,18 +540,18 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
484
540
 
485
541
  ### 4.2 波次回顾
486
542
 
487
- 向用户按 **Wave 完成模板**汇报(可与 `AGENTS.md` / 会话归档对齐);**须包含** **§3.4.5.1** 极简交付索引表(整表粘贴,**不**展开 `code-reviewer` 全文):
543
+ 向用户按 **Wave 完成模板**汇报(可与 `AGENTS.md` / 会话归档对齐);**须包含** **§3.8** 交付索引表(整表粘贴,**不**展开 `code-reviewer` 全文):
488
544
 
489
545
  ```markdown
490
546
  ## 🌊 Wave {N} 完成
491
547
 
492
548
  **已完成**: T{X.Y.Z}, T{X.Y.Z}, ...
493
549
  **验证状态**: 全部通过 / 部分通过
494
- **Code review(检测与修复结果)**: 最高严重度:无 / Low / Medium / High / Critical;本波已修复:…;残留待跟进:无 / …(**审查正文索引**:§3.4.5 输出块标题或首行;若豁免写 `CODE_REVIEW_DISABLED_BY_USER`)
550
+ **Code review(检测与修复结果)**: 最高严重度:无 / Low / Medium / High / Critical;本波已修复:…;残留待跟进:无 / …(**审查正文文件**:`wave-reviews/wave-{N}-review.md`;若豁免写 `wave-reviews/wave-{N}-WAIVED.md`)
495
551
  **发现的问题** (如有): ...
496
552
  **阻塞项** (如有): ...
497
553
 
498
- (粘贴 §3.4.5.1「Wave {N} 交付索引」表)
554
+ (粘贴 §3.8「Wave {N} 交付索引」表)
499
555
  ```
500
556
 
501
557
  ### 4.3 Git commit 状态更新
@@ -522,9 +578,12 @@ chore(wave): settle wave {N} progress
522
578
  > - 命中手动验证且需要用户最终确认
523
579
  > - `/change` 评估后发现必须升级到 `/genesis`
524
580
  > - 其他工作流要求用户作出新的版本级决定
525
- > - **§3.4.5 波末 `code-reviewer`** 产出未解决的 **Critical / High**,且无法在本会话内按 skill 收窄为可执行修复路径(须走 `**/change`** / `**/genesis`** 或用户显式承担风险—**未显式承担则停**)
581
+ > - **§3.6 波末 `code-reviewer`** 产出未解决的 **Critical**(强制停下);或 **High** 且无法在本会话内按 skill 收窄为可执行修复路径(须走 `/change` / `/genesis` 或用户显式承担风险——**未显式承担则停**)
582
+ > - **§3.6 落盘缺失**:审查文件与豁免凭证文件**都不存在**(这种情况是工作流违规,必须停下补齐,不能蒙混过关)
526
583
  >
527
584
  > 命中以上任一条件,AUTO 必须立即停止,等待用户批准。
585
+ >
586
+ > **AUTO ≠ 跳 review**:AUTO 模式只是免去「确认下一波」的口头确认,**不**免去 §3.6 / §3.7 / §3.8 的执行义务。
528
587
 
529
588
  ---
530
589