ariadna 1.3.0 → 2.0.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/ariadna.gemspec +0 -1
  3. data/data/agents/ariadna-codebase-mapper.md +34 -722
  4. data/data/agents/ariadna-debugger.md +44 -1139
  5. data/data/agents/ariadna-executor.md +75 -396
  6. data/data/agents/ariadna-planner.md +78 -1215
  7. data/data/agents/ariadna-roadmapper.md +55 -582
  8. data/data/agents/ariadna-verifier.md +60 -702
  9. data/data/ariadna/templates/config.json +8 -33
  10. data/data/ariadna/workflows/debug.md +28 -0
  11. data/data/ariadna/workflows/execute-phase.md +31 -513
  12. data/data/ariadna/workflows/map-codebase.md +20 -319
  13. data/data/ariadna/workflows/new-milestone.md +20 -365
  14. data/data/ariadna/workflows/new-project.md +19 -880
  15. data/data/ariadna/workflows/plan-phase.md +24 -443
  16. data/data/ariadna/workflows/progress.md +20 -376
  17. data/data/ariadna/workflows/quick.md +19 -221
  18. data/data/ariadna/workflows/roadmap-ops.md +28 -0
  19. data/data/ariadna/workflows/verify-work.md +23 -560
  20. data/data/commands/ariadna/add-phase.md +11 -22
  21. data/data/commands/ariadna/debug.md +11 -143
  22. data/data/commands/ariadna/execute-phase.md +12 -30
  23. data/data/commands/ariadna/insert-phase.md +7 -14
  24. data/data/commands/ariadna/map-codebase.md +16 -49
  25. data/data/commands/ariadna/new-milestone.md +12 -25
  26. data/data/commands/ariadna/new-project.md +22 -26
  27. data/data/commands/ariadna/plan-phase.md +13 -22
  28. data/data/commands/ariadna/progress.md +16 -6
  29. data/data/commands/ariadna/quick.md +9 -11
  30. data/data/commands/ariadna/remove-phase.md +9 -12
  31. data/data/commands/ariadna/verify-work.md +14 -19
  32. data/data/skills/rails-backend/API.md +138 -0
  33. data/data/skills/rails-backend/CONTROLLERS.md +154 -0
  34. data/data/skills/rails-backend/JOBS.md +132 -0
  35. data/data/skills/rails-backend/MODELS.md +213 -0
  36. data/data/skills/rails-backend/SKILL.md +169 -0
  37. data/data/skills/rails-frontend/ASSETS.md +154 -0
  38. data/data/skills/rails-frontend/COMPONENTS.md +253 -0
  39. data/data/skills/rails-frontend/SKILL.md +187 -0
  40. data/data/skills/rails-frontend/VIEWS.md +168 -0
  41. data/data/skills/rails-performance/PROFILING.md +106 -0
  42. data/data/skills/rails-performance/SKILL.md +217 -0
  43. data/data/skills/rails-security/AUDIT.md +118 -0
  44. data/data/skills/rails-security/SKILL.md +422 -0
  45. data/data/skills/rails-testing/FIXTURES.md +78 -0
  46. data/data/skills/rails-testing/SKILL.md +160 -0
  47. data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
  48. data/lib/ariadna/installer.rb +11 -15
  49. data/lib/ariadna/tools/cli.rb +0 -12
  50. data/lib/ariadna/tools/config_manager.rb +10 -72
  51. data/lib/ariadna/tools/frontmatter.rb +23 -1
  52. data/lib/ariadna/tools/init.rb +201 -401
  53. data/lib/ariadna/tools/model_profiles.rb +6 -14
  54. data/lib/ariadna/tools/phase_manager.rb +1 -10
  55. data/lib/ariadna/tools/state_manager.rb +170 -451
  56. data/lib/ariadna/tools/template_filler.rb +4 -12
  57. data/lib/ariadna/tools/verification.rb +21 -399
  58. data/lib/ariadna/uninstaller.rb +9 -0
  59. data/lib/ariadna/version.rb +1 -1
  60. data/lib/ariadna.rb +1 -0
  61. metadata +20 -91
  62. data/data/agents/ariadna-backend-executor.md +0 -261
  63. data/data/agents/ariadna-frontend-executor.md +0 -259
  64. data/data/agents/ariadna-integration-checker.md +0 -418
  65. data/data/agents/ariadna-phase-researcher.md +0 -469
  66. data/data/agents/ariadna-plan-checker.md +0 -622
  67. data/data/agents/ariadna-project-researcher.md +0 -618
  68. data/data/agents/ariadna-research-synthesizer.md +0 -236
  69. data/data/agents/ariadna-test-executor.md +0 -266
  70. data/data/ariadna/references/checkpoints.md +0 -772
  71. data/data/ariadna/references/continuation-format.md +0 -249
  72. data/data/ariadna/references/decimal-phase-calculation.md +0 -65
  73. data/data/ariadna/references/git-integration.md +0 -248
  74. data/data/ariadna/references/git-planning-commit.md +0 -38
  75. data/data/ariadna/references/model-profile-resolution.md +0 -32
  76. data/data/ariadna/references/model-profiles.md +0 -73
  77. data/data/ariadna/references/phase-argument-parsing.md +0 -61
  78. data/data/ariadna/references/planning-config.md +0 -194
  79. data/data/ariadna/references/questioning.md +0 -153
  80. data/data/ariadna/references/rails-conventions.md +0 -416
  81. data/data/ariadna/references/tdd.md +0 -267
  82. data/data/ariadna/references/ui-brand.md +0 -160
  83. data/data/ariadna/references/verification-patterns.md +0 -853
  84. data/data/ariadna/templates/codebase/architecture.md +0 -481
  85. data/data/ariadna/templates/codebase/concerns.md +0 -380
  86. data/data/ariadna/templates/codebase/conventions.md +0 -434
  87. data/data/ariadna/templates/codebase/integrations.md +0 -328
  88. data/data/ariadna/templates/codebase/stack.md +0 -189
  89. data/data/ariadna/templates/codebase/structure.md +0 -418
  90. data/data/ariadna/templates/codebase/testing.md +0 -606
  91. data/data/ariadna/templates/context.md +0 -283
  92. data/data/ariadna/templates/continue-here.md +0 -78
  93. data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
  94. data/data/ariadna/templates/phase-prompt.md +0 -609
  95. data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
  96. data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
  97. data/data/ariadna/templates/research-project/FEATURES.md +0 -168
  98. data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
  99. data/data/ariadna/templates/research-project/STACK.md +0 -251
  100. data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
  101. data/data/ariadna/templates/state.md +0 -176
  102. data/data/ariadna/templates/summary-complex.md +0 -59
  103. data/data/ariadna/templates/summary-minimal.md +0 -41
  104. data/data/ariadna/templates/summary-standard.md +0 -48
  105. data/data/ariadna/templates/user-setup.md +0 -310
  106. data/data/ariadna/workflows/add-phase.md +0 -111
  107. data/data/ariadna/workflows/add-todo.md +0 -157
  108. data/data/ariadna/workflows/audit-milestone.md +0 -241
  109. data/data/ariadna/workflows/check-todos.md +0 -176
  110. data/data/ariadna/workflows/complete-milestone.md +0 -644
  111. data/data/ariadna/workflows/diagnose-issues.md +0 -219
  112. data/data/ariadna/workflows/discovery-phase.md +0 -289
  113. data/data/ariadna/workflows/discuss-phase.md +0 -408
  114. data/data/ariadna/workflows/execute-plan.md +0 -448
  115. data/data/ariadna/workflows/help.md +0 -470
  116. data/data/ariadna/workflows/insert-phase.md +0 -129
  117. data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
  118. data/data/ariadna/workflows/pause-work.md +0 -122
  119. data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
  120. data/data/ariadna/workflows/remove-phase.md +0 -154
  121. data/data/ariadna/workflows/research-phase.md +0 -74
  122. data/data/ariadna/workflows/resume-project.md +0 -306
  123. data/data/ariadna/workflows/set-profile.md +0 -80
  124. data/data/ariadna/workflows/settings.md +0 -145
  125. data/data/ariadna/workflows/transition.md +0 -493
  126. data/data/ariadna/workflows/update.md +0 -212
  127. data/data/ariadna/workflows/verify-phase.md +0 -226
  128. data/data/commands/ariadna/add-todo.md +0 -42
  129. data/data/commands/ariadna/audit-milestone.md +0 -42
  130. data/data/commands/ariadna/check-todos.md +0 -41
  131. data/data/commands/ariadna/complete-milestone.md +0 -136
  132. data/data/commands/ariadna/discuss-phase.md +0 -86
  133. data/data/commands/ariadna/help.md +0 -22
  134. data/data/commands/ariadna/list-phase-assumptions.md +0 -50
  135. data/data/commands/ariadna/pause-work.md +0 -35
  136. data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
  137. data/data/commands/ariadna/reapply-patches.md +0 -110
  138. data/data/commands/ariadna/research-phase.md +0 -187
  139. data/data/commands/ariadna/resume-work.md +0 -40
  140. data/data/commands/ariadna/set-profile.md +0 -34
  141. data/data/commands/ariadna/settings.md +0 -36
  142. data/data/commands/ariadna/update.md +0 -37
  143. data/data/guides/backend.md +0 -3069
  144. data/data/guides/frontend.md +0 -1479
  145. data/data/guides/performance.md +0 -1193
  146. data/data/guides/security.md +0 -1522
  147. data/data/guides/style-guide.md +0 -1091
  148. data/data/guides/testing.md +0 -504
  149. data/data/templates.md +0 -94
@@ -1,408 +0,0 @@
1
- <purpose>
2
- Extract implementation decisions that downstream agents need. Analyze the phase to identify gray areas, let the user choose what to discuss, then deep-dive each selected area until satisfied.
3
-
4
- You are a thinking partner, not an interviewer. The user is the visionary — you are the builder. Your job is to capture decisions that will guide research and planning, not to figure out implementation yourself.
5
- </purpose>
6
-
7
- <downstream_awareness>
8
- **CONTEXT.md feeds into:**
9
-
10
- 1. **ariadna-phase-researcher** — Reads CONTEXT.md to know WHAT to research
11
- - "User wants card-based layout" → researcher investigates card component patterns
12
- - "Infinite scroll decided" → researcher looks into virtualization libraries
13
-
14
- 2. **ariadna-planner** — Reads CONTEXT.md to know WHAT decisions are locked
15
- - "Pull-to-refresh on mobile" → planner includes that in task specs
16
- - "Claude's Discretion: loading skeleton" → planner can decide approach
17
-
18
- **Your job:** Capture decisions clearly enough that downstream agents can act on them without asking the user again.
19
-
20
- **Not your job:** Figure out HOW to implement. That's what research and planning do with the decisions you capture.
21
- </downstream_awareness>
22
-
23
- <philosophy>
24
- **User = founder/visionary. Claude = builder.**
25
-
26
- The user knows:
27
- - How they imagine it working
28
- - What it should look/feel like
29
- - What's essential vs nice-to-have
30
- - Specific behaviors or references they have in mind
31
-
32
- The user doesn't know (and shouldn't be asked):
33
- - Codebase patterns (researcher reads the code)
34
- - Technical risks (researcher identifies these)
35
- - Implementation approach (planner figures this out)
36
- - Success metrics (inferred from the work)
37
-
38
- Ask about vision and implementation choices. Capture decisions for downstream agents.
39
- </philosophy>
40
-
41
- <scope_guardrail>
42
- **CRITICAL: No scope creep.**
43
-
44
- The phase boundary comes from ROADMAP.md and is FIXED. Discussion clarifies HOW to implement what's scoped, never WHETHER to add new capabilities.
45
-
46
- **Allowed (clarifying ambiguity):**
47
- - "How should posts be displayed?" (layout, density, info shown)
48
- - "What happens on empty state?" (within the feature)
49
- - "Pull to refresh or manual?" (behavior choice)
50
-
51
- **Not allowed (scope creep):**
52
- - "Should we also add comments?" (new capability)
53
- - "What about search/filtering?" (new capability)
54
- - "Maybe include bookmarking?" (new capability)
55
-
56
- **The heuristic:** Does this clarify how we implement what's already in the phase, or does it add a new capability that could be its own phase?
57
-
58
- **When user suggests scope creep:**
59
- ```
60
- "[Feature X] would be a new capability — that's its own phase.
61
- Want me to note it for the roadmap backlog?
62
-
63
- For now, let's focus on [phase domain]."
64
- ```
65
-
66
- Capture the idea in a "Deferred Ideas" section. Don't lose it, don't act on it.
67
- </scope_guardrail>
68
-
69
- <gray_area_identification>
70
- Gray areas are **implementation decisions the user cares about** — things that could go multiple ways and would change the result.
71
-
72
- **How to identify gray areas:**
73
-
74
- 1. **Read the phase goal** from ROADMAP.md
75
- 2. **Understand the domain** — What kind of thing is being built?
76
- - Something users SEE → visual presentation, interactions, states matter
77
- - Something users CALL → interface contracts, responses, errors matter
78
- - Something users RUN → invocation, output, behavior modes matter
79
- - Something users READ → structure, tone, depth, flow matter
80
- - Something being ORGANIZED → criteria, grouping, handling exceptions matter
81
- 3. **Generate phase-specific gray areas** — Not generic categories, but concrete decisions for THIS phase
82
-
83
- **Don't use generic category labels** (UI, UX, Behavior). Generate specific gray areas:
84
-
85
- ```
86
- Phase: "User authentication"
87
- → Session handling, Error responses, Multi-device policy, Recovery flow
88
-
89
- Phase: "Organize photo library"
90
- → Grouping criteria, Duplicate handling, Naming convention, Folder structure
91
-
92
- Phase: "CLI for database backups"
93
- → Output format, Flag design, Progress reporting, Error recovery
94
-
95
- Phase: "API documentation"
96
- → Structure/navigation, Code examples depth, Versioning approach, Interactive elements
97
- ```
98
-
99
- **The key question:** What decisions would change the outcome that the user should weigh in on?
100
-
101
- **Claude handles these (don't ask):**
102
- - Technical implementation details
103
- - Architecture patterns
104
- - Performance optimization
105
- - Scope (roadmap defines this)
106
- </gray_area_identification>
107
-
108
- <process>
109
-
110
- <step name="initialize" priority="first">
111
- Phase number from argument (required).
112
-
113
- ```bash
114
- INIT=$(ariadna-tools init phase-op "${PHASE}")
115
- ```
116
-
117
- Parse JSON for: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `has_verification`, `plan_count`, `roadmap_exists`, `planning_exists`.
118
-
119
- **If `phase_found` is false:**
120
- ```
121
- Phase [X] not found in roadmap.
122
-
123
- Use /ariadna:progress to see available phases.
124
- ```
125
- Exit workflow.
126
-
127
- **If `phase_found` is true:** Continue to check_existing.
128
- </step>
129
-
130
- <step name="check_existing">
131
- Check if CONTEXT.md already exists using `has_context` from init.
132
-
133
- ```bash
134
- ls ${phase_dir}/*-CONTEXT.md 2>/dev/null
135
- ```
136
-
137
- **If exists:**
138
- Use AskUserQuestion:
139
- - header: "Existing context"
140
- - question: "Phase [X] already has context. What do you want to do?"
141
- - options:
142
- - "Update it" — Review and revise existing context
143
- - "View it" — Show me what's there
144
- - "Skip" — Use existing context as-is
145
-
146
- If "Update": Load existing, continue to analyze_phase
147
- If "View": Display CONTEXT.md, then offer update/skip
148
- If "Skip": Exit workflow
149
-
150
- **If doesn't exist:** Continue to analyze_phase.
151
- </step>
152
-
153
- <step name="analyze_phase">
154
- Analyze the phase to identify gray areas worth discussing.
155
-
156
- **Read the phase description from ROADMAP.md and determine:**
157
-
158
- 1. **Domain boundary** — What capability is this phase delivering? State it clearly.
159
-
160
- 2. **Gray areas by category** — For each relevant category (UI, UX, Behavior, Empty States, Content), identify 1-2 specific ambiguities that would change implementation.
161
-
162
- 3. **Skip assessment** — If no meaningful gray areas exist (pure infrastructure, clear-cut implementation), the phase may not need discussion.
163
-
164
- **Output your analysis internally, then present to user.**
165
-
166
- Example analysis for "Post Feed" phase:
167
- ```
168
- Domain: Displaying posts from followed users
169
- Gray areas:
170
- - UI: Layout style (cards vs timeline vs grid)
171
- - UI: Information density (full posts vs previews)
172
- - Behavior: Loading pattern (infinite scroll vs pagination)
173
- - Empty State: What shows when no posts exist
174
- - Content: What metadata displays (time, author, reactions count)
175
- ```
176
- </step>
177
-
178
- <step name="present_gray_areas">
179
- Present the domain boundary and gray areas to user.
180
-
181
- **First, state the boundary:**
182
- ```
183
- Phase [X]: [Name]
184
- Domain: [What this phase delivers — from your analysis]
185
-
186
- We'll clarify HOW to implement this.
187
- (New capabilities belong in other phases.)
188
- ```
189
-
190
- **Then use AskUserQuestion (multiSelect: true):**
191
- - header: "Discuss"
192
- - question: "Which areas do you want to discuss for [phase name]?"
193
- - options: Generate 3-4 phase-specific gray areas, each formatted as:
194
- - "[Specific area]" (label) — concrete, not generic
195
- - [1-2 questions this covers] (description)
196
-
197
- **Do NOT include a "skip" or "you decide" option.** User ran this command to discuss — give them real choices.
198
-
199
- **Examples by domain:**
200
-
201
- For "Post Feed" (visual feature):
202
- ```
203
- ☐ Layout style — Cards vs list vs timeline? Information density?
204
- ☐ Loading behavior — Infinite scroll or pagination? Pull to refresh?
205
- ☐ Content ordering — Chronological, algorithmic, or user choice?
206
- ☐ Post metadata — What info per post? Timestamps, reactions, author?
207
- ```
208
-
209
- For "Database backup CLI" (command-line tool):
210
- ```
211
- ☐ Output format — JSON, table, or plain text? Verbosity levels?
212
- ☐ Flag design — Short flags, long flags, or both? Required vs optional?
213
- ☐ Progress reporting — Silent, progress bar, or verbose logging?
214
- ☐ Error recovery — Fail fast, retry, or prompt for action?
215
- ```
216
-
217
- For "Organize photo library" (organization task):
218
- ```
219
- ☐ Grouping criteria — By date, location, faces, or events?
220
- ☐ Duplicate handling — Keep best, keep all, or prompt each time?
221
- ☐ Naming convention — Original names, dates, or descriptive?
222
- ☐ Folder structure — Flat, nested by year, or by category?
223
- ```
224
-
225
- Continue to discuss_areas with selected areas.
226
- </step>
227
-
228
- <step name="discuss_areas">
229
- For each selected area, conduct a focused discussion loop.
230
-
231
- **Philosophy: 4 questions, then check.**
232
-
233
- Ask 4 questions per area before offering to continue or move on. Each answer often reveals the next question.
234
-
235
- **For each area:**
236
-
237
- 1. **Announce the area:**
238
- ```
239
- Let's talk about [Area].
240
- ```
241
-
242
- 2. **Ask 4 questions using AskUserQuestion:**
243
- - header: "[Area]"
244
- - question: Specific decision for this area
245
- - options: 2-3 concrete choices (AskUserQuestion adds "Other" automatically)
246
- - Include "You decide" as an option when reasonable — captures Claude discretion
247
-
248
- 3. **After 4 questions, check:**
249
- - header: "[Area]"
250
- - question: "More questions about [area], or move to next?"
251
- - options: "More questions" / "Next area"
252
-
253
- If "More questions" → ask 4 more, then check again
254
- If "Next area" → proceed to next selected area
255
-
256
- 4. **After all areas complete:**
257
- - header: "Done"
258
- - question: "That covers [list areas]. Ready to create context?"
259
- - options: "Create context" / "Revisit an area"
260
-
261
- **Question design:**
262
- - Options should be concrete, not abstract ("Cards" not "Option A")
263
- - Each answer should inform the next question
264
- - If user picks "Other", receive their input, reflect it back, confirm
265
-
266
- **Scope creep handling:**
267
- If user mentions something outside the phase domain:
268
- ```
269
- "[Feature] sounds like a new capability — that belongs in its own phase.
270
- I'll note it as a deferred idea.
271
-
272
- Back to [current area]: [return to current question]"
273
- ```
274
-
275
- Track deferred ideas internally.
276
- </step>
277
-
278
- <step name="write_context">
279
- Create CONTEXT.md capturing decisions made.
280
-
281
- **Find or create phase directory:**
282
-
283
- Use values from init: `phase_dir`, `phase_slug`, `padded_phase`.
284
-
285
- If `phase_dir` is null (phase exists in roadmap but no directory):
286
- ```bash
287
- mkdir -p ".ariadna_planning/phases/${padded_phase}-${phase_slug}"
288
- ```
289
-
290
- **File location:** `${phase_dir}/${padded_phase}-CONTEXT.md`
291
-
292
- **Structure the content by what was discussed:**
293
-
294
- ```markdown
295
- # Phase [X]: [Name] - Context
296
-
297
- **Gathered:** [date]
298
- **Status:** Ready for planning
299
-
300
- <domain>
301
- ## Phase Boundary
302
-
303
- [Clear statement of what this phase delivers — the scope anchor]
304
-
305
- </domain>
306
-
307
- <decisions>
308
- ## Implementation Decisions
309
-
310
- ### [Category 1 that was discussed]
311
- - [Decision or preference captured]
312
- - [Another decision if applicable]
313
-
314
- ### [Category 2 that was discussed]
315
- - [Decision or preference captured]
316
-
317
- ### Claude's Discretion
318
- [Areas where user said "you decide" — note that Claude has flexibility here]
319
-
320
- </decisions>
321
-
322
- <specifics>
323
- ## Specific Ideas
324
-
325
- [Any particular references, examples, or "I want it like X" moments from discussion]
326
-
327
- [If none: "No specific requirements — open to standard approaches"]
328
-
329
- </specifics>
330
-
331
- <deferred>
332
- ## Deferred Ideas
333
-
334
- [Ideas that came up but belong in other phases. Don't lose them.]
335
-
336
- [If none: "None — discussion stayed within phase scope"]
337
-
338
- </deferred>
339
-
340
- ---
341
-
342
- *Phase: XX-name*
343
- *Context gathered: [date]*
344
- ```
345
-
346
- Write file.
347
- </step>
348
-
349
- <step name="confirm_creation">
350
- Present summary and next steps:
351
-
352
- ```
353
- Created: .ariadna_planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
354
-
355
- ## Decisions Captured
356
-
357
- ### [Category]
358
- - [Key decision]
359
-
360
- ### [Category]
361
- - [Key decision]
362
-
363
- [If deferred ideas exist:]
364
- ## Noted for Later
365
- - [Deferred idea] — future phase
366
-
367
- ---
368
-
369
- ## ▶ Next Up
370
-
371
- **Phase ${PHASE}: [Name]** — [Goal from ROADMAP.md]
372
-
373
- `/ariadna:plan-phase ${PHASE}`
374
-
375
- <sub>`/clear` first → fresh context window</sub>
376
-
377
- ---
378
-
379
- **Also available:**
380
- - `/ariadna:plan-phase ${PHASE} --skip-research` — plan without research
381
- - Review/edit CONTEXT.md before continuing
382
-
383
- ---
384
- ```
385
- </step>
386
-
387
- <step name="git_commit">
388
- Commit phase context (uses `commit_docs` from init internally):
389
-
390
- ```bash
391
- ariadna-tools commit "docs(${padded_phase}): capture phase context" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
392
- ```
393
-
394
- Confirm: "Committed: docs(${padded_phase}): capture phase context"
395
- </step>
396
-
397
- </process>
398
-
399
- <success_criteria>
400
- - Phase validated against roadmap
401
- - Gray areas identified through intelligent analysis (not generic questions)
402
- - User selected which areas to discuss
403
- - Each selected area explored until user satisfied
404
- - Scope creep redirected to deferred ideas
405
- - CONTEXT.md captures actual decisions, not vague vision
406
- - Deferred ideas preserved for future phases
407
- - User knows next steps
408
- </success_criteria>