ace-experience 0.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 (94) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +40 -0
  3. package/ace/references/continuation-format.md +249 -0
  4. package/ace/references/gates.md +1078 -0
  5. package/ace/references/git-integration.md +254 -0
  6. package/ace/references/horsepower-profiles.md +73 -0
  7. package/ace/references/planning-config.md +189 -0
  8. package/ace/references/questioning.md +141 -0
  9. package/ace/references/tdd.md +263 -0
  10. package/ace/references/ui-brand.md +160 -0
  11. package/ace/references/verification-patterns.md +612 -0
  12. package/ace/templates/architect-prompt.md +117 -0
  13. package/ace/templates/brief.md +184 -0
  14. package/ace/templates/codebase/architecture.md +264 -0
  15. package/ace/templates/codebase/concerns.md +310 -0
  16. package/ace/templates/codebase/conventions.md +307 -0
  17. package/ace/templates/codebase/integrations.md +280 -0
  18. package/ace/templates/codebase/stack.md +186 -0
  19. package/ace/templates/codebase/structure.md +295 -0
  20. package/ace/templates/codebase/testing.md +480 -0
  21. package/ace/templates/config.json +36 -0
  22. package/ace/templates/continue-here.md +78 -0
  23. package/ace/templates/debug.md +159 -0
  24. package/ace/templates/detective-prompt.md +91 -0
  25. package/ace/templates/intel.md +283 -0
  26. package/ace/templates/milestone-archive.md +123 -0
  27. package/ace/templates/milestone.md +115 -0
  28. package/ace/templates/proof.md +322 -0
  29. package/ace/templates/pulse.md +176 -0
  30. package/ace/templates/recap.md +246 -0
  31. package/ace/templates/research/architecture.md +204 -0
  32. package/ace/templates/research/features.md +147 -0
  33. package/ace/templates/research/pitfalls.md +200 -0
  34. package/ace/templates/research/recap.md +170 -0
  35. package/ace/templates/research/stack.md +120 -0
  36. package/ace/templates/research-lite.md +146 -0
  37. package/ace/templates/research.md +552 -0
  38. package/ace/templates/specs.md +231 -0
  39. package/ace/templates/stage-prompt.md +567 -0
  40. package/ace/templates/track.md +202 -0
  41. package/ace/templates/uat.md +247 -0
  42. package/ace/templates/user-setup.md +311 -0
  43. package/ace/workflows/audit-stage.md +628 -0
  44. package/ace/workflows/audit-work.md +596 -0
  45. package/ace/workflows/continue-project.md +305 -0
  46. package/ace/workflows/diagnose-issues.md +231 -0
  47. package/ace/workflows/list-assumptions.md +178 -0
  48. package/ace/workflows/map-codebase.md +322 -0
  49. package/ace/workflows/research-stage.md +289 -0
  50. package/ace/workflows/run-plan.md +1844 -0
  51. package/ace/workflows/run-stage.md +686 -0
  52. package/ace/workflows/scope-stage.md +433 -0
  53. package/ace/workflows/ship-milestone.md +833 -0
  54. package/ace/workflows/transition.md +556 -0
  55. package/agents/ace-architect.md +1415 -0
  56. package/agents/ace-auditor.md +778 -0
  57. package/agents/ace-codebase-mapper.md +738 -0
  58. package/agents/ace-detective.md +1203 -0
  59. package/agents/ace-integration-checker.md +423 -0
  60. package/agents/ace-navigator.md +605 -0
  61. package/agents/ace-plan-reviewer.md +812 -0
  62. package/agents/ace-project-scout.md +865 -0
  63. package/agents/ace-runner.md +784 -0
  64. package/agents/ace-stage-scout.md +669 -0
  65. package/agents/ace-synthesizer.md +256 -0
  66. package/bin/install.js +1432 -0
  67. package/commands/ace.add-stage.md +211 -0
  68. package/commands/ace.add-todo.md +194 -0
  69. package/commands/ace.audit-milestone.md +277 -0
  70. package/commands/ace.audit.md +219 -0
  71. package/commands/ace.check-todos.md +229 -0
  72. package/commands/ace.complete-milestone.md +134 -0
  73. package/commands/ace.continue.md +46 -0
  74. package/commands/ace.dash.md +308 -0
  75. package/commands/ace.debug.md +169 -0
  76. package/commands/ace.discuss-stage.md +86 -0
  77. package/commands/ace.help.md +465 -0
  78. package/commands/ace.insert-stage.md +231 -0
  79. package/commands/ace.list-stage-assumptions.md +49 -0
  80. package/commands/ace.map-codebase.md +71 -0
  81. package/commands/ace.new-milestone.md +710 -0
  82. package/commands/ace.pause.md +132 -0
  83. package/commands/ace.plan-milestone-gaps.md +295 -0
  84. package/commands/ace.plan-stage.md +568 -0
  85. package/commands/ace.remove-stage.md +353 -0
  86. package/commands/ace.research-stage.md +200 -0
  87. package/commands/ace.run-stage.md +343 -0
  88. package/commands/ace.set-profile.md +116 -0
  89. package/commands/ace.settings.md +151 -0
  90. package/commands/ace.start.md +1008 -0
  91. package/commands/ace.status.md +364 -0
  92. package/hooks/dist/ace-check-update.js +67 -0
  93. package/hooks/dist/ace-statusline.js +96 -0
  94. package/package.json +85 -0
@@ -0,0 +1,308 @@
1
+ ---
2
+ name: ace.dash
3
+ description: Execute a quick task with ACE guarantees (atomic commits, state tracking) but skip optional agents
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Edit
8
+ - Glob
9
+ - Grep
10
+ - Bash
11
+ - Task
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <objective>
16
+ Execute small, ad-hoc tasks with ACE guarantees (atomic commits, pulse.md tracking) while skipping optional agents (research, plan-reviewer, auditor).
17
+
18
+ Dash mode is the same system with a shorter path:
19
+ - Spawns ace-architect (quick mode) + ace-runner(s)
20
+ - Skips ace-stage-scout, ace-plan-reviewer, ace-auditor
21
+ - Dash tasks live in `.ace/quick/` separate from planned stages
22
+ - Updates pulse.md "Quick Tasks Completed" table (NOT track.md)
23
+
24
+ Use when: You know exactly what to do and the task is small enough to not need research or verification.
25
+ </objective>
26
+
27
+ <execution_context>
28
+ Orchestration is inline - no separate workflow file. Dash mode is deliberately simpler than full ACE.
29
+ </execution_context>
30
+
31
+ <context>
32
+ @.ace/pulse.md
33
+ </context>
34
+
35
+ <process>
36
+ **Step 0: Resolve Horsepower Profile**
37
+
38
+ Read horsepower profile for agent spawning:
39
+
40
+ ```bash
41
+ HORSEPOWER=$(cat .ace/config.json 2>/dev/null | grep -o '"horsepower"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
42
+ ```
43
+
44
+ Default to "balanced" if not set.
45
+
46
+ **Model lookup table:**
47
+
48
+ | Agent | max | balanced | eco |
49
+ |-------|-----|----------|-----|
50
+ | ace-architect | opus | opus | sonnet |
51
+ | ace-runner | opus | sonnet | sonnet |
52
+
53
+ Store resolved models for use in Task calls below.
54
+
55
+ ---
56
+
57
+ **Step 1: Pre-flight validation**
58
+
59
+ Check that an active ACE project exists:
60
+
61
+ ```bash
62
+ if [ ! -f .ace/track.md ]; then
63
+ echo "Dash mode requires an active project with track.md."
64
+ echo "Run /ace.start first."
65
+ exit 1
66
+ fi
67
+ ```
68
+
69
+ If validation fails, stop immediately with the error message.
70
+
71
+ Dash tasks can run mid-stage - validation only checks track.md exists, not stage status.
72
+
73
+ ---
74
+
75
+ **Step 2: Get task description**
76
+
77
+ Prompt user interactively for the task description:
78
+
79
+ ```
80
+ AskUserQuestion(
81
+ header: "Dash Task",
82
+ question: "What do you want to do?",
83
+ followUp: null
84
+ )
85
+ ```
86
+
87
+ Store response as `$DESCRIPTION`.
88
+
89
+ If empty, re-prompt: "Please provide a task description."
90
+
91
+ Generate slug from description:
92
+ ```bash
93
+ slug=$(echo "$DESCRIPTION" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//' | cut -c1-40)
94
+ ```
95
+
96
+ ---
97
+
98
+ **Step 3: Calculate next dash task number**
99
+
100
+ Ensure `.ace/quick/` directory exists and find the next sequential number:
101
+
102
+ ```bash
103
+ # Ensure .ace/quick/ exists
104
+ mkdir -p .ace/quick
105
+
106
+ # Find highest existing number and increment
107
+ last=$(ls -1d .ace/quick/[0-9][0-9][0-9]-* 2>/dev/null | sort -r | head -1 | xargs -I{} basename {} | grep -oE '^[0-9]+')
108
+
109
+ if [ -z "$last" ]; then
110
+ next_num="001"
111
+ else
112
+ next_num=$(printf "%03d" $((10#$last + 1)))
113
+ fi
114
+ ```
115
+
116
+ ---
117
+
118
+ **Step 4: Create dash task directory**
119
+
120
+ Create the directory for this dash task:
121
+
122
+ ```bash
123
+ DASH_DIR=".ace/quick/${next_num}-${slug}"
124
+ mkdir -p "$DASH_DIR"
125
+ ```
126
+
127
+ Report to user:
128
+ ```
129
+ Creating dash task ${next_num}: ${DESCRIPTION}
130
+ Directory: ${DASH_DIR}
131
+ ```
132
+
133
+ Store `$DASH_DIR` for use in orchestration.
134
+
135
+ ---
136
+
137
+ **Step 5: Spawn architect (quick mode)**
138
+
139
+ Spawn ace-architect with quick mode context:
140
+
141
+ ```
142
+ Task(
143
+ prompt="
144
+ <planning_context>
145
+
146
+ **Mode:** quick
147
+ **Directory:** ${DASH_DIR}
148
+ **Description:** ${DESCRIPTION}
149
+
150
+ **Project State:**
151
+ @.ace/pulse.md
152
+
153
+ </planning_context>
154
+
155
+ <constraints>
156
+ - Create a SINGLE run with 1-3 focused tasks
157
+ - Dash tasks should be atomic and self-contained
158
+ - No research stage, no reviewer stage
159
+ - Target ~30% context usage (simple, focused)
160
+ </constraints>
161
+
162
+ <output>
163
+ Write run to: ${DASH_DIR}/${next_num}-run.md
164
+ Return: ## PLANNING COMPLETE with run path
165
+ </output>
166
+ ",
167
+ subagent_type="ace-architect",
168
+ model="{architect_model}",
169
+ description="Dash run: ${DESCRIPTION}"
170
+ )
171
+ ```
172
+
173
+ After architect returns:
174
+ 1. Verify run exists at `${DASH_DIR}/${next_num}-run.md`
175
+ 2. Extract run count (typically 1 for dash tasks)
176
+ 3. Report: "Run created: ${DASH_DIR}/${next_num}-run.md"
177
+
178
+ If run not found, error: "Architect failed to create ${next_num}-run.md"
179
+
180
+ ---
181
+
182
+ **Step 6: Spawn runner**
183
+
184
+ Spawn ace-runner with run reference:
185
+
186
+ ```
187
+ Task(
188
+ prompt="
189
+ Execute dash task ${next_num}.
190
+
191
+ Run: @${DASH_DIR}/${next_num}-run.md
192
+ Project state: @.ace/pulse.md
193
+
194
+ <constraints>
195
+ - Execute all tasks in the run
196
+ - Commit each task atomically
197
+ - Create recap at: ${DASH_DIR}/${next_num}-recap.md
198
+ - Do NOT update track.md (dash tasks are separate from planned stages)
199
+ </constraints>
200
+ ",
201
+ subagent_type="ace-runner",
202
+ model="{runner_model}",
203
+ description="Execute: ${DESCRIPTION}"
204
+ )
205
+ ```
206
+
207
+ After runner returns:
208
+ 1. Verify recap exists at `${DASH_DIR}/${next_num}-recap.md`
209
+ 2. Extract commit hash from runner output
210
+ 3. Report completion status
211
+
212
+ If recap not found, error: "Runner failed to create ${next_num}-recap.md"
213
+
214
+ Note: For dash tasks producing multiple runs (rare), spawn runners in parallel batches per run-stage patterns.
215
+
216
+ ---
217
+
218
+ **Step 7: Update pulse.md**
219
+
220
+ Update pulse.md with dash task completion record.
221
+
222
+ **7a. Check if "Quick Tasks Completed" section exists:**
223
+
224
+ Read pulse.md and check for `### Quick Tasks Completed` section.
225
+
226
+ **7b. If section doesn't exist, create it:**
227
+
228
+ Insert after `### Blockers/Concerns` section:
229
+
230
+ ```markdown
231
+ ### Quick Tasks Completed
232
+
233
+ | # | Description | Date | Commit | Directory |
234
+ |---|-------------|------|--------|-----------|
235
+ ```
236
+
237
+ **7c. Append new row to table:**
238
+
239
+ ```markdown
240
+ | ${next_num} | ${DESCRIPTION} | $(date +%Y-%m-%d) | ${commit_hash} | [${next_num}-${slug}](./quick/${next_num}-${slug}/) |
241
+ ```
242
+
243
+ **7d. Update "Last activity" line:**
244
+
245
+ Find and update the line:
246
+ ```
247
+ Last activity: $(date +%Y-%m-%d) - Completed dash task ${next_num}: ${DESCRIPTION}
248
+ ```
249
+
250
+ Use Edit tool to make these changes atomically
251
+
252
+ ---
253
+
254
+ **Step 8: Final commit and completion**
255
+
256
+ Stage and commit dash task artifacts:
257
+
258
+ ```bash
259
+ # Stage dash task artifacts
260
+ git add ${DASH_DIR}/${next_num}-run.md
261
+ git add ${DASH_DIR}/${next_num}-recap.md
262
+ git add .ace/pulse.md
263
+
264
+ # Commit with dash task format
265
+ git commit -m "$(cat <<'EOF'
266
+ docs(dash-${next_num}): ${DESCRIPTION}
267
+
268
+ Dash task completed.
269
+
270
+ Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
271
+ EOF
272
+ )"
273
+ ```
274
+
275
+ Get final commit hash:
276
+ ```bash
277
+ commit_hash=$(git rev-parse --short HEAD)
278
+ ```
279
+
280
+ Display completion output:
281
+ ```
282
+ ---
283
+
284
+ ACE > DASH TASK COMPLETE
285
+
286
+ Dash Task ${next_num}: ${DESCRIPTION}
287
+
288
+ Recap: ${DASH_DIR}/${next_num}-recap.md
289
+ Commit: ${commit_hash}
290
+
291
+ ---
292
+
293
+ Ready for next task: /ace.dash
294
+ ```
295
+
296
+ </process>
297
+
298
+ <success_criteria>
299
+ - [ ] track.md validation passes
300
+ - [ ] User provides task description
301
+ - [ ] Slug generated (lowercase, hyphens, max 40 chars)
302
+ - [ ] Next number calculated (001, 002, 003...)
303
+ - [ ] Directory created at `.ace/quick/NNN-slug/`
304
+ - [ ] `${next_num}-run.md` created by architect
305
+ - [ ] `${next_num}-recap.md` created by runner
306
+ - [ ] pulse.md updated with dash task row
307
+ - [ ] Artifacts committed
308
+ </success_criteria>
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: ace.debug
3
+ description: Systematic debugging with persistent state across context resets
4
+ argument-hint: [issue description]
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Task
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ Debug issues using scientific method with subagent isolation.
14
+
15
+ **Orchestrator role:** Gather symptoms, spawn ace-detective agent, handle gates, spawn continuations.
16
+
17
+ **Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.
18
+ </objective>
19
+
20
+ <context>
21
+ User's issue: $ARGUMENTS
22
+
23
+ Check for active sessions:
24
+ ```bash
25
+ ls .ace/debug/*.md 2>/dev/null | grep -v resolved | head -5
26
+ ```
27
+ </context>
28
+
29
+ <process>
30
+
31
+ ## 0. Resolve Horsepower Profile
32
+
33
+ Read horsepower profile for agent spawning:
34
+
35
+ ```bash
36
+ HORSEPOWER=$(cat .ace/config.json 2>/dev/null | grep -o '"horsepower"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
37
+ ```
38
+
39
+ Default to "balanced" if not set.
40
+
41
+ **Model lookup table:**
42
+
43
+ | Agent | max | balanced | eco |
44
+ |-------|---------|----------|--------|
45
+ | ace-detective | opus | sonnet | sonnet |
46
+
47
+ Store resolved model for use in Task calls below.
48
+
49
+ ## 1. Check Active Sessions
50
+
51
+ If active sessions exist AND no $ARGUMENTS:
52
+ - List sessions with status, hypothesis, next action
53
+ - User picks number to resume OR describes new issue
54
+
55
+ If $ARGUMENTS provided OR user describes new issue:
56
+ - Continue to symptom gathering
57
+
58
+ ## 2. Gather Symptoms (if new issue)
59
+
60
+ Use AskUserQuestion for each:
61
+
62
+ 1. **Expected behavior** - What should happen?
63
+ 2. **Actual behavior** - What happens instead?
64
+ 3. **Error messages** - Any errors? (paste or describe)
65
+ 4. **Timeline** - When did this start? Ever worked?
66
+ 5. **Reproduction** - How do you trigger it?
67
+
68
+ After all gathered, confirm ready to investigate.
69
+
70
+ ## 3. Spawn ace-detective Agent
71
+
72
+ Fill prompt and spawn:
73
+
74
+ ```markdown
75
+ <objective>
76
+ Investigate issue: {slug}
77
+
78
+ **Summary:** {trigger}
79
+ </objective>
80
+
81
+ <symptoms>
82
+ expected: {expected}
83
+ actual: {actual}
84
+ errors: {errors}
85
+ reproduction: {reproduction}
86
+ timeline: {timeline}
87
+ </symptoms>
88
+
89
+ <mode>
90
+ symptoms_prefilled: true
91
+ goal: find_and_fix
92
+ </mode>
93
+
94
+ <debug_file>
95
+ Create: .ace/debug/{slug}.md
96
+ </debug_file>
97
+ ```
98
+
99
+ ```
100
+ Task(
101
+ prompt=filled_prompt,
102
+ subagent_type="ace-detective",
103
+ model="{detective_model}",
104
+ description="Debug {slug}"
105
+ )
106
+ ```
107
+
108
+ ## 4. Handle Agent Return
109
+
110
+ **If `## CULPRIT FOUND`:**
111
+ - Display root cause and evidence summary
112
+ - Offer options:
113
+ - "Fix now" - spawn fix subagent
114
+ - "Plan fix" - suggest ace.plan-stage --gaps
115
+ - "Manual fix" - done
116
+
117
+ **If `## GATE REACHED`:**
118
+ - Present gate details to user
119
+ - Get user response
120
+ - Spawn continuation agent (see step 5)
121
+
122
+ **If `## INVESTIGATION INCONCLUSIVE`:**
123
+ - Show what was checked and eliminated
124
+ - Offer options:
125
+ - "Continue investigating" - spawn new agent with additional context
126
+ - "Manual investigation" - done
127
+ - "Add more context" - gather more symptoms, spawn again
128
+
129
+ ## 5. Spawn Continuation Agent (After Gate)
130
+
131
+ When user responds to gate, spawn fresh agent:
132
+
133
+ ```markdown
134
+ <objective>
135
+ Continue debugging {slug}. Evidence is in the debug file.
136
+ </objective>
137
+
138
+ <prior_state>
139
+ Debug file: @.ace/debug/{slug}.md
140
+ </prior_state>
141
+
142
+ <checkpoint_response>
143
+ **Type:** {checkpoint_type}
144
+ **Response:** {user_response}
145
+ </checkpoint_response>
146
+
147
+ <mode>
148
+ goal: find_and_fix
149
+ </mode>
150
+ ```
151
+
152
+ ```
153
+ Task(
154
+ prompt=continuation_prompt,
155
+ subagent_type="ace-detective",
156
+ model="{detective_model}",
157
+ description="Continue debug {slug}"
158
+ )
159
+ ```
160
+
161
+ </process>
162
+
163
+ <success_criteria>
164
+ - [ ] Active sessions checked
165
+ - [ ] Symptoms gathered (if new)
166
+ - [ ] ace-detective spawned with context
167
+ - [ ] Gates handled correctly
168
+ - [ ] Root cause confirmed before fixing
169
+ </success_criteria>
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: ace.discuss-stage
3
+ description: Gather stage context through adaptive questioning before architecting
4
+ argument-hint: "<stage>"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ ---
13
+
14
+ <objective>
15
+ Extract implementation decisions that downstream agents need — scout and architect will use intel.md to know what to investigate and what choices are locked.
16
+
17
+ **How it works:**
18
+ 1. Analyze the stage to identify gray areas (UI, UX, behavior, etc.)
19
+ 2. Present gray areas — user selects which to discuss
20
+ 3. Deep-dive each selected area until satisfied
21
+ 4. Create intel.md with decisions that guide research and architecting
22
+
23
+ **Output:** `{stage}-intel.md` — decisions clear enough that downstream agents can act without asking the user again
24
+ </objective>
25
+
26
+ <execution_context>
27
+ @~/.claude/ace/workflows/scope-stage.md
28
+ @~/.claude/ace/templates/intel.md
29
+ </execution_context>
30
+
31
+ <context>
32
+ Stage number: $ARGUMENTS (required)
33
+
34
+ **Load project state:**
35
+ @.ace/pulse.md
36
+
37
+ **Load track:**
38
+ @.ace/track.md
39
+ </context>
40
+
41
+ <process>
42
+ 1. Validate stage number (error if missing or not in track)
43
+ 2. Check if intel.md exists (offer update/view/skip if yes)
44
+ 3. **Analyze stage** — Identify domain and generate stage-specific gray areas
45
+ 4. **Present gray areas** — Multi-select: which to discuss? (NO skip option)
46
+ 5. **Deep-dive each area** — 4 questions per area, then offer more/next
47
+ 6. **Write intel.md** — Sections match areas discussed
48
+ 7. Offer next steps (research or architect)
49
+
50
+ **CRITICAL: Scope guardrail**
51
+ - Stage boundary from track.md is FIXED
52
+ - Discussion clarifies HOW to implement, not WHETHER to add more
53
+ - If user suggests new capabilities: "That's its own stage. I'll note it for later."
54
+ - Capture deferred ideas — don't lose them, don't act on them
55
+
56
+ **Domain-aware gray areas:**
57
+ Gray areas depend on what's being built. Analyze the stage goal:
58
+ - Something users SEE → layout, density, interactions, states
59
+ - Something users CALL → responses, errors, auth, versioning
60
+ - Something users RUN → output format, flags, modes, error handling
61
+ - Something users READ → structure, tone, depth, flow
62
+ - Something being ORGANIZED → criteria, grouping, naming, exceptions
63
+
64
+ Generate 3-4 **stage-specific** gray areas, not generic categories.
65
+
66
+ **Probing depth:**
67
+ - Ask 4 questions per area before checking
68
+ - "More questions about [area], or move to next?"
69
+ - If more → ask 4 more, check again
70
+ - After all areas → "Ready to create intel?"
71
+
72
+ **Do NOT ask about (Claude handles these):**
73
+ - Technical implementation
74
+ - Architecture choices
75
+ - Performance concerns
76
+ - Scope expansion
77
+ </process>
78
+
79
+ <success_criteria>
80
+ - Gray areas identified through intelligent analysis
81
+ - User chose which areas to discuss
82
+ - Each selected area explored until satisfied
83
+ - Scope creep redirected to deferred ideas
84
+ - intel.md captures decisions, not vague vision
85
+ - User knows next steps
86
+ </success_criteria>