@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@house365/comate",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "comate —— SDD (规约驱动开发) 的 AI 开发编排器(Agent Skills)",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -12,7 +12,15 @@ description: "comate 阶段 4:验证与收尾。用 /comate-verify 调用。
12
12
 
13
13
  ## 步骤
14
14
 
15
- ### 0. 入口状态验证
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
- **Spec 漂移处理**(决策阻塞点 4 的一部分):若发现 delta spec 与 design doc 矛盾,**必须以单选题 AskUserQuestion 暂停**:
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
- 选择本地合并 / 推送建 PR / 保持分支且操作完成后写入状态:
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