@shirayner/ace 0.1.4 → 0.1.5

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,218 +0,0 @@
1
- # 设计问题清单
2
-
3
- ## 变更信息
4
- - **变更名称**: [change-name]
5
- - **当前阶段**: `analyzing` | `clarifying` | `clarified` | `resolved`
6
- - **最后更新**: [YYYY-MM-DD]
7
- - **下次检查**: [YYYY-MM-DD]
8
-
9
- ---
10
-
11
- ## 设计维度问题矩阵
12
-
13
- <!--
14
- 说明:
15
- 1. 按设计问题分类学维度组织
16
- 2. 每个设计维度下列出具体问题
17
- 3. 问题 ID 格式:D[维度序号]-[序号] 例如 D1-001
18
- -->
19
-
20
- ---
21
-
22
- ### 维度 1: 架构决策
23
-
24
- #### 问题列表
25
-
26
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
27
- |---------|----------|----------|------|----------|
28
- | D1-001 | [如:架构模式选择未定] | 🔴 High / 🟡 Medium / 🟢 Low | `open` / `clarifying` / `clarified` | [决策结论] |
29
- | D1-002 | [如:服务边界划分不清晰] | | | |
30
-
31
- **D1-001 详细说明**:
32
- - **问题类型**: 架构方案不确定
33
- - **具体表现**: [详细描述]
34
- - **影响范围**: [对系统的影响]
35
- - **可选方案**:
36
- - A) [描述 + 优缺点]
37
- - B) [描述 + 优缺点]
38
- - C) [描述 + 优缺点]
39
- - D) 自定义...
40
- - **决策结果**: [交互式澄清后的决策]
41
- - **决策理由**: [为什么选这个方案]
42
- - **澄清时间**: [YYYY-MM-DD]
43
- - **澄清人**: [@name]
44
-
45
- ---
46
-
47
- ### 维度 2: 技术选型
48
-
49
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
50
- |---------|----------|----------|------|----------|
51
- | D2-010 | [如:消息队列选型未定] | | | |
52
- | D2-011 | [如:缓存方案未确定] | | | |
53
-
54
- **D2-010 详细说明**:
55
- - **问题类型**: 核心框架/库未确定
56
- - **具体表现**:
57
- - **影响范围**:
58
- - **可选方案**:
59
- - **决策结果**:
60
- - **决策理由**:
61
-
62
- ---
63
-
64
- ### 维度 3: 接口设计
65
-
66
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
67
- |---------|----------|----------|------|----------|
68
- | D3-020 | [如:API 版本管理策略未定] | | | |
69
-
70
- **D3-020 详细说明**:
71
- - **问题类型**: API 契约未定 / 数据流不清晰 / 异步处理机制
72
- - **具体表现**:
73
- - **影响范围**:
74
- - **可选方案**:
75
- - **决策结果**:
76
- - **决策理由**:
77
-
78
- ---
79
-
80
- ### 维度 4: 数据与状态
81
-
82
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
83
- |---------|----------|----------|------|----------|
84
- | D4-030 | [如:订单状态机未定义] | | | |
85
-
86
- **D4-030 详细说明**:
87
- - **问题类型**: 数据模型未定 / 状态机未定义 / 数据迁移方案
88
- - **具体表现**:
89
- - **影响范围**:
90
- - **可选方案**:
91
- - **决策结果**:
92
- - **决策理由**:
93
-
94
- ---
95
-
96
- ### 维度 5: 安全与合规
97
-
98
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
99
- |---------|----------|----------|------|----------|
100
- | D5-040 | [如:权限模型未设计] | | | |
101
-
102
- **D5-040 详细说明**:
103
- - **问题类型**: 认证授权未设计 / 数据安全 / 审计与日志
104
- - **具体表现**:
105
- - **影响范围**:
106
- - **可选方案**:
107
- - **决策结果**:
108
- - **决策理由**:
109
-
110
- ---
111
-
112
- ### 维度 6: 性能与可靠性
113
-
114
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
115
- |---------|----------|----------|------|----------|
116
- | D6-050 | [如:缓存一致性策略未定] | | | |
117
-
118
- **D6-050 详细说明**:
119
- - **问题类型**: 性能瓶颈未识别 / 缓存策略未定 / 降级与熔断
120
- - **具体表现**:
121
- - **影响范围**:
122
- - **可选方案**:
123
- - **决策结果**:
124
- - **决策理由**:
125
-
126
- ---
127
-
128
- ### 维度 7: 部署与运维
129
-
130
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 决策结果 |
131
- |---------|----------|----------|------|----------|
132
- | D7-060 | [如:灰度发布策略未定] | | | |
133
-
134
- **D7-060 详细说明**:
135
- - **问题类型**: 部署方案未定 / 监控告警 / 配置管理
136
- - **具体表现**:
137
- - **影响范围**:
138
- - **可选方案**:
139
- - **决策结果**:
140
- - **决策理由**:
141
-
142
- ---
143
-
144
- ## 问题统计
145
-
146
- | 设计维度 | 总计 | 已澄清 | 待澄清 | 已解决 |
147
- |----------|------|--------|--------|--------|
148
- | 架构决策 | 0 | 0 | 0 | 0 |
149
- | 技术选型 | 0 | 0 | 0 | 0 |
150
- | 接口设计 | 0 | 0 | 0 | 0 |
151
- | 数据与状态 | 0 | 0 | 0 | 0 |
152
- | 安全与合规 | 0 | 0 | 0 | 0 |
153
- | 性能与可靠性 | 0 | 0 | 0 | 0 |
154
- | 部署与运维 | 0 | 0 | 0 | 0 |
155
- | **总计** | 0 | 0 | 0 | 0 |
156
-
157
- ---
158
-
159
- ## 澄清记录
160
-
161
- ### 交互式澄清会话 1: [YYYY-MM-DD]
162
- - **参与者**: [@name1, @name2, ...]
163
- - **澄清模式**: 命令行交互式
164
- - **澄清的问题**: [问题 ID 列表]
165
- - **设计决策**:
166
- 1. [决策 1]
167
- 2. [决策 2]
168
- - **设计变更**: [design.md 的更新内容]
169
- - **任务调整**: [tasks.md 的调整]
170
-
171
- ### 交互式澄清会话 2: [YYYY-MM-DD]
172
-
173
- [同上结构...]
174
-
175
- ---
176
-
177
- ## 状态流转说明
178
-
179
- ```
180
- analyzing: AI 正在分析设计方案,发现问题
181
- → 发现问题后自动转为 clarifying
182
-
183
- clarifying: 问题已列出,等待交互式澄清
184
- → 使用命令行界面一问一答澄清
185
- → 每题回答后立即同步到本文档
186
- → 支持 'q' 退出,下次自动恢复
187
- → 支持 's' 跳过 Low 优先级问题
188
-
189
- clarified: 所有 High 和 Medium 问题已澄清
190
- → 可以创建/更新 tasks
191
- → 根据澄清更新 design.md
192
- → 状态可转为 resolved
193
-
194
- resolved: 设计已根据澄清更新,问题已解决
195
- → 可以创建/更新 tasks
196
- ```
197
-
198
- **当前状态**: `[current-status]`
199
-
200
- **状态变更历史**:
201
- - [YYYY-MM-DD]: `analyzing` → `clarifying` (AI 完成问题分析)
202
- - [YYYY-MM-DD]: `clarifying` → `clarified` (完成澄清会话 1)
203
- - [YYYY-MM-DD]: `clarified` → `resolved` (design.md 已更新)
204
-
205
- ---
206
-
207
- ## 关联文档
208
-
209
- - **技术方案**: `design.md`
210
- - **实施任务**: `tasks.md`
211
- - **需求问题清单**: `spec/requirement-issues.md`
212
- - **分类学参考**: `openspec/templates/design-issue-taxonomy.md`
213
-
214
- ---
215
-
216
- ## 备注
217
-
218
- <!-- 任何补充说明 -->
@@ -1,214 +0,0 @@
1
- # 需求问题清单
2
-
3
- ## 变更信息
4
- - **变更名称**: [change-name]
5
- - **当前阶段**: `discovering` | `clarifying` | `clarified` | `superseded`
6
- - **最后更新**: [YYYY-MM-DD]
7
- - **下次检查**: [YYYY-MM-DD]
8
-
9
- ---
10
-
11
- ## 功能点问题矩阵
12
-
13
- <!--
14
- 说明:
15
- 1. 按 OpenSpec Capabilities 结构组织
16
- 2. 每个功能点下按问题分类维度列出具体问题
17
- 3. 问题 ID 格式:R[功能点序号]-[分类序号][序号] 例如 R1-001
18
- -->
19
-
20
- ---
21
-
22
- ### 功能点 1: [功能点名称]
23
-
24
- #### 基本信息
25
- - **功能点 ID**: [kebab-case-id]
26
- - **对应 Spec**: `specs/[功能点ID]/spec.md`
27
- - **优先级**: P0 / P1 / P2
28
- - **负责人**: [@name]
29
-
30
- #### 问题列表
31
-
32
- ##### 1. 功能完整性问题
33
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
34
- |---------|----------|----------|------|----------|
35
- | R1-001 | [一句话描述问题] | 🔴 High / 🟡 Medium / 🟢 Low | `open` / `clarifying` / `clarified` | [澄清后的结论] |
36
- | R1-002 | | | | |
37
-
38
- **R1-001 详细说明**:
39
- - **问题类型**: 功能边界模糊 / 功能流程缺失 / 功能依赖未说明
40
- - **具体表现**: [详细描述问题现象,引用需求原文]
41
- - **影响范围**: [如果不澄清会导致什么后果]
42
- - **建议选项**:
43
- - A) [选项A描述]
44
- - B) [选项B描述]
45
- - C) [选项C描述]
46
- - D) 自定义...
47
- - **澄清后**: [交互式澄清后自动填写]
48
- - **澄清时间**: [YYYY-MM-DD]
49
- - **澄清人**: [@name]
50
-
51
- ---
52
-
53
- ##### 2. 数据相关问题
54
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
55
- |---------|----------|----------|------|----------|
56
- | R1-010 | | | | |
57
- | R1-011 | | | | |
58
-
59
- **R1-010 详细说明**:
60
- - **问题类型**: 数据定义模糊 / 数据量级未明确 / 数据一致性问题
61
- - **具体表现**:
62
- - **影响范围**:
63
- - **建议选项**:
64
- - **澄清后**:
65
-
66
- ---
67
-
68
- ##### 3. 用户体验问题
69
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
70
- |---------|----------|----------|------|----------|
71
- | R1-020 | | | | |
72
- | R1-021 | | | | |
73
-
74
- **R1-020 详细说明**:
75
- - **问题类型**: 用户场景缺失 / 交互方式未确定 / 性能体验要求
76
- - **具体表现**:
77
- - **影响范围**:
78
- - **建议选项**:
79
- - **澄清后**:
80
-
81
- ---
82
-
83
- ##### 4. 边界与异常
84
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
85
- |---------|----------|----------|------|----------|
86
- | R1-030 | | | | |
87
- | R1-031 | | | | |
88
-
89
- **R1-030 详细说明**:
90
- - **问题类型**: 边界条件未定义 / 异常场景缺失 / 权限与安全
91
- - **具体表现**:
92
- - **影响范围**:
93
- - **建议选项**:
94
- - **澄清后**:
95
-
96
- ---
97
-
98
- ##### 5. 集成与依赖
99
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
100
- |---------|----------|----------|------|----------|
101
- | R1-040 | | | | |
102
- | R1-041 | | | | |
103
-
104
- **R1-040 详细说明**:
105
- - **问题类型**: 外部系统集成 / 内部模块依赖 / 环境依赖
106
- - **具体表现**:
107
- - **影响范围**:
108
- - **建议选项**:
109
- - **澄清后**:
110
-
111
- ---
112
-
113
- ##### 6. 优先级与范围
114
- | 问题 ID | 问题描述 | 严重程度 | 状态 | 澄清结果 |
115
- |---------|----------|----------|------|----------|
116
- | R1-050 | | | | |
117
- | R1-051 | | | | |
118
-
119
- **R1-050 详细说明**:
120
- - **问题类型**: 必需 vs 可选 / 时间约束 / 资源约束
121
- - **具体表现**:
122
- - **影响范围**:
123
- - **建议选项**:
124
- - **澄清后**:
125
-
126
- ---
127
-
128
- ### 功能点 2: [功能点名称]
129
-
130
- #### 基本信息
131
- - **功能点 ID**: [kebab-case-id]
132
- - **对应 Spec**: `specs/[功能点ID]/spec.md`
133
- - **优先级**: P0 / P1 / P2
134
- - **负责人**: [@name]
135
-
136
- #### 问题列表
137
-
138
- [同上结构...]
139
-
140
- ---
141
-
142
- ## 问题统计
143
-
144
- | 分类 | 总计 | 已澄清 | 待澄清 | 已解决 |
145
- |------|------|--------|--------|--------|
146
- | 功能完整性 | 0 | 0 | 0 | 0 |
147
- | 数据相关 | 0 | 0 | 0 | 0 |
148
- | 用户体验 | 0 | 0 | 0 | 0 |
149
- | 边界与异常 | 0 | 0 | 0 | 0 |
150
- | 集成与依赖 | 0 | 0 | 0 | 0 |
151
- | 优先级与范围 | 0 | 0 | 0 | 0 |
152
- | **总计** | 0 | 0 | 0 | 0 |
153
-
154
- ---
155
-
156
- ## 澄清记录
157
-
158
- ### 交互式澄清会话 1: [YYYY-MM-DD]
159
- - **参与者**: [@name1, @name2, ...]
160
- - **澄清模式**: 命令行交互式
161
- - **澄清的问题**: [问题 ID 列表]
162
- - **达成的决策**:
163
- 1. [决策 1]
164
- 2. [决策 2]
165
- - **更新后的状态**: `clarifying` → `clarified`
166
- - **下一步行动**: [如果有]
167
-
168
- ### 交互式澄清会话 2: [YYYY-MM-DD]
169
-
170
- [同上结构...]
171
-
172
- ---
173
-
174
- ## 状态流转说明
175
-
176
- ```
177
- discovering: AI 正在分析需求,发现问题
178
- → 发现问题后自动转为 clarifying
179
-
180
- clarifying: 问题已列出,等待交互式澄清
181
- → 使用命令行界面一问一答澄清
182
- → 每题回答后立即同步到本文档
183
- → 支持 'q' 退出,下次自动恢复
184
- → 支持 's' 跳过 Low 优先级问题
185
-
186
- clarified: 所有 High 和 Medium 问题已澄清
187
- → 可以创建/更新 proposal
188
- → AI 检查是否发现新问题(可能回到 discovering)
189
-
190
- superseded: 需求已变更,本文档已过时
191
- → 创建新的问题清单
192
- ```
193
-
194
- **当前状态**: `[current-status]`
195
-
196
- **状态变更历史**:
197
- - [YYYY-MM-DD]: `discovering` → `clarifying` (AI 完成问题发现)
198
- - [YYYY-MM-DD]: `clarifying` → `clarified` (完成澄清会话 1)
199
- - ...
200
-
201
- ---
202
-
203
- ## 关联文档
204
-
205
- - **提案文档**: `proposal.md`
206
- - **功能规格**: `specs/*/spec.md`
207
- - **设计问题清单**: `spec/design-issues.md`
208
- - **分类学参考**: `openspec/templates/requirement-issue-taxonomy.md`
209
-
210
- ---
211
-
212
- ## 备注
213
-
214
- <!-- 任何补充说明 -->
@@ -1,40 +0,0 @@
1
- # 实施观察笔记
2
-
3
- > **用途**: 在实施(apply)阶段记录轻量观察,归档时自动汇入复盘报告。
4
- > **何时填写**: 当以下情况发生时,随手记录。
5
-
6
- ---
7
-
8
- ## 需求层面的意外
9
-
10
- > 当初澄清没有覆盖,但实际很重要的问题。
11
- > 填写格式:描述问题 + 影响
12
-
13
- - (无)
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
- - (无)
@@ -1,57 +0,0 @@
1
- # 设计澄清完整流程
2
-
3
- ## 触发条件
4
-
5
- 在**创建 design.md 之后、创建 tasks 之前**,当以下任一条件成立时执行本流程:
6
- - `spec/design-issues.md` 不存在
7
- - `spec/design-issues.md` 存在但状态不在 `{clarified, resolved}`
8
-
9
- > **与需求澄清的关键区别**:无论是否发现 High/Medium 问题,设计澄清都**强制**执行用户确认步骤(步骤 4)。
10
-
11
- ## 执行步骤
12
-
13
- ### 步骤 1:读取设计问题分类学
14
-
15
- 读取 `openspec/templates/taxonomy/design-issue-taxonomy.md`,了解 7 个检查维度:
16
- 架构决策、技术选型、接口设计、数据状态、安全合规、性能可靠性、部署运维
17
-
18
- ### 步骤 2:分析 design.md 的不确定性
19
-
20
- 按 7 个维度检查 `design.md`,识别:
21
- - 技术决策中的模糊之处(选了什么但没说为什么)
22
- - 未明确的备选方案对比
23
- - 潜在风险点和未处理的约束条件
24
-
25
- 标记每个发现问题的严重程度(High / Medium / Low)。
26
-
27
- ### 步骤 3:创建 spec/design-issues.md
28
-
29
- 使用 `openspec/templates/issues/design-issues.md` 模板,填充发现的问题列表,
30
- 初始状态设为 `analyzing`。
31
-
32
- ### 步骤 4:强制用户确认(无论是否发现问题,必须执行)
33
-
34
- 按照 `openspec/templates/procedures/interactive-clarification-protocol.md` 的规范执行:
35
- - 发现 High/Medium 问题 → 批量提问,一次性展示所有问题,等待统一回答
36
- - 未发现 High/Medium 问题 → 展示设计分析摘要(主要决策列表),请求用户确认或提出顾虑
37
-
38
- 收到回答后,将用户意见同步到 `design-issues.md`,更新状态为 `clarifying`。
39
-
40
- ### 步骤 5:根据澄清结果更新 design.md
41
-
42
- 将用户答案中涉及的设计调整反映到 `design.md` 中(更新技术决策、补充约束条件、明确备选方案等)。
43
-
44
- ### 步骤 6:确认澄清完成,更新状态
45
-
46
- 确认所有 🔴 High 问题已获得明确答案,将 `design-issues.md` 状态更新为 `clarified`。
47
-
48
- ## 产出物
49
-
50
- - `spec/design-issues.md`(状态:`clarified`)
51
- - `design.md`(已根据澄清结果更新)
52
-
53
- ## 状态流转
54
-
55
- ```
56
- analyzing → clarifying → clarified → resolved
57
- ```
@@ -1,128 +0,0 @@
1
- # 进化体系 v5
2
-
3
- aspec (ace-spec) 的知识积累分为三层,在 `archive` 时自动推进——**使用越久,整个 spec coding 流程越精准**。
4
-
5
- ## 三层架构
6
-
7
- **Layer A(每次 archive 立即更新)— 项目事实积累**
8
- - `openspec/decisions/adr.md`:技术决策账本,防止反复讨论已决定的事
9
- - `openspec/glossary.md`:领域词汇表,统一业务术语命名
10
- - `openspec/risk-map.md`:风险图谱,记录已知高风险区和 bug 模式
11
- - `openspec/specs/CHANGELOG.md`:规格演化历史(有 delta spec sync 时更新)
12
- - `openspec/metrics.md`:工作流效率信号
13
-
14
- **Layer B(积累 3+ 复盘后自动触发)— 流程模式学习**
15
- - `openspec/templates/taxonomy/`:基于跨 change 漏检/噪音模式优化问题分类学
16
- - `openspec/task-patterns/`:按 change 类型积累的任务分解模板库
17
- - `openspec/config.yaml` user_preferences:记录用户的稳定决策偏好
18
-
19
- **Layer C(长期积累,元信号)— 系统性洞察**
20
- - `openspec/specs/CHANGELOG.md`:规格演化历史,揭示业务边界稳定性
21
- - `openspec/metrics.md`:工作流效率信号,支持系统性优化
22
-
23
- ---
24
-
25
- ## archive 操作步骤
26
-
27
- ### Step 1:生成复盘报告(BEFORE archiving,必须执行)
28
-
29
- 1. 读取以下文件:
30
- - `spec/requirement-issues.md`
31
- - `spec/design-issues.md`
32
- - `spec/retrospective-notes.md`(如存在)
33
- - 本次 `design.md`(提取技术决策)
34
- - 本次 `proposal.md`(提取新术语)
35
-
36
- 2. 在 `openspec/retrospectives/` 目录下创建复盘报告:
37
- 文件名:`{YYYY-MM-DD}-{change-name}.md`(目录不存在时先创建)
38
-
39
- 3. 按 `openspec/templates/retrospective-template.md` 的格式填写九章内容
40
-
41
- 4. 向用户展示复盘摘要(5-8 行),然后继续执行归档
42
-
43
- ---
44
-
45
- ### Step 2:Layer A 立即更新(AFTER archiving,每次必须执行)
46
-
47
- **A1. 技术决策账本(ADR)**
48
- - 读取复盘报告"四、技术决策"章节
49
- - 如有新决策,追加到 `openspec/decisions/adr.md`:
50
- ```
51
- ## {决策标题} | 来源: {change-name} | 日期: {date}
52
- **选择**: {选了什么}
53
- **理由**: {为什么}
54
- **备选**: {考虑过哪些}
55
- **状态**: active
56
- ```
57
- - 文件不存在时先创建(参考 `openspec/templates/evolution/adr.md` 格式)
58
-
59
- **A2. 领域词汇表**
60
- - 读取复盘报告"五、领域词汇"章节
61
- - 如有新术语,追加到 `openspec/glossary.md`
62
- - 文件不存在时先创建(参考 `openspec/templates/evolution/glossary.md` 格式)
63
-
64
- **A3. 风险图谱**
65
- - 读取复盘报告"六、风险事件"章节
66
- - 如有新风险事件,追加到 `openspec/risk-map.md` 的对应分区("代码热点"或"问题模式")
67
- - 文件不存在时先创建(参考 `openspec/templates/evolution/risk-map.md` 格式)
68
-
69
- **C1. 规格演化日志**(如本次有 delta spec sync)
70
- - 将 delta spec 的变更(改了什么 + 为什么)追加到 `openspec/specs/CHANGELOG.md`
71
- - 文件不存在时先创建并写入标题行
72
-
73
- **C2. 效率指标**
74
- - 将复盘报告"八、效率信号"的数据追加到 `openspec/metrics.md`:
75
- `| {date} | {change-name} | {change-type} | {需求澄清轮次} | {设计澄清轮次} | {暂停次数} | {任务数} |`
76
- - 文件不存在时先创建并写入表头
77
-
78
- ---
79
-
80
- ### Step 3:Layer B 进化分析(条件触发,N ≥ 3 时自动执行)
81
-
82
- **触发判断**:统计 `openspec/retrospectives/` 下 `pending-review` 状态的复盘文件数 N(不含 `accumulated-insights.md`)
83
-
84
- **N < 3 时**:
85
- 提示用户:「✅ 归档完成,知识库已更新。复盘已保存(第 N 个),还需 {3-N} 个复盘后将自动触发进化分析。」然后结束。
86
-
87
- **N ≥ 3 时,执行以下分析**:
88
-
89
- 1. 读取所有 `pending-review` 状态的复盘文件
90
-
91
- 2. 分析以下模式(仅当出现 2+ 次视为显著):
92
- - 【B1: 问题分类学】哪些"漏检问题"反复出现?哪些"无效问题"反复出现?
93
- - 【B2: 任务模式】同类型 change 的任务结构是否有共性?哪些步骤总被遗漏?
94
- - 【B3: 用户偏好】是否发现稳定的决策/交互偏好值得记录到 config.yaml?
95
-
96
- 3. 生成/更新 `openspec/retrospectives/accumulated-insights.md`,记录发现和具体优化建议
97
-
98
- 4. 使用 AskUserQuestion 工具展示进化提案:
99
- ```
100
- 🧬 进化分析完成!基于 N 个复盘,发现以下优化机会:
101
-
102
- 📚 问题分类学优化(X 条):
103
- 1. [新增到需求分类学/边界与异常] "XX" 问题(N 个复盘漏检)
104
- 2. [从设计分类学删除] "YY" 问题(N 个复盘均标记为噪音)
105
-
106
- 📋 任务模板优化(Y 条):
107
- 1. [新建 feature-add 任务模板](基于 3 次 feature change 的共性结构)
108
- 2. [在 bug-fix 模板中增加"回归验证"步骤](2 次被遗漏)
109
-
110
- ⚙️ 偏好/规则优化(Z 条):
111
- 1. [建议记录用户偏好] 观察到你通常选择保守技术方案...
112
-
113
- 是否现在应用以上优化?
114
- A) 全部应用
115
- B) 部分应用(请说明保留/跳过哪些)
116
- C) 暂不应用(下次归档时再次提醒)
117
- ```
118
-
119
- 5. 根据用户选择执行:
120
- - **A(全部应用)**:
121
- - 更新 `openspec/templates/taxonomy/requirement-issue-taxonomy.md`(B1)
122
- - 更新 `openspec/templates/taxonomy/design-issue-taxonomy.md`(B1)
123
- - 更新/创建 `openspec/task-patterns/` 下对应文件(B2)
124
- - 如有偏好建议:更新 `openspec/config.yaml` 的 `user_preferences`(B3)
125
- - 将已分析复盘文件状态改为 `incorporated`
126
- - 提示:「✅ 进化完成!知识库已更新,下次流程将更精准。」
127
- - **B(部分应用)**:仅应用用户确认的条目,未应用条目记入 `accumulated-insights.md` 的"待定区"
128
- - **C(暂不应用)**:保持 `pending-review`,下次归档时重新评估