6aspec 2.0.0-dev.2 → 2.0.0-dev.22

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.
Files changed (88) hide show
  1. package/.6aspec/rules/brown/brown_archive_sop.md +8 -8
  2. package/.6aspec/rules/brown/brown_constitution.md +11 -0
  3. package/.6aspec/rules/brown/brown_continue_sop.md +5 -2
  4. package/.6aspec/rules/brown/brown_design_sop.md +168 -28
  5. package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
  6. package/.6aspec/rules/brown/brown_ff_sop.md +31 -18
  7. package/.6aspec/rules/brown/brown_impact_sop.md +101 -45
  8. package/.6aspec/rules/brown/brown_implement_sop.md +3 -3
  9. package/.6aspec/rules/brown/brown_list_sop.md +12 -12
  10. package/.6aspec/rules/brown/brown_new_sop.md +58 -34
  11. package/.6aspec/rules/brown/brown_proposal_sop.md +293 -75
  12. package/.6aspec/rules/brown/brown_quick_sop.md +5 -5
  13. package/.6aspec/rules/brown/brown_review_sop.md +4 -4
  14. package/.6aspec/rules/brown/brown_rollback_sop.md +29 -19
  15. package/.6aspec/rules/brown/brown_specs_sop.md +370 -120
  16. package/.6aspec/rules/brown/brown_status_sop.md +13 -3
  17. package/.6aspec/rules/brown/brown_tasks_sop.md +18 -5
  18. package/.6aspec/rules/brown/brown_understand_sop.md +111 -40
  19. package/.6aspec/rules/brown/brown_verify_sop.md +1 -1
  20. package/.6aspec/rules/green/{6A_archive_sop.md → green_archive_sop.md} +3 -3
  21. package/.6aspec/rules/green/{6A_clarify_sop.md → green_clarify_sop.md} +1 -1
  22. package/.6aspec/rules/green/{6A_code_implementation_sop.md → green_code_implementation_sop.md} +3 -3
  23. package/.6aspec/rules/green/{6A_continue_sop.md → green_continue_sop.md} +3 -3
  24. package/.6aspec/rules/green/green_status_schema.md +4 -4
  25. package/.6aspec/rules/green/{6A_status_sop.md → green_status_sop.md} +3 -3
  26. package/.6aspec/rules/green/{6A_tasks_sop.md → green_tasks_sop.md} +1 -1
  27. package/.claude/commands/6aspec/brown/explore.md +11 -0
  28. package/.claude/commands/6aspec/green/archive.md +1 -1
  29. package/.claude/commands/6aspec/green/clarify.md +2 -2
  30. package/.claude/commands/6aspec/green/continue.md +1 -1
  31. package/.claude/commands/6aspec/green/design.md +2 -2
  32. package/.claude/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
  33. package/.claude/commands/6aspec/green/import-model-table.md +1 -1
  34. package/.claude/commands/6aspec/green/init.md +2 -2
  35. package/.claude/commands/6aspec/green/model.md +2 -2
  36. package/.claude/commands/6aspec/green/new.md +2 -2
  37. package/.claude/commands/6aspec/green/rollback.md +1 -1
  38. package/.claude/commands/6aspec/green/status.md +1 -1
  39. package/.claude/commands/6aspec/green/tasks.md +2 -2
  40. package/.claude/commands/6aspec/green/visual-logic.md +2 -2
  41. package/.claude/commands/opsx/apply.md +152 -0
  42. package/.claude/commands/opsx/archive.md +157 -0
  43. package/.claude/commands/opsx/bulk-archive.md +242 -0
  44. package/.claude/commands/opsx/continue.md +114 -0
  45. package/.claude/commands/opsx/explore.md +174 -0
  46. package/.claude/commands/opsx/ff.md +94 -0
  47. package/.claude/commands/opsx/new.md +69 -0
  48. package/.claude/commands/opsx/onboard.md +525 -0
  49. package/.claude/commands/opsx/sync.md +134 -0
  50. package/.claude/commands/opsx/verify.md +164 -0
  51. package/.claude/settings.local.json +21 -1
  52. package/.cursor/commands/6aspec/brown/explore.md +11 -0
  53. package/.cursor/commands/6aspec/green/archive.md +1 -1
  54. package/.cursor/commands/6aspec/green/clarify.md +2 -2
  55. package/.cursor/commands/6aspec/green/continue.md +1 -1
  56. package/.cursor/commands/6aspec/green/design.md +2 -2
  57. package/.cursor/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
  58. package/.cursor/commands/6aspec/green/import-model-table.md +1 -1
  59. package/.cursor/commands/6aspec/green/init.md +2 -2
  60. package/.cursor/commands/6aspec/green/model.md +2 -2
  61. package/.cursor/commands/6aspec/green/new.md +2 -2
  62. package/.cursor/commands/6aspec/green/rollback.md +1 -1
  63. package/.cursor/commands/6aspec/green/status.md +1 -1
  64. package/.cursor/commands/6aspec/green/tasks.md +2 -2
  65. package/.cursor/commands/6aspec/green/visual-logic.md +2 -2
  66. package/.cursor/commands/opsx-apply.md +152 -0
  67. package/.cursor/commands/opsx-archive.md +157 -0
  68. package/.cursor/commands/opsx-bulk-archive.md +242 -0
  69. package/.cursor/commands/opsx-continue.md +114 -0
  70. package/.cursor/commands/opsx-explore.md +174 -0
  71. package/.cursor/commands/opsx-ff.md +94 -0
  72. package/.cursor/commands/opsx-new.md +69 -0
  73. package/.cursor/commands/opsx-onboard.md +525 -0
  74. package/.cursor/commands/opsx-sync.md +134 -0
  75. package/.cursor/commands/opsx-verify.md +164 -0
  76. package/README.md +1 -1
  77. package/bin/6aspec +17 -1
  78. package/lib/cli.js +178 -45
  79. package/package.json +1 -1
  80. /package/.6aspec/rules/green/{6A_constitution.md → green_constitution.md} +0 -0
  81. /package/.6aspec/rules/green/{6A_design_sop.md → green_design_sop.md} +0 -0
  82. /package/.6aspec/rules/green/{6A_import_model_table_sop.md → green_import_model_table_sop.md} +0 -0
  83. /package/.6aspec/rules/green/{6A_init_event_list_sop.md → green_init_event_list_sop.md} +0 -0
  84. /package/.6aspec/rules/green/{6A_init_map_sop.md → green_init_map_sop.md} +0 -0
  85. /package/.6aspec/rules/green/{6A_model_sop.md → green_model_sop.md} +0 -0
  86. /package/.6aspec/rules/green/{6A_new_sop.md → green_new_sop.md} +0 -0
  87. /package/.6aspec/rules/green/{6A_rollback_sop.md → green_rollback_sop.md} +0 -0
  88. /package/.6aspec/rules/green/{6A_visual_logic_sop.md → green_visual_logic_sop.md} +0 -0
@@ -1,8 +1,12 @@
1
1
  # 棕地需求 - Proposal SOP
2
2
 
3
- 创建需求提案 - 轻量级流程的第一阶段。
3
+ 创建需求提案
4
4
 
5
- **适用流程**:轻量级(类似OpenSpec)
5
+ **适用流程**:轻量级、标准级、完整级
6
+
7
+ **流程定位**:
8
+ - **轻量级**:第一阶段,基于需求描述(如果之前使用了探索模式并生成了 explore-summary.md,也会参考探索发现)
9
+ - **标准级/完整级**:第三阶段,基于 understand 和 impact 的分析结果
6
10
 
7
11
  **输入**:`/6aspec:brown:proposal` 后可选需求名称。
8
12
 
@@ -11,106 +15,190 @@
11
15
  1. **选择需求并检查状态**
12
16
 
13
17
  - 读取 `6aspecdoc/brown/<name>/status.json`
14
- - 确认 `flowDepth` 为 "lightweight"
15
- - 如果不是轻量级流程,提示使用 `/6aspec:brown:understand`
18
+ - 根据 `flowDepth` 检查前置阶段:
19
+ - **轻量级**:确认 `phases.proposal` 为 "pending"
20
+ - **标准级/完整级**:确认 `phases.impact` 为 "done",如果未完成提示先运行 `/6aspec:brown:impact`
21
+ - 如果proposal已完成,提示使用 `/6aspec:brown:continue` 进入下一阶段
16
22
 
17
- 2. **收集需求信息**
23
+ 2. **读取前置文档**
18
24
 
19
- 首先读取 `6aspecdoc/brown/<name>/requirement.md` 中的"原始需求"部分:
20
- - 如果 `inputSource.type = "text"`:直接使用其中记录的需求描述。
21
- - 如果 `inputSource.type = "file"`:读取记录的来源文件路径,获取完整需求内容。
25
+ 根据 `flowDepth` 读取不同的前置文档:
22
26
 
23
- 如果原始需求信息不足以生成提案,再询问用户补充:
24
- - 为什么需要这个变更?(Why)
25
- - 要做什么?(What)
26
- - 预期影响是什么?(Impact)
27
+ **轻量级流程**:
28
+ - `6aspecdoc/brown/<name>/artifacts/original-requirement.md` - 原始需求
29
+ - `6aspecdoc/brown/<name>/explore-summary.md` - 探索摘要(如果存在)
27
30
 
28
- 3. **创建提案文档**
31
+ **标准级/完整级流程**:
32
+ - `6aspecdoc/brown/<name>/artifacts/original-requirement.md` - 原始需求
33
+ - `6aspecdoc/brown/<name>/artifacts/understanding.md` - 现状分析
34
+ - `6aspecdoc/brown/<name>/artifacts/impact-analysis.md` - 影响面分析
29
35
 
30
- 创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
31
- ```markdown
32
- # 需求提案:<需求标题>
36
+ 3. **执行轻量级探索并识别待明确问题**(仅轻量级流程)
33
37
 
34
- > **需求**: <name>
35
- > **流程**: 轻量级
36
- > **阶段**: Proposal
37
- > **状态**: ✅ 已完成
38
- > **创建时间**: <timestamp>
38
+ **触发条件**:`flowDepth` "lightweight" **且满足以下任一条件**:
39
+ - 不存在 `explore-summary.md` **且** 对话上下文中没有探索内容
40
+ - 用户明确要求探索(例如:"先了解一下现有实现"、"需要探索代码库")
41
+
42
+ **上下文识别**:
43
+
44
+ 在执行探索前,先检查是否已有探索内容:
45
+
46
+ a. **检查explore-summary.md**:
47
+ - 如果存在 `6aspecdoc/brown/<name>/explore-summary.md`,读取它
48
+ - 除非用户明确要求重新探索,否则使用已有的探索摘要
49
+
50
+ b. **检查对话上下文**:
51
+ - 检查对话历史中是否包含探索内容(用户之前执行了 `/6aspec:brown:explore` 命令)
52
+ - 即使没有生成explore-summary.md文件,探索内容仍在对话上下文中
53
+ - 如果发现对话上下文中有探索内容,可以直接利用这些信息,不需要重新探索
54
+
55
+ c. **判断是否需要执行新的探索**:
56
+ - 如果既没有explore-summary.md,也没有对话上下文中的探索内容 → 执行轻量级探索
57
+ - 如果用户明确要求探索(即使已有探索内容) → 执行轻量级探索
58
+ - 如果已有探索内容(explore-summary.md或对话上下文)且用户未明确要求 → 跳过探索,直接使用已有内容
59
+
60
+ **步骤**:
61
+
62
+ a. **执行轻量级探索**(如果需要)
63
+
64
+ 从需求描述中提取关键词(实体名、功能名、业务术语),然后执行快速搜索:
65
+
66
+ ```bash
67
+ # 搜索相关实体类
68
+ rg "class.*<关键词>.*Entity" --type java -g "*Entity.java"
69
+
70
+ # 搜索相关服务类
71
+ rg "class.*<关键词>.*Service" --type java -g "*Service.java"
72
+
73
+ # 搜索相关Controller类
74
+ rg "class.*<关键词>.*Controller" --type java -g "*Controller.java"
75
+
76
+ # 搜索关键业务逻辑
77
+ rg "<关键方法名>" --type java -C 3
78
+ ```
79
+
80
+ 识别受影响的核心文件(3-5个),快速阅读关键代码片段。
81
+
82
+ b. **识别待明确问题**
83
+
84
+ 基于探索结果(explore-summary.md、对话上下文中的探索内容、或刚刚执行的轻量级探索)和需求描述,识别不清楚的地方,生成待明确问题清单:
85
+
86
+ **问题类型**:
87
+ - 字段设计问题(名称、类型、必填、默认值、值域)
88
+ - 业务规则问题(是否可修改、是否继承、是否同步)
89
+ - 权限和统计问题(权限控制、统计报表)
90
+ - 集成和兼容问题(与其他模块的集成、数据迁移)
91
+
92
+ **问题数量**:2-5个最重要的问题(保持轻量)
93
+
94
+ c. **询问用户**
39
95
 
40
- ## 为什么做(Why)
96
+ 如果有待明确问题,展示问题清单并等待用户回答:
41
97
 
42
- ### 业务背景
43
- <业务背景描述>
98
+ ```
99
+ ## 需要明确的问题
100
+
101
+ 基于代码库探索,发现以下问题需要明确:
44
102
 
45
- ### 要解决的问题
46
- <要解决的问题>
103
+ ### 字段设计
104
+ 1. <问题1>
105
+ 2. <问题2>
47
106
 
48
- ### 预期收益
49
- <预期收益>
107
+ ### 业务规则
108
+ 3. <问题3>
109
+ 4. <问题4>
110
+
111
+ 请回答上述问题,我会基于你的回答生成proposal。
112
+ ```
50
113
 
51
- ## 要做什么(What)
114
+ **等待用户回答**,不要自动进入下一步。
52
115
 
53
- ### 功能概述
54
- <功能概述>
116
+ d. **处理用户回答**
55
117
 
56
- ### 功能需求
118
+ 当用户回答问题后:
119
+ - 记录用户的回答(用于proposal生成)
120
+ - 继续执行步骤4(创建提案文档)
57
121
 
58
- #### FR-001: <功能名称>
59
- **描述**:<功能描述>
122
+ **注意**:
123
+ - 探索结果和用户回答不生成独立文档,直接用于proposal生成
124
+ - 如果没有待明确问题,直接跳过询问步骤,继续生成proposal
125
+ - 优先使用explore-summary.md(如果存在且用户未明确要求重新探索)
126
+ - 其次利用对话上下文中的探索内容(如果用户之前执行了explore命令)
127
+ - 最后才执行新的轻量级探索(如果既没有explore-summary.md也没有对话上下文中的探索内容)
128
+ - 即使已有探索内容,如果用户明确要求探索,也应该执行新的探索
129
+
130
+ 4. **创建提案文档(OpenSpec 格式)**
131
+
132
+ 创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
133
+ ```markdown
134
+ # Proposal: <需求标题>
135
+
136
+ > **需求**: <name>
137
+ > **流程**: <flowDepth>
138
+ > **阶段**: Proposal
139
+ > **状态**: ✅ 已完成
140
+ > **创建时间**: <timestamp>
60
141
 
61
- **验收标准**:
62
- - <验收标准1>
63
- - <验收标准2>
142
+ ## Why
64
143
 
65
- #### FR-002: <功能名称>
66
- **描述**:<功能描述>
144
+ <1-2 sentences explaining the problem/opportunity>
67
145
 
68
- **验收标准**:
69
- - <验收标准1>
70
- - <验收标准2>
146
+ ## What Changes
71
147
 
72
- ### 范围界定
73
- **包含**:
74
- - <包含的内容>
148
+ <Bullet points of what will be different>
149
+ - <变更点1>
150
+ - <变更点2>
151
+ - <变更点3>
75
152
 
76
- **不包含**:
77
- - <不包含的内容>
153
+ ## Capabilities
78
154
 
79
- ### 整体验收标准
80
- - AC-001: <整体验收标准1>
81
- - AC-002: <整体验收标准2>
155
+ ### New Capabilities
156
+ - `<capability-name>`: <brief description>
157
+ - `<capability-name>`: <brief description>
82
158
 
83
- ## 预期影响(Impact)
159
+ ### Modified Capabilities
160
+ <!-- If modifying existing behavior -->
161
+ - `<capability-name>`: <brief description>
84
162
 
85
- ### 技术影响
86
- - 数据库:<影响描述>
87
- - 后端代码:<影响描述>
88
- - 前端代码:<影响描述>
89
- - API接口:<影响描述>
163
+ ## Impact
90
164
 
91
- ### 业务影响
92
- - 用户体验:<影响描述>
93
- - 业务流程:<影响描述>
165
+ **轻量级流程**(基于需求描述或 explore 摘要):
166
+ - `<file-path>`: <what changes>
167
+ - `<file-path>`: <what changes>
94
168
 
95
- ### 风险评估
96
- - 技术风险:<风险描述>
97
- - 业务风险:<风险描述>
169
+ **标准级/完整级流程**(基于 understanding 和 impact 分析):
170
+ - `<file-path>`: <what changes>(来自 impact-analysis.md)
171
+ - `<file-path>`: <what changes>(来自 impact-analysis.md)
98
172
 
99
- ## 下一步
173
+ ## Next Steps
100
174
 
101
- 运行 `/6aspec:brown:design` 进行技术方案设计。
175
+ - 轻量级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
176
+ - 标准级/完整级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
102
177
  ```
103
178
 
104
- 4. **更新状态**
179
+ **注意**:
180
+ - Proposal 格式遵循 OpenSpec 规范,保持简洁
181
+ - Why 部分:1-2 句话说明问题或机会
182
+ - What Changes 部分:列出主要变更点
183
+ - Capabilities 部分:列出新增或修改的系统能力(每个 capability 将对应一个 spec 文件)
184
+ - Impact 部分:列出受影响的文件和简要描述
185
+ - 轻量级流程的 Impact 基于需求描述、explore 摘要或轻量级探索结果(高层次评估)
186
+ - 标准级/完整级流程的 Impact 基于 impact-analysis.md(详细分析的摘要)
187
+ - 如果轻量级流程在步骤3中询问了用户问题,基于用户的回答生成proposal
188
+
189
+ 5. **更新状态**
105
190
 
106
191
  更新 `6aspecdoc/brown/<name>/status.json`:
192
+
193
+ **轻量级流程**:
107
194
  ```json
108
195
  {
109
- "status": "design_pending",
196
+ "status": "specs_pending",
110
197
  "flowDepth": "lightweight",
111
198
  "phases": {
112
199
  "proposal": "done",
113
- "design": "pending",
200
+ "specs": "pending",
201
+ "design": "blocked",
114
202
  "tasks": "blocked",
115
203
  "implement": "blocked"
116
204
  },
@@ -118,10 +206,89 @@
118
206
  }
119
207
  ```
120
208
 
121
- 5. **停止并等待用户指令**
209
+ **标准级流程**:
210
+ ```json
211
+ {
212
+ "status": "specs_pending",
213
+ "flowDepth": "standard",
214
+ "phases": {
215
+ "understand": "done",
216
+ "impact": "done",
217
+ "proposal": "done",
218
+ "specs": "pending",
219
+ "design": "blocked",
220
+ "tasks": "blocked",
221
+ "implement": "blocked"
222
+ },
223
+ "artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
224
+ }
225
+ ```
226
+
227
+ **完整级流程**:
228
+ ```json
229
+ {
230
+ "status": "specs_pending",
231
+ "flowDepth": "complete",
232
+ "phases": {
233
+ "understand": "done",
234
+ "impact": "done",
235
+ "proposal": "done",
236
+ "specs": "pending",
237
+ "design": "blocked",
238
+ "tasks": "blocked",
239
+ "implement": "blocked",
240
+ "verify": "blocked",
241
+ "review": "blocked"
242
+ },
243
+ "artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
244
+ }
245
+ ```
246
+
247
+ 同时更新 `6aspecdoc/brown/<name>/requirement.md`:
248
+ - 更新"状态"字段为 `📋 Specs 待开始`
249
+ - 更新"最后修改"时间戳为 `<timestamp>`
250
+ - 更新"当前阶段"为 `Proposal - 需求提案(已完成)`
251
+ - 更新"下一步操作"为 `运行 /6aspec:brown:specs 继续下一阶段`
252
+ - 在"进度概览"中标记 Proposal 阶段为已完成 `[x]`
253
+
254
+ 6. **停止并等待用户指令**
122
255
 
123
256
  **输出**
124
257
 
258
+ 根据 `flowDepth` 和执行阶段显示不同的输出信息:
259
+
260
+ **轻量级流程 - 待明确问题阶段**(如果步骤3中发现有待明确问题):
261
+ ```
262
+ ## 需要明确的问题:<name>
263
+
264
+ **流程**: 轻量级
265
+ **阶段**: Proposal(探索中)
266
+
267
+ ### 代码库探索结果
268
+ - 相关实体类:<数量>
269
+ - 相关服务类:<数量>
270
+ - 受影响文件:<数量>
271
+
272
+ ### 待明确问题
273
+
274
+ 基于代码库探索,发现以下问题需要明确:
275
+
276
+ #### 字段设计
277
+ 1. <问题1>
278
+ 2. <问题2>
279
+
280
+ #### 业务规则
281
+ 3. <问题3>
282
+ 4. <问题4>
283
+
284
+ #### 其他
285
+ 5. <问题5>
286
+
287
+ ### 下一步
288
+ 请回答上述问题,我会基于你的回答生成proposal。
289
+ ```
290
+
291
+ **轻量级流程 - Proposal完成**:
125
292
  ```
126
293
  ## Proposal 完成:<name>
127
294
 
@@ -129,19 +296,58 @@
129
296
  **进度**: 1/4 阶段完成
130
297
 
131
298
  ### 提案概要
132
- - 业务目标:<简述>
133
- - 核心能力:<数量>
134
- - 预期影响:<简述>
299
+ - Why: <简述>
300
+ - What Changes: <数量> 项变更
301
+ - Capabilities: <数量> 个能力
135
302
 
136
- ### 关键风险
137
- <列出关键风险>
303
+ ### 文档位置
304
+ 6aspecdoc/brown/<name>/artifacts/proposal.md
305
+
306
+ ### 下一步
307
+ - 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
308
+ - 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
309
+ - 运行 `/6aspec:brown:continue` → 自动进入下一阶段
310
+ ```
311
+
312
+ **标准级流程**:
313
+ ```
314
+ ## Proposal 完成:<name>
315
+
316
+ **流程**: 标准级
317
+ **进度**: 3/6 阶段完成
318
+
319
+ ### 提案概要
320
+ - Why: <简述>
321
+ - What Changes: <数量> 项变更
322
+ - Capabilities: <数量> 个能力
138
323
 
139
324
  ### 文档位置
140
325
  6aspecdoc/brown/<name>/artifacts/proposal.md
141
326
 
142
327
  ### 下一步
143
328
  - 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
144
- - 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
329
+ - 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
330
+ - 运行 `/6aspec:brown:continue` → 自动进入下一阶段
331
+ ```
332
+
333
+ **完整级流程**:
334
+ ```
335
+ ## Proposal 完成:<name>
336
+
337
+ **流程**: 完整级
338
+ **进度**: 3/8 阶段完成
339
+
340
+ ### 提案概要
341
+ - Why: <简述>
342
+ - What Changes: <数量> 项变更
343
+ - Capabilities: <数量> 个能力
344
+
345
+ ### 文档位置
346
+ 6aspecdoc/brown/<name>/artifacts/proposal.md
347
+
348
+ ### 下一步
349
+ - 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
350
+ - 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
145
351
  - 运行 `/6aspec:brown:continue` → 自动进入下一阶段
146
352
  ```
147
353
 
@@ -154,7 +360,19 @@
154
360
  4. **禁止**:不得自动进入下一阶段
155
361
 
156
362
  **防护措施**
157
- - 仅适用于轻量级流程
363
+ - 适用于所有流程(轻量级、标准级、完整级)
158
364
  - 如果需求信息不明确,必须询问用户
159
365
  - 提案必须包含Why、What、Impact三个核心部分
366
+ - 提案应聚焦高层次的业务目标和核心能力,不包含详细的功能需求(FR)和验收标准(AC)
367
+ - 详细的功能需求和验收标准应该在specs阶段定义
160
368
  - 风险评估不能省略
369
+
370
+ **轻量级流程的特殊防护措施**:
371
+ - 如果没有explore-summary.md,必须执行轻量级探索(步骤3)
372
+ - 轻量级探索应该快速、聚焦,只搜索关键实体类、服务类和受影响文件
373
+ - 轻量级探索不生成独立文档,探索结果直接用于proposal生成
374
+ - 如果探索过程中发现待明确问题,必须询问用户,不能基于假设生成proposal
375
+ - 待明确问题数量应该控制在2-5个,保持轻量(与标准级/完整级的5-10个问题相比)
376
+ - 如果没有待明确问题,可以直接生成proposal
377
+ - 不要在轻量级流程中执行过于深入的分析(如绘制ERD图、流程图等),这些应该在标准级/完整级流程中完成
378
+ - 轻量级探索的目标是"快速理解现有实现",而不是"深入分析系统架构"
@@ -1,6 +1,6 @@
1
1
  # 棕地需求 - Quick SOP
2
2
 
3
- P2 需求快速通道 - 适用于简单修复和小改动。
3
+ 快速通道 - 适用于简单修复和小改动。
4
4
 
5
5
  **输入**:`/6aspec:brown:quick` 后的参数是需求名称(kebab-case)或需求描述。
6
6
 
@@ -27,10 +27,12 @@ P2 需求快速通道 - 适用于简单修复和小改动。
27
27
  ```
28
28
 
29
29
  创建状态文件 `6aspecdoc/brown/<name>/status.json`:
30
+
31
+ **注意**:所有时间戳必须使用东八区(北京时间)格式:`yyyy-MM-dd HH:mm:ss`(例如:`2026-02-20 12:36:23`)
32
+
30
33
  ```json
31
34
  {
32
35
  "name": "<name>",
33
- "priority": "P2",
34
36
  "status": "quick_track",
35
37
  "createdAt": "<timestamp>",
36
38
  "lastModified": "<timestamp>",
@@ -43,7 +45,6 @@ P2 需求快速通道 - 适用于简单修复和小改动。
43
45
  # <需求标题>
44
46
 
45
47
  > **需求ID**: <name>
46
- > **优先级**: P2(快速通道)
47
48
  > **状态**: 🚀 快速处理中
48
49
  > **创建时间**: <timestamp>
49
50
 
@@ -102,7 +103,6 @@ P2 需求快速通道 - 适用于简单修复和小改动。
102
103
  ```
103
104
  ## 快速处理完成:<name>
104
105
 
105
- **优先级**: P2(快速通道)
106
106
  **处理时间**: <时间戳>
107
107
 
108
108
  ### 修改内容
@@ -118,7 +118,7 @@ P2 需求快速通道 - 适用于简单修复和小改动。
118
118
  - 或归档:运行 `/6aspec:brown:archive` 归档此需求
119
119
 
120
120
  ### 注意
121
- P2 需求使用快速通道,跳过了详细的分析和设计阶段。
121
+ 快速通道跳过了详细的分析和设计阶段。
122
122
  如果发现需求比预期复杂,建议使用完整流程(/6aspec:brown:new)。
123
123
  ```
124
124
 
@@ -20,7 +20,7 @@ Phase 7: 实施后评估
20
20
  - `6aspecdoc/brown/<name>/requirement.md` - 原始需求
21
21
  - `6aspecdoc/brown/<name>/artifacts/02-impact-analysis.md` - 预期影响
22
22
  - `6aspecdoc/brown/<name>/artifacts/03-technical-design.md` - 技术方案
23
- - `6aspecdoc/brown/<name>/artifacts/ADR-<name>.md` - 架构决策(P0)
23
+ - `6aspecdoc/brown/<name>/artifacts/ADR-<name>.md` - 架构决策(如有)
24
24
 
25
25
  3. **参考相关归档需求(可选)**
26
26
 
@@ -60,7 +60,7 @@ Phase 7: 实施后评估
60
60
  - 用户反馈如何?
61
61
  - 是否需要调整?
62
62
 
63
- **架构决策回顾**(P0 需求):
63
+ **架构决策回顾**(如有):
64
64
  - 当初的架构决策是否正确?
65
65
  - 有哪些经验教训?
66
66
  - 需要更新 ADR 吗?
@@ -144,7 +144,7 @@ Phase 7: 实施后评估
144
144
  调整计划(如需要):
145
145
  <调整计划>
146
146
 
147
- ## 3. 架构决策回顾(P0 需求)
147
+ ## 3. 架构决策回顾(如有)
148
148
 
149
149
  ### 3.1 决策回顾
150
150
 
@@ -266,5 +266,5 @@ Phase 7: 实施后评估
266
266
  - 必须先完成 Phase 6
267
267
  - 评估必须基于实际数据,不能主观臆断
268
268
  - 必须收集用户反馈
269
- - P0 需求必须回顾架构决策
269
+ - 涉及架构决策的需求必须回顾架构决策
270
270
  - 必须进行知识沉淀
@@ -12,7 +12,9 @@
12
12
  **限制**:
13
13
  - 只能一级一级往上退,不允许跨节点
14
14
  - 只能回退已完成的阶段(状态为 "done")
15
- - 不能回退第一个阶段(proposal/understand)
15
+ - 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
16
+ - 不能从实施阶段回退(implement、verify、review),因为代码已修改,回退文档会导致文档和代码不一致
17
+ - 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
16
18
  - 已归档的需求不能回退
17
19
 
18
20
  **步骤**
@@ -35,28 +37,32 @@
35
37
  根据流程深度和当前阶段,确定上一个阶段:
36
38
 
37
39
  **轻量级流程(lightweight)**:
38
- - design → proposal
40
+ - specs → proposal
41
+ - design → specs
39
42
  - tasks → design
40
- - implement → tasks
43
+ - ~~implement → tasks~~(禁止:代码已修改)
41
44
 
42
45
  **标准级流程(standard)**:
43
- - specs → understand
44
- - impactspecs
45
- - designimpact
46
+ - impact → understand
47
+ - proposalimpact
48
+ - specsproposal
49
+ - design → specs
46
50
  - tasks → design
47
- - implement → tasks
51
+ - ~~implement → tasks~~(禁止:代码已修改)
48
52
 
49
53
  **完整级流程(complete)**:
50
- - specs → understand
51
- - impactspecs
52
- - designimpact
54
+ - impact → understand
55
+ - proposalimpact
56
+ - specsproposal
57
+ - design → specs
53
58
  - tasks → design
54
- - implement → tasks
55
- - verify → implement
56
- - review → verify
59
+ - ~~implement → tasks~~(禁止:代码已修改)
60
+ - ~~verify → implement~~(禁止:代码已修改)
61
+ - ~~review → verify~~(禁止:代码已修改)
57
62
 
58
63
  **边界情况**:
59
- - 如果当前在第一个阶段(proposal/understand),提示无法回退
64
+ - 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
65
+ - 如果当前在实施阶段(implement、verify、review),提示无法回退(代码已修改)
60
66
  - 如果所有阶段都是 pending,提示没有可回退的阶段
61
67
 
62
68
  4. **确认回退操作**
@@ -133,9 +139,10 @@
133
139
  "name": "example",
134
140
  "flowDepth": "standard",
135
141
  "status": "tasks_pending",
136
- "createdAt": "2026-02-15T10:00:00Z",
137
- "lastModified": "2026-02-15T10:30:00Z",
142
+ "createdAt": "2026-02-15 18:00:00",
143
+ "lastModified": "2026-02-15 18:30:00",
138
144
  "phases": {
145
+ "proposal": "done",
139
146
  "understand": "done",
140
147
  "specs": "done",
141
148
  "impact": "done",
@@ -143,7 +150,7 @@
143
150
  "tasks": "pending",
144
151
  "implement": "blocked"
145
152
  },
146
- "artifacts": ["understanding.md", "specs.md", "impact-analysis.md", "design.md"]
153
+ "artifacts": ["proposal.md", "understanding.md", "specs.md", "impact-analysis.md", "design.md"]
147
154
  }
148
155
  ```
149
156
 
@@ -174,7 +181,9 @@
174
181
  **防护措施**
175
182
  - 必须确认需求未归档
176
183
  - 必须确认当前阶段已完成(状态为 "done")
177
- - 不能回退第一个阶段
184
+ - 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
185
+ - 不能从实施阶段回退(implement、verify、review)
186
+ - 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
178
187
  - 必须用户确认后才能执行回退
179
188
  - 删除文件前检查文件是否存在
180
189
  - 更新状态时保持一致性
@@ -183,6 +192,7 @@
183
192
 
184
193
  - 如果需求不存在,提示创建新需求
185
194
  - 如果需求已归档,提示先取消归档
186
- - 如果当前在第一个阶段,提示无法回退
195
+ - 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
196
+ - 如果当前在实施阶段(implement、verify、review),提示无法回退,原因:代码已修改,回退文档会导致文档和代码不一致
187
197
  - 如果所有阶段都是 pending,提示没有可回退的阶段
188
198
  - 如果文件删除失败,提示错误信息但继续更新状态