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,373 +1,28 @@
1
- <purpose>
1
+ ---
2
+ name: new-milestone
3
+ description: Start a new milestone cycle for an existing project — goals, requirements, and phased roadmap continuing from the last milestone.
4
+ ---
2
5
 
3
- Start a new milestone cycle for an existing project. Loads project context, gathers milestone goals (from MILESTONE-CONTEXT.md or conversation), updates PROJECT.md and STATE.md, optionally runs parallel research, defines scoped requirements with REQ-IDs, spawns the roadmapper to create phased execution plan, and commits all artifacts. Brownfield equivalent of new-project.
4
-
5
- </purpose>
6
-
7
- <required_reading>
8
-
9
- Read all files referenced by the invoking prompt's execution_context before starting.
10
-
11
- </required_reading>
12
-
13
- <process>
14
-
15
- ## 1. Load Context
16
-
17
- - Read PROJECT.md (existing project, validated requirements, decisions)
18
- - Read MILESTONES.md (what shipped previously)
19
- - Read STATE.md (pending todos, blockers)
20
- - Check for MILESTONE-CONTEXT.md (from /ariadna:discuss-milestone)
21
-
22
- ## 2. Gather Milestone Goals
23
-
24
- **If MILESTONE-CONTEXT.md exists:**
25
- - Use features and scope from discuss-milestone
26
- - Present summary for confirmation
27
-
28
- **If no context file:**
29
- - Present what shipped in last milestone
30
- - Ask: "What do you want to build next?"
31
- - Use AskUserQuestion to explore features, priorities, constraints, scope
32
-
33
- ## 3. Determine Milestone Version
34
-
35
- - Parse last version from MILESTONES.md
36
- - Suggest next version (v1.0 → v1.1, or v2.0 for major)
37
- - Confirm with user
38
-
39
- ## 4. Update PROJECT.md
40
-
41
- Add/update:
42
-
43
- ```markdown
44
- ## Current Milestone: v[X.Y] [Name]
45
-
46
- **Goal:** [One sentence describing milestone focus]
47
-
48
- **Target features:**
49
- - [Feature 1]
50
- - [Feature 2]
51
- - [Feature 3]
52
- ```
53
-
54
- Update Active requirements section and "Last updated" footer.
55
-
56
- ## 5. Update STATE.md
57
-
58
- ```markdown
59
- ## Current Position
60
-
61
- Phase: Not started (defining requirements)
62
- Plan: —
63
- Status: Defining requirements
64
- Last activity: [today] — Milestone v[X.Y] started
65
- ```
66
-
67
- Keep Accumulated Context section from previous milestone.
68
-
69
- ## 6. Cleanup and Commit
70
-
71
- Delete MILESTONE-CONTEXT.md if exists (consumed).
72
-
73
- ```bash
74
- ariadna-tools commit "docs: start milestone v[X.Y] [Name]" --files .ariadna_planning/PROJECT.md .ariadna_planning/STATE.md
75
- ```
76
-
77
- ## 7. Load Context and Resolve Models
6
+ ## Goal
7
+ Pick up where the previous milestone left off: gather what to build next, optionally research new capabilities, define scoped requirements, and spawn the roadmapper to produce a phased plan with phase numbers continuing from the last milestone.
78
8
 
9
+ ## Context Loading
79
10
  ```bash
80
11
  INIT=$(ariadna-tools init new-milestone)
81
12
  ```
13
+ Also read: `.ariadna_planning/PROJECT.md`, `.ariadna_planning/MILESTONES.md` (last version + last phase number), `.ariadna_planning/STATE.md` (pending todos, blockers). If `MILESTONE-CONTEXT.md` exists (from `/ariadna:discuss-milestone`), use it instead of asking. Parse: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `roadmap_exists`.
82
14
 
83
- Extract from init JSON: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `project_exists`, `roadmap_exists`.
84
-
85
- ## 8. Research Decision
86
-
87
- AskUserQuestion: "Research the domain ecosystem for new features before defining requirements?"
88
- - "Research first (Recommended)" Discover patterns, features, architecture for NEW capabilities
89
- - "Skip research" — Go straight to requirements
90
-
91
- **Persist choice to config** (so future `/ariadna:plan-phase` honors it):
92
-
93
- ```bash
94
- # If "Research first": persist true
95
- ariadna-tools config-set workflow.research true
96
-
97
- # If "Skip research": persist false
98
- ariadna-tools config-set workflow.research false
99
- ```
100
-
101
- **If "Research first":**
102
-
103
- ```
104
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
105
- Ariadna ► RESEARCHING
106
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
-
108
- ◆ Spawning 4 researchers in parallel...
109
- → Stack, Features, Architecture, Pitfalls
110
- ```
111
-
112
- ```bash
113
- mkdir -p .ariadna_planning/research
114
- ```
115
-
116
- Spawn 4 parallel ariadna-project-researcher agents. Each uses this template with dimension-specific fields:
117
-
118
- **Common structure for all 4 researchers:**
119
- ```
120
- Task(prompt="
121
- <research_type>Project Research — {DIMENSION} for [new features].</research_type>
122
-
123
- <milestone_context>
124
- SUBSEQUENT MILESTONE — Adding [target features] to existing app.
125
- {EXISTING_CONTEXT}
126
- Focus ONLY on what's needed for the NEW features.
127
- </milestone_context>
128
-
129
- <question>{QUESTION}</question>
130
-
131
- <project_context>[PROJECT.md summary]</project_context>
132
-
133
- <downstream_consumer>{CONSUMER}</downstream_consumer>
134
-
135
- <quality_gate>{GATES}</quality_gate>
136
-
137
- <output>
138
- Write to: .ariadna_planning/research/{FILE}
139
- Use template: ~/.claude/ariadna/templates/research-project/{FILE}
140
- </output>
141
- ", subagent_type="ariadna-project-researcher", model="{researcher_model}", description="{DIMENSION} research")
142
- ```
143
-
144
- **Dimension-specific fields:**
145
-
146
- | Field | Stack | Features | Architecture | Pitfalls |
147
- |-------|-------|----------|-------------|----------|
148
- | EXISTING_CONTEXT | Existing validated capabilities (DO NOT re-research): [from PROJECT.md] | Existing features (already built): [from PROJECT.md] | Existing architecture: [from PROJECT.md or codebase map] | Focus on common mistakes when ADDING these features to existing system |
149
- | QUESTION | What stack additions/changes are needed for [new features]? | How do [target features] typically work? Expected behavior? | How do [target features] integrate with existing architecture? | Common mistakes when adding [target features] to [domain]? |
150
- | CONSUMER | Specific libraries with versions for NEW capabilities, integration points, what NOT to add | Table stakes vs differentiators vs anti-features, complexity noted, dependencies on existing | Integration points, new components, data flow changes, suggested build order | Warning signs, prevention strategy, which phase should address it |
151
- | GATES | Versions current (verify with Context7), rationale explains WHY, integration considered | Categories clear, complexity noted, dependencies identified | Integration points identified, new vs modified explicit, build order considers deps | Pitfalls specific to adding these features, integration pitfalls covered, prevention actionable |
152
- | FILE | STACK.md | FEATURES.md | ARCHITECTURE.md | PITFALLS.md |
153
-
154
- After all 4 complete, spawn synthesizer:
155
-
156
- ```
157
- Task(prompt="
158
- Synthesize research outputs into SUMMARY.md.
159
-
160
- Read: .ariadna_planning/research/STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md
161
-
162
- Write to: .ariadna_planning/research/SUMMARY.md
163
- Use template: ~/.claude/ariadna/templates/research-project/SUMMARY.md
164
- Commit after writing.
165
- ", subagent_type="ariadna-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
166
- ```
167
-
168
- Display key findings from SUMMARY.md:
169
- ```
170
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
171
- Ariadna ► RESEARCH COMPLETE ✓
172
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
-
174
- **Stack additions:** [from SUMMARY.md]
175
- **Feature table stakes:** [from SUMMARY.md]
176
- **Watch Out For:** [from SUMMARY.md]
177
- ```
178
-
179
- **If "Skip research":** Continue to Step 9.
180
-
181
- ## 9. Define Requirements
182
-
183
- ```
184
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
185
- Ariadna ► DEFINING REQUIREMENTS
186
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
187
- ```
188
-
189
- Read PROJECT.md: core value, current milestone goals, validated requirements (what exists).
190
-
191
- **If research exists:** Read FEATURES.md, extract feature categories.
192
-
193
- Present features by category:
194
- ```
195
- ## [Category 1]
196
- **Table stakes:** Feature A, Feature B
197
- **Differentiators:** Feature C, Feature D
198
- **Research notes:** [any relevant notes]
199
- ```
200
-
201
- **If no research:** Gather requirements through conversation. Ask: "What are the main things users need to do with [new features]?" Clarify, probe for related capabilities, group into categories.
202
-
203
- **Scope each category** via AskUserQuestion (multiSelect: true):
204
- - "[Feature 1]" — [brief description]
205
- - "[Feature 2]" — [brief description]
206
- - "None for this milestone" — Defer entire category
207
-
208
- Track: Selected → this milestone. Unselected table stakes → future. Unselected differentiators → out of scope.
209
-
210
- **Identify gaps** via AskUserQuestion:
211
- - "No, research covered it" — Proceed
212
- - "Yes, let me add some" — Capture additions
213
-
214
- **Generate REQUIREMENTS.md:**
215
- - v1 Requirements grouped by category (checkboxes, REQ-IDs)
216
- - Future Requirements (deferred)
217
- - Out of Scope (explicit exclusions with reasoning)
218
- - Traceability section (empty, filled by roadmap)
219
-
220
- **REQ-ID format:** `[CATEGORY]-[NUMBER]` (AUTH-01, NOTIF-02). Continue numbering from existing.
221
-
222
- **Requirement quality criteria:**
223
-
224
- Good requirements are:
225
- - **Specific and testable:** "User can reset password via email link" (not "Handle password reset")
226
- - **User-centric:** "User can X" (not "System does Y")
227
- - **Atomic:** One capability per requirement (not "User can login and manage profile")
228
- - **Independent:** Minimal dependencies on other requirements
229
-
230
- Present FULL requirements list for confirmation:
231
-
232
- ```
233
- ## Milestone v[X.Y] Requirements
234
-
235
- ### [Category 1]
236
- - [ ] **CAT1-01**: User can do X
237
- - [ ] **CAT1-02**: User can do Y
238
-
239
- ### [Category 2]
240
- - [ ] **CAT2-01**: User can do Z
241
-
242
- Does this capture what you're building? (yes / adjust)
243
- ```
244
-
245
- If "adjust": Return to scoping.
246
-
247
- **Commit requirements:**
248
- ```bash
249
- ariadna-tools commit "docs: define milestone v[X.Y] requirements" --files .ariadna_planning/REQUIREMENTS.md
250
- ```
251
-
252
- ## 10. Create Roadmap
253
-
254
- ```
255
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
256
- Ariadna ► CREATING ROADMAP
257
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
258
-
259
- ◆ Spawning roadmapper...
260
- ```
261
-
262
- **Starting phase number:** Read MILESTONES.md for last phase number. Continue from there (v1.0 ended at phase 5 → v1.1 starts at phase 6).
263
-
264
- ```
265
- Task(prompt="
266
- <planning_context>
267
- @.ariadna_planning/PROJECT.md
268
- @.ariadna_planning/REQUIREMENTS.md
269
- @.ariadna_planning/research/SUMMARY.md (if exists)
270
- @.ariadna_planning/config.json
271
- @.ariadna_planning/MILESTONES.md
272
- </planning_context>
273
-
274
- <instructions>
275
- Create roadmap for milestone v[X.Y]:
276
- 1. Start phase numbering from [N]
277
- 2. Derive phases from THIS MILESTONE's requirements only
278
- 3. Map every requirement to exactly one phase
279
- 4. Derive 2-5 success criteria per phase (observable user behaviors)
280
- 5. Validate 100% coverage
281
- 6. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
282
- 7. Return ROADMAP CREATED with summary
283
-
284
- Write files first, then return.
285
- </instructions>
286
- ", subagent_type="ariadna-roadmapper", model="{roadmapper_model}", description="Create roadmap")
287
- ```
288
-
289
- **Handle return:**
290
-
291
- **If `## ROADMAP BLOCKED`:** Present blocker, work with user, re-spawn.
292
-
293
- **If `## ROADMAP CREATED`:** Read ROADMAP.md, present inline:
294
-
295
- ```
296
- ## Proposed Roadmap
297
-
298
- **[N] phases** | **[X] requirements mapped** | All covered ✓
299
-
300
- | # | Phase | Goal | Requirements | Success Criteria |
301
- |---|-------|------|--------------|------------------|
302
- | [N] | [Name] | [Goal] | [REQ-IDs] | [count] |
303
-
304
- ### Phase Details
305
-
306
- **Phase [N]: [Name]**
307
- Goal: [goal]
308
- Requirements: [REQ-IDs]
309
- Success criteria:
310
- 1. [criterion]
311
- 2. [criterion]
312
- ```
313
-
314
- **Ask for approval** via AskUserQuestion:
315
- - "Approve" — Commit and continue
316
- - "Adjust phases" — Tell me what to change
317
- - "Review full file" — Show raw ROADMAP.md
318
-
319
- **If "Adjust":** Get notes, re-spawn roadmapper with revision context, loop until approved.
320
- **If "Review":** Display raw ROADMAP.md, re-ask.
321
-
322
- **Commit roadmap** (after approval):
323
- ```bash
324
- ariadna-tools commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files .ariadna_planning/ROADMAP.md .ariadna_planning/STATE.md .ariadna_planning/REQUIREMENTS.md
325
- ```
326
-
327
- ## 11. Done
328
-
329
- ```
330
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
331
- Ariadna ► MILESTONE INITIALIZED ✓
332
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
333
-
334
- **Milestone v[X.Y]: [Name]**
335
-
336
- | Artifact | Location |
337
- |----------------|-----------------------------|
338
- | Project | `.ariadna_planning/PROJECT.md` |
339
- | Research | `.ariadna_planning/research/` |
340
- | Requirements | `.ariadna_planning/REQUIREMENTS.md` |
341
- | Roadmap | `.ariadna_planning/ROADMAP.md` |
342
-
343
- **[N] phases** | **[X] requirements** | Ready to build ✓
344
-
345
- ## ▶ Next Up
346
-
347
- **Phase [N]: [Phase Name]** — [Goal]
348
-
349
- `/ariadna:discuss-phase [N]` — gather context and clarify approach
350
-
351
- <sub>`/clear` first → fresh context window</sub>
352
-
353
- Also: `/ariadna:plan-phase [N]` — skip discussion, plan directly
354
- ```
355
-
356
- </process>
15
+ ## Constraints
16
+ - Determine next version from MILESTONES.md (v1.0 → v1.1, or v2.0 for major); confirm with user
17
+ - Roadmap phase numbering must continue from the last milestone's final phase number
18
+ - Research is opt-in — ask once ("Research first?" / "Skip"); persist choice to `config.json`
19
+ - If research selected, spawn 4 parallel `ariadna-project-researcher` agents (subsequent-milestone context: only research NEW capabilities)
20
+ - Commit each artifact immediately: PROJECT.md + STATE.md update, REQUIREMENTS.md, ROADMAP.md + STATE.md
357
21
 
358
- <success_criteria>
359
- - [ ] PROJECT.md updated with Current Milestone section
360
- - [ ] STATE.md reset for new milestone
361
- - [ ] MILESTONE-CONTEXT.md consumed and deleted (if existed)
362
- - [ ] Research completed (if selected) — 4 parallel agents, milestone-aware
363
- - [ ] Requirements gathered and scoped per category
364
- - [ ] REQUIREMENTS.md created with REQ-IDs
365
- - [ ] ariadna-roadmapper spawned with phase numbering context
366
- - [ ] Roadmap files written immediately (not draft)
367
- - [ ] User feedback incorporated (if any)
368
- - [ ] ROADMAP.md phases continue from previous milestone
369
- - [ ] All commits made (if planning docs committed)
370
- - [ ] User knows next step: `/ariadna:discuss-phase [N]`
22
+ ## Success Criteria
23
+ - PROJECT.md updated with `## Current Milestone` section and STATE.md reset for the new cycle — both committed
24
+ - REQUIREMENTS.md created with REQ-IDs; every requirement mapped to a roadmap phase
25
+ - User knows the first phase number and next command: `/ariadna:plan-phase N` or `/ariadna:discuss-phase N`
371
26
 
372
- **Atomic commits:** Each phase commits its artifacts immediately.
373
- </success_criteria>
27
+ ## On Completion
28
+ Present artifact table, new milestone version, phase range, and requirement count. Offer `/ariadna:discuss-phase N` (or `/ariadna:plan-phase N` to skip discussion) with a `/clear` reminder.