claude-code-workflow 6.0.4 → 6.1.0

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 (120) hide show
  1. package/.claude/agents/action-planning-agent.md +1 -1
  2. package/.claude/agents/cli-execution-agent.md +269 -269
  3. package/.claude/agents/cli-explore-agent.md +182 -182
  4. package/.claude/agents/context-search-agent.md +582 -582
  5. package/.claude/agents/memory-bridge.md +93 -93
  6. package/.claude/commands/cli/cli-init.md +1 -1
  7. package/.claude/commands/memory/docs-full-cli.md +471 -471
  8. package/.claude/commands/memory/docs-related-cli.md +386 -386
  9. package/.claude/commands/memory/docs.md +615 -615
  10. package/.claude/commands/memory/load.md +1 -1
  11. package/.claude/commands/memory/update-full.md +332 -332
  12. package/.claude/commands/memory/update-related.md +5 -5
  13. package/.claude/commands/workflow/init.md +1 -1
  14. package/.claude/commands/workflow/lite-fix.md +621 -621
  15. package/.claude/commands/workflow/lite-plan.md +592 -592
  16. package/.claude/commands/workflow/tools/context-gather.md +434 -434
  17. package/.claude/commands/workflow/ui-design/generate.md +504 -504
  18. package/.claude/commands/workflow/ui-design/import-from-code.md +537 -537
  19. package/.claude/scripts/classify-folders.sh +4 -0
  20. package/.claude/scripts/convert_tokens_to_css.sh +4 -0
  21. package/.claude/scripts/detect_changed_modules.sh +5 -1
  22. package/.claude/scripts/discover-design-files.sh +87 -83
  23. package/.claude/scripts/generate_module_docs.sh +717 -713
  24. package/.claude/scripts/get_modules_by_depth.sh +5 -1
  25. package/.claude/scripts/ui-generate-preview.sh +4 -0
  26. package/.claude/scripts/ui-instantiate-prototypes.sh +4 -0
  27. package/.claude/scripts/update_module_claude.sh +4 -0
  28. package/.claude/skills/command-guide/index/all-commands.json +1 -12
  29. package/.claude/skills/command-guide/index/by-category.json +1 -12
  30. package/.claude/skills/command-guide/index/by-use-case.json +1 -12
  31. package/.claude/skills/command-guide/index/essential-commands.json +1 -12
  32. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +127 -71
  33. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +269 -269
  34. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -182
  35. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +18 -38
  36. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +582 -577
  37. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +93 -93
  38. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +1 -1
  39. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -471
  40. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -386
  41. package/.claude/skills/command-guide/reference/commands/memory/docs.md +615 -610
  42. package/.claude/skills/command-guide/reference/commands/memory/load.md +1 -1
  43. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -332
  44. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +5 -5
  45. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +299 -451
  46. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +14 -37
  47. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +252 -350
  48. package/.claude/skills/command-guide/reference/commands/workflow/init.md +2 -2
  49. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +52 -0
  50. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +621 -602
  51. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +46 -36
  52. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +18 -58
  53. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +22 -52
  54. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +19 -48
  55. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +25 -5
  56. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +1 -1
  57. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +7 -7
  58. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -434
  59. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +151 -11
  60. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +4 -4
  61. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +1 -1
  62. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -504
  63. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -537
  64. package/.claude/workflows/context-search-strategy.md +77 -77
  65. package/.claude/workflows/tool-strategy.md +90 -71
  66. package/.claude/workflows/workflow-architecture.md +1 -1
  67. package/ccw/package.json +6 -6
  68. package/ccw/src/cli.js +16 -0
  69. package/ccw/src/commands/stop.js +101 -0
  70. package/ccw/src/commands/tool.js +181 -0
  71. package/ccw/src/core/dashboard-generator.js +18 -3
  72. package/ccw/src/core/lite-scanner.js +35 -11
  73. package/ccw/src/core/server.js +583 -17
  74. package/ccw/src/templates/dashboard-css/01-base.css +161 -0
  75. package/ccw/src/templates/dashboard-css/02-session.css +726 -0
  76. package/ccw/src/templates/dashboard-css/03-tasks.css +512 -0
  77. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +843 -0
  78. package/ccw/src/templates/dashboard-css/05-context.css +2206 -0
  79. package/ccw/src/templates/dashboard-css/06-cards.css +1570 -0
  80. package/ccw/src/templates/dashboard-css/07-managers.css +936 -0
  81. package/ccw/src/templates/dashboard-css/08-review.css +1266 -0
  82. package/ccw/src/templates/dashboard-css/09-explorer.css +1397 -0
  83. package/ccw/src/templates/dashboard-js/components/global-notifications.js +219 -0
  84. package/ccw/src/templates/dashboard-js/components/hook-manager.js +10 -0
  85. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +24 -2
  86. package/ccw/src/templates/dashboard-js/components/navigation.js +11 -5
  87. package/ccw/src/templates/dashboard-js/components/tabs-context.js +20 -20
  88. package/ccw/src/templates/dashboard-js/components/tabs-other.js +11 -11
  89. package/ccw/src/templates/dashboard-js/components/theme.js +29 -1
  90. package/ccw/src/templates/dashboard-js/main.js +4 -0
  91. package/ccw/src/templates/dashboard-js/state.js +5 -0
  92. package/ccw/src/templates/dashboard-js/views/explorer.js +852 -0
  93. package/ccw/src/templates/dashboard-js/views/home.js +13 -9
  94. package/ccw/src/templates/dashboard-js/views/hook-manager.js +8 -5
  95. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +21 -16
  96. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +148 -8
  97. package/ccw/src/templates/dashboard-js/views/project-overview.js +15 -11
  98. package/ccw/src/templates/dashboard-js/views/review-session.js +3 -3
  99. package/ccw/src/templates/dashboard-js/views/session-detail.js +38 -28
  100. package/ccw/src/templates/dashboard.html +129 -28
  101. package/ccw/src/tools/classify-folders.js +204 -0
  102. package/ccw/src/tools/convert-tokens-to-css.js +250 -0
  103. package/ccw/src/tools/detect-changed-modules.js +288 -0
  104. package/ccw/src/tools/discover-design-files.js +134 -0
  105. package/ccw/src/tools/edit-file.js +266 -0
  106. package/ccw/src/tools/generate-module-docs.js +416 -0
  107. package/ccw/src/tools/get-modules-by-depth.js +308 -0
  108. package/ccw/src/tools/index.js +176 -0
  109. package/ccw/src/tools/ui-generate-preview.js +327 -0
  110. package/ccw/src/tools/ui-instantiate-prototypes.js +301 -0
  111. package/ccw/src/tools/update-module-claude.js +380 -0
  112. package/ccw/src/utils/browser-launcher.js +15 -4
  113. package/package.json +1 -1
  114. package/.claude/skills/command-guide/reference/commands/workflow/status.md +0 -352
  115. package/ccw/src/core/server.js.bak +0 -385
  116. package/ccw/src/core/server_original.bak +0 -385
  117. package/ccw/src/templates/dashboard.css +0 -8114
  118. package/ccw/src/templates/dashboard_tailwind.html +0 -42
  119. package/ccw/src/templates/dashboard_test.html +0 -37
  120. package/ccw/src/templates/tailwind-base.css +0 -212
@@ -2,452 +2,359 @@
2
2
  name: artifacts
3
3
  description: Interactive clarification generating confirmed guidance specification through role-based analysis and synthesis
4
4
  argument-hint: "topic or challenge description [--count N]"
5
- allowed-tools: TodoWrite(*), Read(*), Write(*), Glob(*)
5
+ allowed-tools: TodoWrite(*), Read(*), Write(*), Glob(*), AskUserQuestion(*)
6
6
  ---
7
7
 
8
8
  ## Overview
9
9
 
10
- Six-phase workflow: **Automatic project context collection** → Extract topic challenges Select rolesGenerate task-specific questions → Detect conflictsGenerate confirmed guidance (declarative statements only).
10
+ Seven-phase workflow: **Context collection** → **Topic analysis****Role selection****Role questions****Conflict resolution****Final check** **Generate specification**
11
+
12
+ All user interactions use AskUserQuestion tool (max 4 questions per call, multi-round).
11
13
 
12
14
  **Input**: `"GOAL: [objective] SCOPE: [boundaries] CONTEXT: [background]" [--count N]`
13
- **Output**: `.workflow/active/WFS-{topic}/.brainstorming/guidance-specification.md` (CONFIRMED/SELECTED format)
14
- **Core Principle**: Questions dynamically generated from project context + topic keywords/challenges, NOT from generic templates
15
+ **Output**: `.workflow/active/WFS-{topic}/.brainstorming/guidance-specification.md`
16
+ **Core Principle**: Questions dynamically generated from project context + topic keywords, NOT generic templates
15
17
 
16
18
  **Parameters**:
17
19
  - `topic` (required): Topic or challenge description (structured format recommended)
18
- - `--count N` (optional): Number of roles user WANTS to select (system will recommend N+2 options for user to choose from, default: 3)
20
+ - `--count N` (optional): Number of roles to select (system recommends N+2 options, default: 3)
19
21
 
20
- ## Task Tracking
22
+ ---
21
23
 
22
- **⚠️ TodoWrite Rule**: EXTEND auto-parallel's task list (NOT replace/overwrite)
24
+ ## Quick Reference
23
25
 
24
- **When called from auto-parallel**:
25
- - Find the artifacts parent task: "Execute artifacts command for interactive framework generation"
26
- - Mark parent task as "in_progress"
27
- - APPEND artifacts sub-tasks AFTER the parent task (Phase 0-5)
28
- - Mark each sub-task as it completes
29
- - When Phase 5 completes, mark parent task as "completed"
30
- - **PRESERVE all other auto-parallel tasks** (role agents, synthesis)
26
+ ### Phase Summary
31
27
 
32
- **Standalone Mode**:
33
- ```json
34
- [
35
- {"content": "Initialize session (.workflow/active/ session check, parse --count parameter)", "status": "pending", "activeForm": "Initializing"},
36
- {"content": "Phase 0: Automatic project context collection (call context-gather)", "status": "pending", "activeForm": "Phase 0 context collection"},
37
- {"content": "Phase 1: Extract challenges, output 2-4 task-specific questions, wait for user input", "status": "pending", "activeForm": "Phase 1 topic analysis"},
38
- {"content": "Phase 2: Recommend count+2 roles, output role selection, wait for user input", "status": "pending", "activeForm": "Phase 2 role selection"},
39
- {"content": "Phase 3: Generate 3-4 questions per role, output and wait for answers (max 10 per round)", "status": "pending", "activeForm": "Phase 3 role questions"},
40
- {"content": "Phase 4: Detect conflicts, output clarifications, wait for answers (max 10 per round)", "status": "pending", "activeForm": "Phase 4 conflict resolution"},
41
- {"content": "Phase 5: Transform Q&A to declarative statements, write guidance-specification.md", "status": "pending", "activeForm": "Phase 5 document generation"}
42
- ]
43
- ```
28
+ | Phase | Goal | AskUserQuestion | Storage |
29
+ |-------|------|-----------------|---------|
30
+ | 0 | Context collection | - | context-package.json |
31
+ | 1 | Topic analysis | 2-4 questions | intent_context |
32
+ | 2 | Role selection | 1 multi-select | selected_roles |
33
+ | 3 | Role questions | 3-4 per role | role_decisions[role] |
34
+ | 4 | Conflict resolution | max 4 per round | cross_role_decisions |
35
+ | 4.5 | Final check | progressive rounds | additional_decisions |
36
+ | 5 | Generate spec | - | guidance-specification.md |
44
37
 
45
- ## User Interaction Protocol
38
+ ### AskUserQuestion Pattern
46
39
 
47
- ### Question Output Format
48
-
49
- All questions output as structured text (detailed format with descriptions):
50
-
51
- ```markdown
52
- 【问题{N} - {短标签}】{问题文本}
53
- a) {选项标签}
54
- 说明:{选项说明和影响}
55
- b) {选项标签}
56
- 说明:{选项说明和影响}
57
- c) {选项标签}
58
- 说明:{选项说明和影响}
59
-
60
- 请回答:{N}a 或 {N}b 或 {N}c
40
+ ```javascript
41
+ // Single-select (Phase 1, 3, 4)
42
+ AskUserQuestion({
43
+ questions: [
44
+ {
45
+ question: "{问题文本}",
46
+ header: "{短标签}", // max 12 chars
47
+ multiSelect: false,
48
+ options: [
49
+ { label: "{选项}", description: "{说明和影响}" },
50
+ { label: "{选项}", description: "{说明和影响}" },
51
+ { label: "{选项}", description: "{说明和影响}" }
52
+ ]
53
+ }
54
+ // ... max 4 questions per call
55
+ ]
56
+ })
57
+
58
+ // Multi-select (Phase 2)
59
+ AskUserQuestion({
60
+ questions: [{
61
+ question: "请选择 {count} 个角色",
62
+ header: "角色选择",
63
+ multiSelect: true,
64
+ options: [/* max 4 options per call */]
65
+ }]
66
+ })
61
67
  ```
62
68
 
63
- **Multi-select format** (Phase 2 role selection):
64
- ```markdown
65
- 【角色选择】请选择 {count} 个角色参与头脑风暴分析
66
-
67
- a) {role-name} ({中文名})
68
- 推荐理由:{基于topic的相关性说明}
69
- b) {role-name} ({中文名})
70
- 推荐理由:{基于topic的相关性说明}
71
- ...
69
+ ### Multi-Round Execution
72
70
 
73
- 支持格式:
74
- - 分别选择:2a 2c 2d (选择第2题的a、c、d选项)
75
- - 合并语法:2acd (选择a、c、d)
76
- - 逗号分隔:2a,c,d
77
-
78
- 请输入选择:
71
+ ```javascript
72
+ const BATCH_SIZE = 4;
73
+ for (let i = 0; i < allQuestions.length; i += BATCH_SIZE) {
74
+ const batch = allQuestions.slice(i, i + BATCH_SIZE);
75
+ AskUserQuestion({ questions: batch });
76
+ // Store responses before next round
77
+ }
79
78
  ```
80
79
 
81
- ### Input Parsing Rules
82
-
83
- **Supported formats** (intelligent parsing):
84
-
85
- 1. **Space-separated**: `1a 2b 3c` → Q1:a, Q2:b, Q3:c
86
- 2. **Comma-separated**: `1a,2b,3c` → Q1:a, Q2:b, Q3:c
87
- 3. **Multi-select combined**: `2abc` → Q2: options a,b,c
88
- 4. **Multi-select spaces**: `2 a b c` → Q2: options a,b,c
89
- 5. **Multi-select comma**: `2a,b,c` → Q2: options a,b,c
90
- 6. **Natural language**: `问题1选a` → 1a (fallback parsing)
91
-
92
- **Parsing algorithm**:
93
- - Extract question numbers and option letters
94
- - Validate question numbers match output
95
- - Validate option letters exist for each question
96
- - If ambiguous/invalid, output example format and request re-input
97
-
98
- **Error handling** (lenient):
99
- - Recognize common variations automatically
100
- - If parsing fails, show example and wait for clarification
101
- - Support re-input without penalty
80
+ ---
102
81
 
103
- ### Batching Strategy
82
+ ## Task Tracking
104
83
 
105
- **Batch limits**:
106
- - **Default**: Maximum 10 questions per round
107
- - **Phase 2 (role selection)**: Display all recommended roles at once (count+2 roles)
108
- - **Auto-split**: If questions > 10, split into multiple rounds with clear round indicators
84
+ **TodoWrite Rule**: EXTEND auto-parallel's task list (NOT replace/overwrite)
109
85
 
110
- **Round indicators**:
111
- ```markdown
112
- ===== 1 轮问题 (共2轮) =====
113
- 【问题1 - ...】...
114
- 【问题2 - ...】...
115
- ...
116
- 【问题10 - ...】...
86
+ **When called from auto-parallel**:
87
+ - Find artifacts parent task → Mark "in_progress"
88
+ - APPEND sub-tasks (Phase 0-5) → Mark each as completes
89
+ - When Phase 5 completes → Mark parent "completed"
90
+ - PRESERVE all other auto-parallel tasks
117
91
 
118
- 请回答 (格式: 1a 2b ... 10c):
92
+ **Standalone Mode**:
93
+ ```json
94
+ [
95
+ {"content": "Initialize session", "status": "pending", "activeForm": "Initializing"},
96
+ {"content": "Phase 0: Context collection", "status": "pending", "activeForm": "Phase 0"},
97
+ {"content": "Phase 1: Topic analysis (2-4 questions)", "status": "pending", "activeForm": "Phase 1"},
98
+ {"content": "Phase 2: Role selection", "status": "pending", "activeForm": "Phase 2"},
99
+ {"content": "Phase 3: Role questions (per role)", "status": "pending", "activeForm": "Phase 3"},
100
+ {"content": "Phase 4: Conflict resolution", "status": "pending", "activeForm": "Phase 4"},
101
+ {"content": "Phase 4.5: Final clarification", "status": "pending", "activeForm": "Phase 4.5"},
102
+ {"content": "Phase 5: Generate specification", "status": "pending", "activeForm": "Phase 5"}
103
+ ]
119
104
  ```
120
105
 
121
- ### Interaction Flow
122
-
123
- **Standard flow**:
124
- 1. Output questions in formatted text
125
- 2. Output expected input format example
126
- 3. Wait for user input
127
- 4. Parse input with intelligent matching
128
- 5. If parsing succeeds → Store answers and continue
129
- 6. If parsing fails → Show error, example, and wait for re-input
130
-
131
- **No question/option limits**: Text-based interaction removes previous 4-question and 4-option restrictions
106
+ ---
132
107
 
133
108
  ## Execution Phases
134
109
 
135
110
  ### Session Management
111
+
136
112
  - Check `.workflow/active/` for existing sessions
137
- - Multiple sessions → Prompt selection | Single → Use it | None → Create `WFS-[topic-slug]`
138
- - Parse `--count N` parameter from user input (default: 3 if not specified)
139
- - Store decisions in `workflow-session.json` including count parameter
113
+ - Multiple → Prompt selection | Single → Use it | None → Create `WFS-[topic-slug]`
114
+ - Parse `--count N` parameter (default: 3)
115
+ - Store decisions in `workflow-session.json`
140
116
 
141
- ### Phase 0: Automatic Project Context Collection
117
+ ### Phase 0: Context Collection
142
118
 
143
- **Goal**: Gather project architecture, documentation, and relevant code context BEFORE user interaction
119
+ **Goal**: Gather project context BEFORE user interaction
144
120
 
145
- **Detection Mechanism** (execute first):
146
- ```javascript
147
- // Check if context-package already exists
148
- const contextPackagePath = `.workflow/active/WFS-{session-id}/.process/context-package.json`;
149
-
150
- if (file_exists(contextPackagePath)) {
151
- // Validate package
152
- const package = Read(contextPackagePath);
153
- if (package.metadata.session_id === session_id) {
154
- console.log("✅ Valid context-package found, skipping Phase 0");
155
- return; // Skip to Phase 1
156
- }
157
- }
158
- ```
121
+ **Steps**:
122
+ 1. Check if `context-package.json` exists → Skip if valid
123
+ 2. Invoke `context-search-agent` (BRAINSTORM MODE - lightweight)
124
+ 3. Output: `.workflow/active/WFS-{session-id}/.process/context-package.json`
159
125
 
160
- **Implementation**: Invoke `context-search-agent` only if package doesn't exist
126
+ **Graceful Degradation**: If agent fails, continue to Phase 1 without context
161
127
 
162
128
  ```javascript
163
129
  Task(
164
130
  subagent_type="context-search-agent",
165
131
  description="Gather project context for brainstorm",
166
132
  prompt=`
167
- You are executing as context-search-agent (.claude/agents/context-search-agent.md).
168
-
169
- ## Execution Mode
170
- **BRAINSTORM MODE** (Lightweight) - Phase 1-2 only (skip deep analysis)
171
-
172
- ## Session Information
173
- - **Session ID**: ${session_id}
174
- - **Task Description**: ${task_description}
175
- - **Output Path**: .workflow/${session_id}/.process/context-package.json
176
-
177
- ## Mission
178
- Execute complete context-search-agent workflow for implementation planning:
179
-
180
- ### Phase 1: Initialization & Pre-Analysis
181
- 1. **Detection**: Check for existing context-package (early exit if valid)
182
- 2. **Foundation**: Initialize code-index, get project structure, load docs
183
- 3. **Analysis**: Extract keywords, determine scope, classify complexity
184
-
185
- ### Phase 2: Multi-Source Context Discovery
186
- Execute all 3 discovery tracks:
187
- - **Track 1**: Reference documentation (CLAUDE.md, architecture docs)
188
- - **Track 2**: Web examples (use Exa MCP for unfamiliar tech/APIs)
189
- - **Track 3**: Codebase analysis (5-layer discovery: files, content, patterns, deps, config/tests)
190
-
191
- ### Phase 3: Synthesis, Assessment & Packaging
192
- 1. Apply relevance scoring and build dependency graph
193
- 2. Synthesize 3-source data (docs > code > web)
194
- 3. Integrate brainstorm artifacts (if .brainstorming/ exists, read content)
195
- 4. Perform conflict detection with risk assessment
196
- 5. Generate and validate context-package.json
197
-
198
- ## Output Requirements
199
- Complete context-package.json with:
200
- - **metadata**: task_description, keywords, complexity, tech_stack, session_id
201
- - **project_context**: architecture_patterns, coding_conventions, tech_stack
202
- - **assets**: {documentation[], source_code[], config[], tests[]} with relevance scores
203
- - **dependencies**: {internal[], external[]} with dependency graph
204
- - **brainstorm_artifacts**: {guidance_specification, role_analyses[], synthesis_output} with content
205
- - **conflict_detection**: {risk_level, risk_factors, affected_modules[], mitigation_strategy}
206
-
207
- ## Quality Validation
208
- Before completion verify:
209
- - [ ] Valid JSON format with all required fields
210
- - [ ] File relevance accuracy >80%
211
- - [ ] Dependency graph complete (max 2 transitive levels)
212
- - [ ] Conflict risk level calculated correctly
213
- - [ ] No sensitive data exposed
214
- - [ ] Total files ≤50 (prioritize high-relevance)
215
-
216
- Execute autonomously following agent documentation.
217
- Report completion with statistics.
133
+ Execute context-search-agent in BRAINSTORM MODE (Phase 1-2 only).
134
+
135
+ Session: ${session_id}
136
+ Task: ${task_description}
137
+ Output: .workflow/${session_id}/.process/context-package.json
138
+
139
+ Required fields: metadata, project_context, assets, dependencies, conflict_detection
218
140
  `
219
141
  )
220
142
  ```
221
143
 
222
- **Graceful Degradation**:
223
- - If agent fails: Log warning, continue to Phase 1 without project context
224
- - If package invalid: Re-run context-search-agent
225
-
226
- ### Phase 1: Topic Analysis & Intent Classification
144
+ ### Phase 1: Topic Analysis
227
145
 
228
- **Goal**: Extract keywords/challenges to drive all subsequent question generation, **enriched by Phase 0 project context**
146
+ **Goal**: Extract keywords/challenges enriched by Phase 0 context
229
147
 
230
148
  **Steps**:
231
- 1. **Load Phase 0 context** (if available):
232
- - Read `.workflow/active/WFS-{session-id}/.process/context-package.json`
233
- - Extract: tech_stack, existing modules, conflict_risk, relevant files
234
-
235
- 2. **Deep topic analysis** (context-aware):
236
- - Extract technical entities from topic + existing codebase
237
- - Identify core challenges considering existing architecture
238
- - Consider constraints (timeline/budget/compliance)
239
- - Define success metrics based on current project state
240
-
241
- 3. **Generate 2-4 context-aware probing questions**:
242
- - Reference existing tech stack in questions
243
- - Consider integration with existing modules
244
- - Address identified conflict risks from Phase 0
245
- - Target root challenges and trade-off priorities
149
+ 1. Load Phase 0 context (tech_stack, modules, conflict_risk)
150
+ 2. Deep topic analysis (entities, challenges, constraints, metrics)
151
+ 3. Generate 2-4 context-aware probing questions
152
+ 4. AskUserQuestion → Store to `session.intent_context`
246
153
 
247
- 4. **User interaction**: Output questions using text format (see User Interaction Protocol), wait for user input
248
-
249
- 5. **Parse user answers**: Use intelligent parsing to extract answers from user input (support multiple formats)
250
-
251
- 6. **Storage**: Store answers to `session.intent_context` with `{extracted_keywords, identified_challenges, user_answers, project_context_used}`
252
-
253
- **Example Output**:
254
- ```markdown
255
- ===== Phase 1: 项目意图分析 =====
256
-
257
- 【问题1 - 核心挑战】实时协作平台的主要技术挑战?
258
- a) 实时数据同步
259
- 说明:100+用户同时在线,状态同步复杂度高
260
- b) 可扩展性架构
261
- 说明:用户规模增长时的系统扩展能力
262
- c) 冲突解决机制
263
- 说明:多用户同时编辑的冲突处理策略
264
-
265
- 【问题2 - 优先级】MVP阶段最关注的指标?
266
- a) 功能完整性
267
- 说明:实现所有核心功能
268
- b) 用户体验
269
- 说明:流畅的交互体验和响应速度
270
- c) 系统稳定性
271
- 说明:高可用性和数据一致性
272
-
273
- 请回答 (格式: 1a 2b):
154
+ **Example**:
155
+ ```javascript
156
+ AskUserQuestion({
157
+ questions: [
158
+ {
159
+ question: "实时协作平台的主要技术挑战?",
160
+ header: "核心挑战",
161
+ multiSelect: false,
162
+ options: [
163
+ { label: "实时数据同步", description: "100+用户同时在线,状态同步复杂度高" },
164
+ { label: "可扩展性架构", description: "用户规模增长时的系统扩展能力" },
165
+ { label: "冲突解决机制", description: "多用户同时编辑的冲突处理策略" }
166
+ ]
167
+ },
168
+ {
169
+ question: "MVP阶段最关注的指标?",
170
+ header: "优先级",
171
+ multiSelect: false,
172
+ options: [
173
+ { label: "功能完整性", description: "实现所有核心功能" },
174
+ { label: "用户体验", description: "流畅的交互体验和响应速度" },
175
+ { label: "系统稳定性", description: "高可用性和数据一致性" }
176
+ ]
177
+ }
178
+ ]
179
+ })
274
180
  ```
275
181
 
276
- **User input examples**:
277
- - `1a 2c` → Q1:a, Q2:c
278
- - `1a,2c` → Q1:a, Q2:c
279
-
280
182
  **⚠️ CRITICAL**: Questions MUST reference topic keywords. Generic "Project type?" violates dynamic generation.
281
183
 
282
184
  ### Phase 2: Role Selection
283
185
 
284
- **⚠️ CRITICAL**: User MUST interact to select roles. NEVER auto-select without user confirmation.
186
+ **Goal**: User selects roles from intelligent recommendations
285
187
 
286
- **Available Roles**:
287
- - data-architect (数据架构师)
288
- - product-manager (产品经理)
289
- - product-owner (产品负责人)
290
- - scrum-master (敏捷教练)
291
- - subject-matter-expert (领域专家)
292
- - system-architect (系统架构师)
293
- - test-strategist (测试策略师)
294
- - ui-designer (UI 设计师)
295
- - ux-expert (UX 专家)
188
+ **Available Roles**: data-architect, product-manager, product-owner, scrum-master, subject-matter-expert, system-architect, test-strategist, ui-designer, ux-expert
296
189
 
297
190
  **Steps**:
298
- 1. **Intelligent role recommendation** (AI analysis):
299
- - Analyze Phase 1 extracted keywords and challenges
300
- - Use AI reasoning to determine most relevant roles for the specific topic
301
- - Recommend count+2 roles (e.g., if user wants 3 roles, recommend 5 options)
302
- - Provide clear rationale for each recommended role based on topic context
303
-
304
- 2. **User selection** (text interaction):
305
- - Output all recommended roles at once (no batching needed for count+2 roles)
306
- - Display roles with labels and relevance rationale
307
- - Wait for user input in multi-select format
308
- - Parse user input (support multiple formats)
309
- - **Storage**: Store selections to `session.selected_roles`
310
-
311
- **Example Output**:
312
- ```markdown
313
- ===== Phase 2: 角色选择 =====
314
-
315
- 【角色选择】请选择 3 个角色参与头脑风暴分析
316
-
317
- a) system-architect (系统架构师)
318
- 推荐理由:实时同步架构设计和技术选型的核心角色
319
- b) ui-designer (UI设计师)
320
- 推荐理由:协作界面用户体验和实时状态展示
321
- c) product-manager (产品经理)
322
- 推荐理由:功能优先级和MVP范围决策
323
- d) data-architect (数据架构师)
324
- 推荐理由:数据同步模型和存储方案设计
325
- e) ux-expert (UX专家)
326
- 推荐理由:多用户协作交互流程优化
327
-
328
- 支持格式:
329
- - 分别选择:2a 2c 2d (选择a、c、d)
330
- - 合并语法:2acd (选择a、c、d)
331
- - 逗号分隔:2a,c,d (选择a、c、d)
332
-
333
- 请输入选择:
334
- ```
191
+ 1. Analyze Phase 1 keywords → Recommend count+2 roles with rationale
192
+ 2. AskUserQuestion (multiSelect=true) Store to `session.selected_roles`
193
+ 3. If count+2 > 4, split into multiple rounds
335
194
 
336
- **User input examples**:
337
- - `2acd` → Roles: a, c, d (system-architect, product-manager, data-architect)
338
- - `2a 2c 2d` → Same result
339
- - `2a,c,d` → Same result
195
+ **Example**:
196
+ ```javascript
197
+ AskUserQuestion({
198
+ questions: [{
199
+ question: "请选择 3 个角色参与头脑风暴分析",
200
+ header: "角色选择",
201
+ multiSelect: true,
202
+ options: [
203
+ { label: "system-architect", description: "实时同步架构设计和技术选型" },
204
+ { label: "ui-designer", description: "协作界面用户体验和状态展示" },
205
+ { label: "product-manager", description: "功能优先级和MVP范围决策" },
206
+ { label: "data-architect", description: "数据同步模型和存储方案设计" }
207
+ ]
208
+ }]
209
+ })
210
+ ```
340
211
 
341
- **Role Recommendation Rules**:
342
- - NO hardcoded keyword-to-role mappings
343
- - Use intelligent analysis of topic, challenges, and requirements
344
- - Consider role synergies and coverage gaps
345
- - Explain WHY each role is relevant to THIS specific topic
346
- - Default recommendation: count+2 roles for user to choose from
212
+ **⚠️ CRITICAL**: User MUST interact. NEVER auto-select without confirmation.
347
213
 
348
- ### Phase 3: Role-Specific Questions (Dynamic Generation)
214
+ ### Phase 3: Role-Specific Questions
349
215
 
350
216
  **Goal**: Generate deep questions mapping role expertise to Phase 1 challenges
351
217
 
352
218
  **Algorithm**:
219
+ 1. FOR each selected role:
220
+ - Map Phase 1 challenges to role domain
221
+ - Generate 3-4 questions (implementation depth, trade-offs, edge cases)
222
+ - AskUserQuestion per role → Store to `session.role_decisions[role]`
223
+ 2. Process roles sequentially (one at a time for clarity)
224
+ 3. If role needs > 4 questions, split into multiple rounds
225
+
226
+ **Example** (system-architect):
227
+ ```javascript
228
+ AskUserQuestion({
229
+ questions: [
230
+ {
231
+ question: "100+ 用户实时状态同步方案?",
232
+ header: "状态同步",
233
+ multiSelect: false,
234
+ options: [
235
+ { label: "Event Sourcing", description: "完整事件历史,支持回溯,存储成本高" },
236
+ { label: "集中式状态管理", description: "实现简单,单点瓶颈风险" },
237
+ { label: "CRDT", description: "去中心化,自动合并,学习曲线陡" }
238
+ ]
239
+ },
240
+ {
241
+ question: "两个用户同时编辑冲突如何解决?",
242
+ header: "冲突解决",
243
+ multiSelect: false,
244
+ options: [
245
+ { label: "自动合并", description: "用户无感知,可能产生意外结果" },
246
+ { label: "手动解决", description: "用户控制,增加交互复杂度" },
247
+ { label: "版本控制", description: "保留历史,需要分支管理" }
248
+ ]
249
+ }
250
+ ]
251
+ })
353
252
  ```
354
- FOR each selected role:
355
- 1. Map Phase 1 challenges to role domain:
356
- - "real-time sync" + system-architect → State management pattern
357
- - "100 users" + system-architect Communication protocol
358
- - "low latency" + system-architect → Conflict resolution
359
-
360
- 2. Generate 3-4 questions per role probing implementation depth, trade-offs, edge cases:
361
- Q: "How handle real-time state sync for 100+ users?" (explores approach)
362
- Q: "How resolve conflicts when 2 users edit simultaneously?" (explores edge case)
363
- Options: [Event Sourcing/Centralized/CRDT] (concrete, explain trade-offs for THIS use case)
364
-
365
- 3. Output questions in text format per role:
366
- - Display all questions for current role (3-4 questions, no 10-question limit)
367
- - Questions in Chinese (用中文提问)
368
- - Wait for user input
369
- - Parse answers using intelligent parsing
370
- - Store answers to session.role_decisions[role]
253
+
254
+ ### Phase 4: Conflict Resolution
255
+
256
+ **Goal**: Resolve ACTUAL conflicts from Phase 3 answers
257
+
258
+ **Algorithm**:
259
+ 1. Analyze Phase 3 answers for conflicts:
260
+ - Contradictory choices (e.g., "fast iteration" vs "complex Event Sourcing")
261
+ - Missing integration (e.g., "Optimistic updates" but no conflict handling)
262
+ - Implicit dependencies (e.g., "Live cursors" but no auth defined)
263
+ 2. Generate clarification questions referencing SPECIFIC Phase 3 choices
264
+ 3. AskUserQuestion (max 4 per call, multi-round) → Store to `session.cross_role_decisions`
265
+ 4. If NO conflicts: Skip Phase 4 (inform user: "未检测到跨角色冲突,跳过Phase 4")
266
+
267
+ **Example**:
268
+ ```javascript
269
+ AskUserQuestion({
270
+ questions: [{
271
+ question: "CRDT 与 UI 回滚期望冲突,如何解决?\n背景:system-architect选择CRDT,ui-designer期望回滚UI",
272
+ header: "架构冲突",
273
+ multiSelect: false,
274
+ options: [
275
+ { label: "采用 CRDT", description: "保持去中心化,调整UI期望" },
276
+ { label: "显示合并界面", description: "增加用户交互,展示冲突详情" },
277
+ { label: "切换到 OT", description: "支持回滚,增加服务器复杂度" }
278
+ ]
279
+ }]
280
+ })
371
281
  ```
372
282
 
373
- **Batching Strategy**:
374
- - Each role outputs all its questions at once (typically 3-4 questions)
375
- - No need to split per role (within 10-question batch limit)
376
- - Multiple roles processed sequentially (one role at a time for clarity)
283
+ ### Phase 4.5: Final Clarification
377
284
 
378
- **Output Format**: Follow standard format from "User Interaction Protocol" section (single-choice question format)
285
+ **Purpose**: Ensure no important points missed before generating specification
379
286
 
380
- **Example Topic-Specific Questions** (system-architect role for "real-time collaboration platform"):
381
- - "100+ 用户实时状态同步方案?" → Options: Event Sourcing / 集中式状态管理 / CRDT
382
- - "两个用户同时编辑冲突如何解决?" → Options: 自动合并 / 手动解决 / 版本控制
383
- - "低延迟通信协议选择?" → Options: WebSocket / SSE / 轮询
384
- - "系统扩展性架构方案?" → Options: 微服务 / 单体+缓存 / Serverless
287
+ **Steps**:
288
+ 1. Ask initial check:
289
+ ```javascript
290
+ AskUserQuestion({
291
+ questions: [{
292
+ question: "在生成最终规范之前,是否有前面未澄清的重点需要补充?",
293
+ header: "补充确认",
294
+ multiSelect: false,
295
+ options: [
296
+ { label: "无需补充", description: "前面的讨论已经足够完整" },
297
+ { label: "需要补充", description: "还有重要内容需要澄清" }
298
+ ]
299
+ }]
300
+ })
301
+ ```
302
+ 2. If "需要补充":
303
+ - Analyze user's additional points
304
+ - Generate progressive questions (not role-bound, interconnected)
305
+ - AskUserQuestion (max 4 per round) → Store to `session.additional_decisions`
306
+ - Repeat until user confirms completion
307
+ 3. If "无需补充": Proceed to Phase 5
308
+
309
+ **Progressive Pattern**: Questions interconnected, each round informs next, continue until resolved.
310
+
311
+ ### Phase 5: Generate Specification
385
312
 
386
- **Quality Requirements**: See "Question Generation Guidelines" section for detailed rules
313
+ **Steps**:
314
+ 1. Load all decisions: `intent_context` + `selected_roles` + `role_decisions` + `cross_role_decisions` + `additional_decisions`
315
+ 2. Transform Q&A to declarative: Questions → Headers, Answers → CONFIRMED/SELECTED statements
316
+ 3. Generate `guidance-specification.md`
317
+ 4. Update `workflow-session.json` (metadata only)
318
+ 5. Validate: No interrogative sentences, all decisions traceable
387
319
 
388
- ### Phase 4: Cross-Role Clarification (Conflict Detection)
320
+ ---
389
321
 
390
- **Goal**: Resolve ACTUAL conflicts from Phase 3 answers, not pre-defined relationships
322
+ ## Question Guidelines
391
323
 
392
- **Algorithm**:
393
- ```
394
- 1. Analyze Phase 3 answers for conflicts:
395
- - Contradictory choices: product-manager "fast iteration" vs system-architect "complex Event Sourcing"
396
- - Missing integration: ui-designer "Optimistic updates" but system-architect didn't address conflict handling
397
- - Implicit dependencies: ui-designer "Live cursors" but no auth approach defined
324
+ ### Core Principle
398
325
 
399
- 2. FOR each detected conflict:
400
- Generate clarification questions referencing SPECIFIC Phase 3 choices
326
+ **Target**: 开发者(理解技术但需要从用户需求出发)
401
327
 
402
- 3. Output clarification questions in text format:
403
- - Batch conflicts into rounds (max 10 questions per round)
404
- - Display questions with context from Phase 3 answers
405
- - Questions in Chinese (用中文提问)
406
- - Wait for user input
407
- - Parse answers using intelligent parsing
408
- - Store answers to session.cross_role_decisions
328
+ **Question Structure**: `[业务场景/需求前提] + [技术关注点]`
329
+ **Option Structure**: `标签:[技术方案] + 说明:[业务影响] + [技术权衡]`
409
330
 
410
- 4. If NO conflicts: Skip Phase 4 (inform user: "未检测到跨角色冲突,跳过Phase 4")
411
- ```
331
+ ### Quality Rules
412
332
 
413
- **Batching Strategy**:
414
- - Maximum 10 clarification questions per round
415
- - If conflicts > 10, split into multiple rounds
416
- - Prioritize most critical conflicts first
333
+ **MUST Include**:
334
+ - All questions in Chinese (用中文提问)
335
+ - 业务场景作为问题前提
336
+ - 技术选项的业务影响说明
337
+ - ✅ 量化指标和约束条件
417
338
 
418
- **Output Format**: Follow standard format from "User Interaction Protocol" section (single-choice question format with background context)
339
+ **MUST Avoid**:
340
+ - ❌ 纯技术选型无业务上下文
341
+ - ❌ 过度抽象的用户体验问题
342
+ - ❌ 脱离话题的通用架构问题
419
343
 
420
- **Example Conflict Detection** (from Phase 3 answers):
421
- - **Architecture Conflict**: "CRDT 与 UI 回滚期望冲突,如何解决?"
422
- - Background: system-architect chose CRDT, ui-designer expects rollback UI
423
- - Options: 采用 CRDT / 显示合并界面 / 切换到 OT
424
- - **Integration Gap**: "实时光标功能缺少身份认证方案"
425
- - Background: ui-designer chose live cursors, no auth defined
426
- - Options: OAuth 2.0 / JWT Token / Session-based
344
+ ### Phase-Specific Requirements
345
+
346
+ | Phase | Focus | Key Requirements |
347
+ |-------|-------|------------------|
348
+ | 1 | 意图理解 | Reference topic keywords, 用户场景、业务约束、优先级 |
349
+ | 2 | 角色推荐 | Intelligent analysis (NOT keyword mapping), explain relevance |
350
+ | 3 | 角色问题 | Reference Phase 1 keywords, concrete options with trade-offs |
351
+ | 4 | 冲突解决 | Reference SPECIFIC Phase 3 choices, explain impact on both roles |
427
352
 
428
- **Quality Requirements**: See "Question Generation Guidelines" section for conflict-specific rules
353
+ ---
429
354
 
430
- ### Phase 5: Generate Guidance Specification
355
+ ## Output & Governance
431
356
 
432
- **Steps**:
433
- 1. Load all decisions: `intent_context` + `selected_roles` + `role_decisions` + `cross_role_decisions`
434
- 2. Transform Q&A pairs to declarative: Questions → Headers, Answers → CONFIRMED/SELECTED statements
435
- 3. Generate guidance-specification.md (template below) - **PRIMARY OUTPUT FILE**
436
- 4. Update workflow-session.json with **METADATA ONLY**:
437
- - session_id (e.g., "WFS-topic-slug")
438
- - selected_roles[] (array of role names, e.g., ["system-architect", "ui-designer", "product-manager"])
439
- - topic (original user input string)
440
- - timestamp (ISO-8601 format)
441
- - phase_completed: "artifacts"
442
- - count_parameter (number from --count flag)
443
- 5. Validate: No interrogative sentences in .md file, all decisions traceable, no content duplication in .json
444
-
445
- **⚠️ CRITICAL OUTPUT SEPARATION**:
446
- - **guidance-specification.md**: Full guidance content (decisions, rationale, integration points)
447
- - **workflow-session.json**: Session metadata ONLY (no guidance content, no decisions, no Q&A pairs)
448
- - **NO content duplication**: Guidance stays in .md, metadata stays in .json
449
-
450
- ## Output Document Template
357
+ ### Output Template
451
358
 
452
359
  **File**: `.workflow/active/WFS-{topic}/.brainstorming/guidance-specification.md`
453
360
 
@@ -478,9 +385,9 @@ FOR each selected role:
478
385
 
479
386
  ## Next Steps
480
387
  **⚠️ Automatic Continuation** (when called from auto-parallel):
481
- - auto-parallel will assign agents to generate role-specific analysis documents
482
- - Each selected role gets dedicated conceptual-planning-agent
483
- - Agents read this guidance-specification.md for framework context
388
+ - auto-parallel assigns agents for role-specific analysis
389
+ - Each selected role gets conceptual-planning-agent
390
+ - Agents read this guidance-specification.md for context
484
391
 
485
392
  ## Appendix: Decision Tracking
486
393
  | Decision ID | Category | Question | Selected | Phase | Rationale |
@@ -490,115 +397,56 @@ FOR each selected role:
490
397
  | D-003+ | [Role] | [Q] | [A] | 3 | [Why] |
491
398
  ```
492
399
 
493
- ## Question Generation Guidelines
494
-
495
- ### Core Principle: Developer-Facing Questions with User Context
496
-
497
- **Target Audience**: 开发者(理解技术但需要从用户需求出发)
498
-
499
- **Generation Philosophy**:
500
- 1. **Phase 1**: 用户场景、业务约束、优先级(建立上下文)
501
- 2. **Phase 2**: 基于话题分析的智能角色推荐(非关键词映射)
502
- 3. **Phase 3**: 业务需求 + 技术选型(需求驱动的技术决策)
503
- 4. **Phase 4**: 技术冲突的业务权衡(帮助开发者理解影响)
504
-
505
- ### Universal Quality Rules
400
+ ### File Structure
506
401
 
507
- **Question Structure** (all phases):
508
402
  ```
509
- [业务场景/需求前提] + [技术关注点]
510
- ```
511
-
512
- **Option Structure** (all phases):
513
- ```
514
- 标签:[技术方案简称] + (业务特征)
515
- 说明:[业务影响] + [技术权衡]
403
+ .workflow/active/WFS-[topic]/
404
+ ├── workflow-session.json # Metadata ONLY
405
+ ├── .process/
406
+ │ └── context-package.json # Phase 0 output
407
+ └── .brainstorming/
408
+ └── guidance-specification.md # Full guidance content
516
409
  ```
517
410
 
518
- **MUST Include** (all phases):
519
- - ✅ All questions in Chinese (用中文提问)
520
- - ✅ 业务场景作为问题前提
521
- - ✅ 技术选项的业务影响说明
522
- - ✅ 量化指标和约束条件
523
-
524
- **MUST Avoid** (all phases):
525
- - ❌ 纯技术选型无业务上下文
526
- - ❌ 过度抽象的用户体验问题
527
- - ❌ 脱离话题的通用架构问题
528
-
529
- ### Phase-Specific Requirements
530
-
531
- **Phase 1 Requirements**:
532
- - Questions MUST reference topic keywords (NOT generic "Project type?")
533
- - Focus: 用户使用场景(谁用?怎么用?多频繁?)、业务约束(预算、时间、团队、合规)
534
- - Success metrics: 性能指标、用户体验目标
535
- - Priority ranking: MVP vs 长期规划
411
+ ### Session Metadata
536
412
 
537
- **Phase 3 Requirements**:
538
- - Questions MUST reference Phase 1 keywords (e.g., "real-time", "100 users")
539
- - Options MUST be concrete approaches with relevance to topic
540
- - Each option includes trade-offs specific to this use case
541
- - Include 业务需求驱动的技术问题、量化指标(并发数、延迟、可用性)
413
+ ```json
414
+ {
415
+ "session_id": "WFS-{topic-slug}",
416
+ "type": "brainstorming",
417
+ "topic": "{original user input}",
418
+ "selected_roles": ["system-architect", "ui-designer", "product-manager"],
419
+ "phase_completed": "artifacts",
420
+ "timestamp": "2025-10-24T10:30:00Z",
421
+ "count_parameter": 3
422
+ }
423
+ ```
542
424
 
543
- **Phase 4 Requirements**:
544
- - Questions MUST reference SPECIFIC Phase 3 choices in background context
545
- - Options address the detected conflict directly
546
- - Each option explains impact on both conflicting roles
547
- - NEVER use static "Cross-Role Matrix" - ALWAYS analyze actual Phase 3 answers
548
- - Focus: 技术冲突的业务权衡、帮助开发者理解不同选择的影响
425
+ **⚠️ Rule**: Session JSON stores ONLY metadata. All guidance content goes to guidance-specification.md.
549
426
 
550
- ## Validation Checklist
427
+ ### Validation Checklist
551
428
 
552
- Generated guidance-specification.md MUST:
553
429
  - ✅ No interrogative sentences (use CONFIRMED/SELECTED)
554
430
  - ✅ Every decision traceable to user answer
555
431
  - ✅ Cross-role conflicts resolved or documented
556
432
  - ✅ Next steps concrete and specific
557
- - ✅ All Phase 1-4 decisions in session metadata
433
+ - ✅ No content duplication between .json and .md
558
434
 
559
- ## Update Mechanism
435
+ ### Update Mechanism
560
436
 
561
437
  ```
562
438
  IF guidance-specification.md EXISTS:
563
439
  Prompt: "Regenerate completely / Update sections / Cancel"
564
440
  ELSE:
565
- Run full Phase 1-5 flow
441
+ Run full Phase 0-5 flow
566
442
  ```
567
443
 
568
- ## Governance Rules
444
+ ### Governance Rules
569
445
 
570
- **Output Requirements**:
571
446
  - All decisions MUST use CONFIRMED/SELECTED (NO "?" in decision sections)
572
447
  - Every decision MUST trace to user answer
573
448
  - Conflicts MUST be resolved (not marked "TBD")
574
449
  - Next steps MUST be actionable
575
- - Topic preserved as authoritative reference in session
450
+ - Topic preserved as authoritative reference
576
451
 
577
452
  **CRITICAL**: Guidance is single source of truth for downstream phases. Ambiguity violates governance.
578
-
579
- ## Storage Validation
580
-
581
- **workflow-session.json** (metadata only):
582
- ```json
583
- {
584
- "session_id": "WFS-{topic-slug}",
585
- "type": "brainstorming",
586
- "topic": "{original user input}",
587
- "selected_roles": ["system-architect", "ui-designer", "product-manager"],
588
- "phase_completed": "artifacts",
589
- "timestamp": "2025-10-24T10:30:00Z",
590
- "count_parameter": 3
591
- }
592
- ```
593
-
594
- **⚠️ Rule**: Session JSON stores ONLY metadata (session_id, selected_roles[], topic, timestamps). All guidance content goes to guidance-specification.md.
595
-
596
- ## File Structure
597
-
598
- ```
599
- .workflow/active/WFS-[topic]/
600
- ├── workflow-session.json # Session metadata ONLY
601
- └── .brainstorming/
602
- └── guidance-specification.md # Full guidance content
603
- ```
604
-