@gong-ym/ai-spec-auto 0.2.15 → 0.2.19
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/.agents/commands/common/spec-continue.md +1 -1
- package/.agents/commands/common/spec-start-review.md +1 -1
- package/.agents/commands/common/spec-start.md +1 -1
- package/.agents/commands/common/spec-update.md +2 -2
- package/.agents/commands/cursor/opsx-apply.md +0 -1
- package/.agents/commands/cursor/opsx-propose.md +0 -1
- package/.agents/flows/RUN_OUTPUT.md +0 -2
- package/.agents/flows/common/prd-to-delivery.md +0 -3
- package/.agents/flows/common/requirement-to-observability.md +0 -2
- package/.agents/orchestration/runtime-state-handoff-spec.md +93 -1
- package/.agents/orchestration/task-orchestrator-run-plan-template.md +85 -4
- package/.agents/registry/flows.json +5 -5
- package/.agents/registry/roles.json +13 -27
- package/.agents/roles/common/backend-implementer.md +3 -4
- package/.agents/roles/common/code-guardian.md +2 -3
- package/.agents/roles/common/frontend-implementer.md +3 -4
- package/.agents/roles/common/requirement-analyst.md +32 -18
- package/.agents/roles/common/tooling-implementer.md +3 -4
- package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +1 -1
- package/.agents/rules/common/14-/345/256/241/350/256/241/346/261/207/346/212/245/350/247/204/350/214/203.md +1 -2
- package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +1 -1
- package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +2 -2
- package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +2 -2
- package/.agents/skills/common/archive-change/SKILL.md +0 -1
- package/.agents/skills/common/create-proposal/SKILL.md +7 -8
- package/.agents/skills/common/execute-task/SKILL.md +3 -3
- package/.agents/skills/profiles/react/create-api/SKILL.md +2 -2
- package/.agents/skills/profiles/vue/create-api/SKILL.md +2 -2
- package/bin/archive-change.js +37 -259
- package/bin/cli.js +5 -0
- package/bin/demo-runtime-smoke.js +11 -74
- package/bin/execution-semantics.js +4 -17
- package/bin/expert-executor.js +4 -7
- package/bin/protocol-workflow.js +7 -2
- package/bin/refresh-command.js +185 -0
- package/bin/runtime-state.js +18 -14
- package/bin/task-orchestrator-runner.js +2 -2
- package/internal/ai-protocol-workflow.js +80 -119
- package/openspec/config.yaml.template +6 -15
- package/openspec/schemas/expert-delivery/schema.yaml +0 -11
- package/openspec/schemas/expert-delivery/templates/checklist.md +12 -30
- package/openspec/schemas/expert-delivery/templates/iterations.md +6 -22
- package/openspec/schemas/expert-delivery/templates/proposal.md +7 -35
- package/openspec/schemas/expert-delivery/templates/tasks.md +7 -20
- package/package.json +1 -1
- package/scripts/post-publish-auto-fix-check.js +5 -61
- package/openspec/schemas/expert-delivery/templates/design.md +0 -61
|
@@ -22,16 +22,6 @@ artifacts:
|
|
|
22
22
|
requires:
|
|
23
23
|
- proposal
|
|
24
24
|
|
|
25
|
-
- id: design
|
|
26
|
-
generates: design.md
|
|
27
|
-
description: 技术设计与实现方案
|
|
28
|
-
template: design.md
|
|
29
|
-
instruction: |
|
|
30
|
-
创建技术设计文档,说明当前仓库中应如何落地这项变更。
|
|
31
|
-
优先复用现有结构,避免与本次变更无关的重构。
|
|
32
|
-
requires:
|
|
33
|
-
- proposal
|
|
34
|
-
|
|
35
25
|
- id: tasks
|
|
36
26
|
generates: tasks.md
|
|
37
27
|
description: 可执行任务清单
|
|
@@ -41,7 +31,6 @@ artifacts:
|
|
|
41
31
|
任务必须具体、可验证,并严格限定在已批准的变更范围内。
|
|
42
32
|
requires:
|
|
43
33
|
- specs
|
|
44
|
-
- design
|
|
45
34
|
|
|
46
35
|
- id: checklist
|
|
47
36
|
generates: checklist.md
|
|
@@ -1,39 +1,21 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 检查结论
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
- [ ] 已完成任务已真实反映在代码和配套文件中
|
|
5
|
-
- [ ] 项目的目录、路由、接口、样式、测试等规则已满足
|
|
3
|
+
### 通过
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
- [ ] specs 与实现一致
|
|
6
|
+
- [ ] 项目规则已满足
|
|
7
|
+
- [ ] 未超出批准范围
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- [ ] typecheck(类型检查):
|
|
11
|
-
- [ ] test(测试):
|
|
12
|
-
- [ ] build(构建):
|
|
13
|
-
|
|
14
|
-
### 浏览器验证摘要
|
|
9
|
+
### 验证
|
|
15
10
|
|
|
11
|
+
- [ ] lint:
|
|
12
|
+
- [ ] build:
|
|
16
13
|
- [ ] 页面可访问:
|
|
17
|
-
- [ ] 关键路径可执行:
|
|
18
|
-
- [ ] console(控制台) 检查:
|
|
19
|
-
|
|
20
|
-
### 范围一致性
|
|
21
|
-
|
|
22
|
-
- [ ] 当前实现未超出 proposal、design、tasks 已批准范围
|
|
23
|
-
|
|
24
|
-
### 组件复用检查
|
|
25
|
-
|
|
26
|
-
- [ ] 已记录复用组件、组件缺口和重复实现风险
|
|
27
|
-
|
|
28
|
-
## 未通过项
|
|
29
|
-
|
|
30
|
-
- [ ] 记录未满足需求或项目规则的项
|
|
31
14
|
|
|
32
|
-
|
|
15
|
+
### 未通过 / 阻断
|
|
33
16
|
|
|
34
|
-
|
|
17
|
+
<!-- 未满足的项和必须解决的问题。 -->
|
|
35
18
|
|
|
36
|
-
|
|
19
|
+
### 建议
|
|
37
20
|
|
|
38
|
-
<!--
|
|
39
|
-
<!-- 建议同步给出完成内容、验证摘要和是否适合继续交接或归档。 -->
|
|
21
|
+
<!-- 继续推进 / 带风险推进 / 阻断。 -->
|
|
@@ -1,25 +1,9 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 问题与修正
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
-
|
|
5
|
-
- 影响范围:
|
|
6
|
-
- 关联证据:
|
|
3
|
+
- 发现了什么:
|
|
4
|
+
- 怎么修的:
|
|
7
5
|
|
|
8
|
-
##
|
|
6
|
+
## 残留与提醒
|
|
9
7
|
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- 待跟进动作:
|
|
13
|
-
|
|
14
|
-
## 残留风险
|
|
15
|
-
|
|
16
|
-
- [ ] 记录仍然存在的风险、警告或延后项
|
|
17
|
-
- 风险说明:
|
|
18
|
-
- 触发条件:
|
|
19
|
-
- 建议缓解方式:
|
|
20
|
-
|
|
21
|
-
## 下轮提醒
|
|
22
|
-
|
|
23
|
-
- [ ] 记录下一轮协作或后续变更的提醒
|
|
24
|
-
- 下一轮关注点:
|
|
25
|
-
- 交接说明:
|
|
8
|
+
- 还剩下什么风险:
|
|
9
|
+
- 下轮注意:
|
|
@@ -1,45 +1,17 @@
|
|
|
1
1
|
## 目标
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<!-- 说明这项变更要解决的业务问题、目标用户或交付价值。 -->
|
|
6
|
-
|
|
7
|
-
### 工程目标
|
|
8
|
-
|
|
9
|
-
<!-- 说明本次变更对目录、接口、状态、样式、测试或交付流程的工程目标。 -->
|
|
10
|
-
|
|
11
|
-
### 变更对象与入口
|
|
12
|
-
|
|
13
|
-
<!-- 记录页面、模块、路由、接口、状态、样式、脚本或命令入口。 -->
|
|
14
|
-
|
|
15
|
-
### 设计链接
|
|
16
|
-
|
|
17
|
-
<!-- 记录 Figma(设计稿)、PRD(需求文档)、原型、议题或其他背景材料。 -->
|
|
18
|
-
|
|
19
|
-
### 组件复用约束(可选)
|
|
20
|
-
|
|
21
|
-
<!-- 记录优先复用的组件、禁止重复实现的能力,以及当前识别出的组件库缺口。 -->
|
|
3
|
+
<!-- 业务问题、目标用户、交付价值,以及对目录/接口/状态/样式的工程目标。 -->
|
|
22
4
|
|
|
23
5
|
## 范围
|
|
24
6
|
|
|
25
|
-
###
|
|
26
|
-
|
|
27
|
-
<!-- 列出本次明确包含的内容,尽量写成可验证的交付项。 -->
|
|
28
|
-
|
|
29
|
-
### Out of Scope(排除范围)
|
|
30
|
-
|
|
31
|
-
<!-- 列出当前不做的内容,避免实现阶段静默扩范围。 -->
|
|
32
|
-
|
|
33
|
-
## 非目标
|
|
7
|
+
### 纳入
|
|
34
8
|
|
|
35
|
-
<!--
|
|
9
|
+
<!-- 可验证的交付项。 -->
|
|
36
10
|
|
|
37
|
-
|
|
11
|
+
### 排除
|
|
38
12
|
|
|
39
|
-
<!--
|
|
40
|
-
<!-- 建议覆盖:仓库事实、组件库缺口、验证边界、外部依赖和上下游配合方式。 -->
|
|
13
|
+
<!-- 不做的内容、不追求的目标、暂不处理的方向。 -->
|
|
41
14
|
|
|
42
|
-
##
|
|
15
|
+
## 约束与风险
|
|
43
16
|
|
|
44
|
-
<!--
|
|
45
|
-
<!-- 建议覆盖:关键依赖、组件库限制、验证证据、上线或归档前置条件。 -->
|
|
17
|
+
<!-- 设计稿/PRD 链接、组件复用约定、默认假设、未确认项和高风险点。 -->
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 子任务
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
- [ ] 每个子任务都要写明目标、输入、输出、验证点和依赖或前置条件
|
|
5
|
-
- [ ] 任务必须可执行、可验证、可交接,不得只写模糊动作
|
|
6
|
-
- [ ] 如发现范围变化,先更新 proposal.md、design.md 和 tasks.md,再继续实现
|
|
3
|
+
### 1.
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
- [ ] 做什么:
|
|
6
|
+
- [ ] 怎么验:
|
|
9
7
|
|
|
10
|
-
###
|
|
8
|
+
### 2.
|
|
11
9
|
|
|
12
|
-
- [ ]
|
|
13
|
-
- [ ]
|
|
14
|
-
- [ ] 输出:
|
|
15
|
-
- [ ] 验证点:
|
|
16
|
-
- [ ] 依赖或前置条件:
|
|
17
|
-
|
|
18
|
-
### 子任务 2
|
|
19
|
-
|
|
20
|
-
- [ ] 目标:
|
|
21
|
-
- [ ] 输入:
|
|
22
|
-
- [ ] 输出:
|
|
23
|
-
- [ ] 验证点:
|
|
24
|
-
- [ ] 依赖或前置条件:
|
|
10
|
+
- [ ] 做什么:
|
|
11
|
+
- [ ] 怎么验:
|
package/package.json
CHANGED
|
@@ -111,7 +111,7 @@ function seedOpenSpecArtifacts(baseDir) {
|
|
|
111
111
|
'- 新增一个商品组件演示页,验证 auto-fix 回环。',
|
|
112
112
|
'',
|
|
113
113
|
'### 工程目标',
|
|
114
|
-
'- 验证结构化的 proposal
|
|
114
|
+
'- 验证结构化的 proposal 和 tasks 仍能支撑 auto-fix 回环。',
|
|
115
115
|
'',
|
|
116
116
|
'### 变更对象与入口',
|
|
117
117
|
'- 页面入口:`src/views`',
|
|
@@ -128,7 +128,7 @@ function seedOpenSpecArtifacts(baseDir) {
|
|
|
128
128
|
'',
|
|
129
129
|
'### In Scope(纳入范围)',
|
|
130
130
|
'- 页面放在 src/views,保留最小 mock 数据与组件结构。',
|
|
131
|
-
'- 输出结构化的
|
|
131
|
+
'- 输出结构化的 tasks.md。',
|
|
132
132
|
'',
|
|
133
133
|
'### Out of Scope(排除范围)',
|
|
134
134
|
'- 不接真实 API(接口)。',
|
|
@@ -158,67 +158,11 @@ function seedOpenSpecArtifacts(baseDir) {
|
|
|
158
158
|
'- **则** 页面展示本地 mock 列表且不请求真实接口',
|
|
159
159
|
].join('\n'));
|
|
160
160
|
|
|
161
|
-
writeFile(baseDir, 'openspec/changes/runtime-smoke-demo/design.md', [
|
|
162
|
-
'# 技术设计',
|
|
163
|
-
'',
|
|
164
|
-
'## 方案概览',
|
|
165
|
-
'- 维持最小页面结构,用结构化 design 文本承接 auto-fix 需要的上下文。',
|
|
166
|
-
'',
|
|
167
|
-
'## 仓库对齐',
|
|
168
|
-
'',
|
|
169
|
-
'### 页面与路由落点',
|
|
170
|
-
'- 页面落在 src/views',
|
|
171
|
-
'- 路由落在 src/router/modules',
|
|
172
|
-
'',
|
|
173
|
-
'### 接口与数据落点',
|
|
174
|
-
'- mock 数据落在 src/mock',
|
|
175
|
-
'- 当前示例不接真实 API(接口)',
|
|
176
|
-
'',
|
|
177
|
-
'### 状态与样式落点',
|
|
178
|
-
'- 不新增全局状态管理',
|
|
179
|
-
'- 样式维持最小占位结构',
|
|
180
|
-
'',
|
|
181
|
-
'### 测试与组件库落点',
|
|
182
|
-
'- auto-fix 脚本负责验证 build(构建) 失败后的回环',
|
|
183
|
-
'- 当前示例不额外引入组件库约束',
|
|
184
|
-
'',
|
|
185
|
-
'## 关键决策',
|
|
186
|
-
'',
|
|
187
|
-
'### 信息结构',
|
|
188
|
-
'- 页面和数据结构保持最小,聚焦 auto-fix 回环。',
|
|
189
|
-
'',
|
|
190
|
-
'### 状态管理方案',
|
|
191
|
-
'- 直接读取本地 mock 数据,不引入额外状态层。',
|
|
192
|
-
'',
|
|
193
|
-
'### 组件复用策略',
|
|
194
|
-
'- 优先复用仓库现有目录和文件落点。',
|
|
195
|
-
'',
|
|
196
|
-
'### 禁止重复实现的能力',
|
|
197
|
-
'- 不重复实现路由基础设施和构建脚本。',
|
|
198
|
-
'',
|
|
199
|
-
'### 组件缺口',
|
|
200
|
-
'- 当前示例不识别新的组件缺口。',
|
|
201
|
-
'',
|
|
202
|
-
'## 数据与接口变更',
|
|
203
|
-
'- 不新增真实请求、响应或跨模块契约。',
|
|
204
|
-
'',
|
|
205
|
-
'## 验证说明',
|
|
206
|
-
'',
|
|
207
|
-
'### 本地验证',
|
|
208
|
-
'- auto-fix 脚本通过 build 失败再修复的方式验证回环。',
|
|
209
|
-
'',
|
|
210
|
-
'### 浏览器验证',
|
|
211
|
-
'- 当前示例不接真实浏览器验证。',
|
|
212
|
-
'',
|
|
213
|
-
'### 关键验收路径',
|
|
214
|
-
'- 产物落盘后进入 frontend-implementer,再由 auto-fix 验证回环。',
|
|
215
|
-
].join('\n'));
|
|
216
|
-
|
|
217
161
|
writeFile(baseDir, 'openspec/changes/runtime-smoke-demo/tasks.md', [
|
|
218
162
|
'# 实施任务',
|
|
219
163
|
'',
|
|
220
164
|
'## 执行总原则',
|
|
221
|
-
'- [ ] 任务必须限定在 proposal.md
|
|
165
|
+
'- [ ] 任务必须限定在 proposal.md 和 specs 已批准范围内',
|
|
222
166
|
'- [ ] 每个子任务都要写明目标、输入、输出、验证点和依赖或前置条件',
|
|
223
167
|
'',
|
|
224
168
|
'## 子任务清单',
|
|
@@ -228,11 +172,11 @@ function seedOpenSpecArtifacts(baseDir) {
|
|
|
228
172
|
'- [ ] 输入:proposal.md、specs/ui/spec.md、现有目录约定',
|
|
229
173
|
'- [ ] 输出:页面文件和最小组件结构',
|
|
230
174
|
'- [ ] 验证点:页面文件存在且仍使用本地 mock 数据',
|
|
231
|
-
'- [ ] 依赖或前置条件:proposal、specs
|
|
175
|
+
'- [ ] 依赖或前置条件:proposal、specs 已完成',
|
|
232
176
|
'',
|
|
233
177
|
'### 子任务 2',
|
|
234
178
|
'- [ ] 目标:补齐路由入口与懒加载配置',
|
|
235
|
-
'- [ ] 输入:
|
|
179
|
+
'- [ ] 输入:proposal.md、现有路由目录约定',
|
|
236
180
|
'- [ ] 输出:路由模块文件',
|
|
237
181
|
'- [ ] 验证点:路由仍能指向演示页面',
|
|
238
182
|
'- [ ] 依赖或前置条件:页面路径已确定',
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
## 方案概览
|
|
2
|
-
|
|
3
|
-
<!-- 结合当前仓库上下文,概述本次实现方案。 -->
|
|
4
|
-
|
|
5
|
-
## 仓库对齐
|
|
6
|
-
|
|
7
|
-
### 页面与路由落点
|
|
8
|
-
|
|
9
|
-
<!-- 说明页面文件、路由模块、导航入口和懒加载边界。 -->
|
|
10
|
-
|
|
11
|
-
### 接口与数据落点
|
|
12
|
-
|
|
13
|
-
<!-- 说明 API(接口) 封装、数据来源、mock(模拟数据) 或响应契约落点。 -->
|
|
14
|
-
|
|
15
|
-
### 状态与样式落点
|
|
16
|
-
|
|
17
|
-
<!-- 说明状态层、缓存策略、主题变量和样式入口。 -->
|
|
18
|
-
|
|
19
|
-
### 测试与组件库落点
|
|
20
|
-
|
|
21
|
-
<!-- 说明测试文件、验证脚本、组件目录和组件库约束的对应位置。 -->
|
|
22
|
-
|
|
23
|
-
## 关键决策
|
|
24
|
-
|
|
25
|
-
### 信息结构
|
|
26
|
-
|
|
27
|
-
<!-- 说明页面结构、模块边界或信息分层,以及为什么这样拆分。 -->
|
|
28
|
-
|
|
29
|
-
### 状态管理方案
|
|
30
|
-
|
|
31
|
-
<!-- 说明查询状态、列表状态、表单状态或跨模块状态如何组织。 -->
|
|
32
|
-
|
|
33
|
-
### 组件复用策略
|
|
34
|
-
|
|
35
|
-
<!-- 说明优先复用的组件、页面实际组合方式和复用理由。 -->
|
|
36
|
-
|
|
37
|
-
### 禁止重复实现的能力
|
|
38
|
-
|
|
39
|
-
<!-- 说明哪些已有能力必须复用,避免在本次变更中重复实现。 -->
|
|
40
|
-
|
|
41
|
-
### 组件缺口
|
|
42
|
-
|
|
43
|
-
<!-- 如现有组件或基础能力无法满足需求,在这里记录缺口和临时处理方式。 -->
|
|
44
|
-
|
|
45
|
-
## 数据与接口变更
|
|
46
|
-
|
|
47
|
-
<!-- 说明请求/响应、状态更新、props、事件或契约变化。 -->
|
|
48
|
-
|
|
49
|
-
## 验证说明
|
|
50
|
-
|
|
51
|
-
### 本地验证
|
|
52
|
-
|
|
53
|
-
<!-- 说明 lint(静态检查)、typecheck(类型检查)、test(测试)、build(构建) 或其他本地验证策略。 -->
|
|
54
|
-
|
|
55
|
-
### 浏览器验证
|
|
56
|
-
|
|
57
|
-
<!-- 说明页面可访问性、关键交互路径、console(控制台) 检查或 UI(界面) 验收方式。 -->
|
|
58
|
-
|
|
59
|
-
### 关键验收路径
|
|
60
|
-
|
|
61
|
-
<!-- 说明最关键的端到端路径、失败信号和交付前必须看到的验证证据。 -->
|