@house365/comate 0.10.1 → 0.10.2
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/comate-verify/SKILL.md +69 -30
package/package.json
CHANGED
|
@@ -12,7 +12,15 @@ description: "comate 阶段 4:验证与收尾。用 /comate-verify 调用。
|
|
|
12
12
|
|
|
13
13
|
## 步骤
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### 0a. 输出语言约束
|
|
16
|
+
|
|
17
|
+
**在开始任何检查前先确立**:本阶段所有产物——落盘的验证报告、失败项报告、给用户的结论——正文一律简体中文。标题、结论、问题描述、修复建议、表格表头都用中文。
|
|
18
|
+
|
|
19
|
+
以下保留英文原文:严重程度枚举(CRITICAL / WARNING / SUGGESTION)、代码标识符与路径、命令与日志原始输出、`file.ts:123` 形式的引用、技术术语和库名。
|
|
20
|
+
|
|
21
|
+
判断标准:句子主体是中文即合格。不要把英文模板逐句直译成生硬中文,按中文表达重写。
|
|
22
|
+
|
|
23
|
+
### 0b. 入口状态验证
|
|
16
24
|
|
|
17
25
|
```bash
|
|
18
26
|
COMATE="${COMATE:-$(for r in . ./.agents/skills ./.claude/skills ./.cursor/skills ./.codex/skills "$HOME"/.agents/skills "$HOME"/.claude/skills "$HOME"/.config/skills "$HOME"/.cursor/skills "$HOME"/.codex/skills "$HOME"/.gemini/skills; do
|
|
@@ -67,12 +75,12 @@ git diff --stat "$BASE_REF"...HEAD
|
|
|
67
75
|
```
|
|
68
76
|
然后调 `/comate-build`。回到 build 前如实报告:哪些是 CRITICAL 失败项、判定依据、将如何修复。
|
|
69
77
|
|
|
70
|
-
2. **无 CRITICAL,仅 WARNING / SUGGESTION** —— 属"用户决策"(接受偏差是合法选择)。**一次性 AskUserQuestion 批量展示**全部失败项与推荐处理,提供:
|
|
78
|
+
2. **无 CRITICAL,仅 WARNING / SUGGESTION** —— 属"用户决策"(接受偏差是合法选择)。**一次性 AskUserQuestion 批量展示**全部失败项与推荐处理,提供:
|
|
71
79
|
- **全部修复**:`bash "$COMATE" state <name> transition verify-fail` 然后调 `/comate-build`
|
|
72
80
|
- **逐项处理**:勾选要修的项,其余接受偏差
|
|
73
|
-
- **接受偏差**:全部接受,须在报告记录每项原因和影响
|
|
74
|
-
|
|
75
|
-
提问前先写 `phase_step: verify.failure-awaiting`;作出决定后清除或写入对应处理结果。
|
|
81
|
+
- **接受偏差**:全部接受,须在报告记录每项原因和影响
|
|
82
|
+
|
|
83
|
+
提问前先写 `phase_step: verify.failure-awaiting`;作出决定后清除或写入对应处理结果。
|
|
76
84
|
|
|
77
85
|
3. **Spec 漂移** —— 按 Step 2b 的单选题处理(属"用户决策",必须暂停)。
|
|
78
86
|
|
|
@@ -87,23 +95,54 @@ git diff --stat "$BASE_REF"...HEAD
|
|
|
87
95
|
4. 相关测试通过
|
|
88
96
|
5. 无明显安全问题(无硬编码密钥、无新增 unsafe)
|
|
89
97
|
|
|
90
|
-
**通过标准**:5 项全 OK,无 CRITICAL。不通过 → 进入 Step 1b
|
|
98
|
+
**通过标准**:5 项全 OK,无 CRITICAL。不通过 → 进入 Step 1b。报告语言按 Step 0a,骨架可只保留「结论 / 检查项 / 验证证据」三节。
|
|
91
99
|
|
|
92
100
|
### 2b. 完整验证(大改动)
|
|
93
101
|
|
|
94
102
|
规模为「大」时**立即使用 Skill 工具加载 `openspec-verify-change`**。检查项:tasks 全勾、实现符合 design.md 高层决策、符合 Design Doc、能力规格场景全通过、proposal 目标满足、delta spec 与 design doc 无矛盾、关联设计文档可定位。
|
|
95
103
|
|
|
96
|
-
|
|
104
|
+
<!-- external-openspec-skill-override -->
|
|
105
|
+
> **外部 skill 覆写**:加载后**只采用其验证语义**(检查维度、严重程度分级、判定启发式)。其输出形式一律不采用——报告模板、英文标题与结论话术、表格表头都按 Step 0a 的语言约束和 Step 3 的骨架重写,不得照抄。
|
|
106
|
+
|
|
107
|
+
**Spec 漂移处理**(决策阻塞点 4 的一部分):若发现 delta spec 与 design doc 矛盾,**必须以单选题 AskUserQuestion 暂停**:
|
|
97
108
|
- A:在 design doc 追加 "Implementation Divergence" 节记录偏差(属 verify 阶段允许产物,写入后不再触发 Step 1b dirty 决策)
|
|
98
109
|
- B:`state transition verify-fail` 然后调 `/comate-build` 由 Spec 增量更新规则更新
|
|
99
|
-
- C:确认偏差可接受继续(归档时 design doc 标记 `superseded-by-main-spec`)
|
|
100
|
-
|
|
101
|
-
提问前先写 `phase_step: verify.spec-drift-awaiting`。
|
|
110
|
+
- C:确认偏差可接受继续(归档时 design doc 标记 `superseded-by-main-spec`)
|
|
111
|
+
|
|
112
|
+
提问前先写 `phase_step: verify.spec-drift-awaiting`。
|
|
102
113
|
|
|
103
114
|
### 3. 记录验证证据
|
|
104
115
|
|
|
105
116
|
验证报告必须落盘并记录。不要手动设 `verify_result: pass`,通过 guard 自动流转。
|
|
106
117
|
|
|
118
|
+
语言按 Step 0a。参考骨架:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
# 验证报告:<change-name>
|
|
122
|
+
|
|
123
|
+
## 结论
|
|
124
|
+
<通过 / 存在 N 个 CRITICAL,需修复后归档>
|
|
125
|
+
|
|
126
|
+
## 摘要
|
|
127
|
+
| 维度 | 结果 |
|
|
128
|
+
|------|------|
|
|
129
|
+
| 完整性 | X/Y 任务完成,N 条需求 |
|
|
130
|
+
| 正确性 | N 条需求中 M 条有实现覆盖 |
|
|
131
|
+
| 一致性 | 符合设计 / 发现 N 处偏差 |
|
|
132
|
+
|
|
133
|
+
## 问题清单
|
|
134
|
+
### CRITICAL
|
|
135
|
+
- <问题描述>(`path/to/file.ts:123`)→ 建议:<具体动作>
|
|
136
|
+
|
|
137
|
+
### WARNING / SUGGESTION
|
|
138
|
+
- <同上>
|
|
139
|
+
|
|
140
|
+
## 验证证据
|
|
141
|
+
- 构建:<命令与结果>
|
|
142
|
+
- 测试:<命令与结果>
|
|
143
|
+
- 源文件对照:<sources check 结果,无则写"不适用">
|
|
144
|
+
```
|
|
145
|
+
|
|
107
146
|
若本 change 有源文件追踪(`source_kind: file`),报告须声明本实现对照的知识库文档及其版本,并复核未漂移:
|
|
108
147
|
|
|
109
148
|
```bash
|
|
@@ -127,29 +166,29 @@ bash "$COMATE" state <name> set verification_report docs/superpowers/reports/YYY
|
|
|
127
166
|
|
|
128
167
|
**立即执行:** 使用 Skill 工具加载 `superpowers:finishing-a-development-branch`。不可用时停止并提示安装。
|
|
129
168
|
|
|
130
|
-
分支处理选项:本地合并 / 推送建 PR / 保持分支 / 丢弃工作。**必须使用 AskUserQuestion 工具暂停等待用户选择**。规则见 `comate/reference/decision-points.md` 第 5 条。提问前先写:
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
bash "$COMATE" state <name> set phase_step verify.branch-awaiting
|
|
134
|
-
```
|
|
169
|
+
分支处理选项:本地合并 / 推送建 PR / 保持分支 / 丢弃工作。**必须使用 AskUserQuestion 工具暂停等待用户选择**。规则见 `comate/reference/decision-points.md` 第 5 条。提问前先写:
|
|
135
170
|
|
|
136
|
-
|
|
171
|
+
```bash
|
|
172
|
+
bash "$COMATE" state <name> set phase_step verify.branch-awaiting
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
选择本地合并 / 推送建 PR / 保持分支且操作完成后写入状态:
|
|
137
176
|
|
|
138
177
|
```bash
|
|
139
|
-
bash "$COMATE" state <name> set branch_status handled
|
|
140
|
-
bash "$COMATE" state <name> set phase_step verify.branch-handled
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
写入 `branch_status: handled` 后不是退出点。当前 `/comate-verify` 调用必须立即运行:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
bash "$COMATE" guard <name> verify --apply
|
|
147
|
-
test "$(bash "$COMATE" state <name> get phase)" = "archive"
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
guard 成功流转到 `archive` 后,立即加载 `comate-archive` skill;只有 guard 失败或新的用户决策才允许暂停。
|
|
151
|
-
|
|
152
|
-
选择**丢弃工作**时必须写 `branch_status: discarded` 和 `phase_step: verify.discarded`,随后立即停止;不得运行 verify guard、不得设置 `verify_result: pass`、不得归档。若之后要继续该 change,先执行 `state transition <name> verify-fail` 回到 build,再重新实现并生成新的 build handoff。
|
|
178
|
+
bash "$COMATE" state <name> set branch_status handled
|
|
179
|
+
bash "$COMATE" state <name> set phase_step verify.branch-handled
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
写入 `branch_status: handled` 后不是退出点。当前 `/comate-verify` 调用必须立即运行:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
bash "$COMATE" guard <name> verify --apply
|
|
186
|
+
test "$(bash "$COMATE" state <name> get phase)" = "archive"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
guard 成功流转到 `archive` 后,立即加载 `comate-archive` skill;只有 guard 失败或新的用户决策才允许暂停。
|
|
190
|
+
|
|
191
|
+
选择**丢弃工作**时必须写 `branch_status: discarded` 和 `phase_step: verify.discarded`,随后立即停止;不得运行 verify guard、不得设置 `verify_result: pass`、不得归档。若之后要继续该 change,先执行 `state transition <name> verify-fail` 回到 build,再重新实现并生成新的 build handoff。
|
|
153
192
|
|
|
154
193
|
## 退出条件
|
|
155
194
|
|