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,178 +0,0 @@
1
- <purpose>
2
- Surface Claude's assumptions about a phase before planning, enabling users to correct misconceptions early.
3
-
4
- Key difference from discuss-phase: This is ANALYSIS of what Claude thinks, not INTAKE of what user knows. No file output - purely conversational to prompt discussion.
5
- </purpose>
6
-
7
- <process>
8
-
9
- <step name="validate_phase" priority="first">
10
- Phase number: $ARGUMENTS (required)
11
-
12
- **If argument missing:**
13
-
14
- ```
15
- Error: Phase number required.
16
-
17
- Usage: /ariadna:list-phase-assumptions [phase-number]
18
- Example: /ariadna:list-phase-assumptions 3
19
- ```
20
-
21
- Exit workflow.
22
-
23
- **If argument provided:**
24
- Validate phase exists in roadmap:
25
-
26
- ```bash
27
- cat .ariadna_planning/ROADMAP.md | grep -i "Phase ${PHASE}"
28
- ```
29
-
30
- **If phase not found:**
31
-
32
- ```
33
- Error: Phase ${PHASE} not found in roadmap.
34
-
35
- Available phases:
36
- [list phases from roadmap]
37
- ```
38
-
39
- Exit workflow.
40
-
41
- **If phase found:**
42
- Parse phase details from roadmap:
43
-
44
- - Phase number
45
- - Phase name
46
- - Phase description/goal
47
- - Any scope details mentioned
48
-
49
- Continue to analyze_phase.
50
- </step>
51
-
52
- <step name="analyze_phase">
53
- Based on roadmap description and project context, identify assumptions across five areas:
54
-
55
- **1. Technical Approach:**
56
- What libraries, frameworks, patterns, or tools would Claude use?
57
- - "I'd use X library because..."
58
- - "I'd follow Y pattern because..."
59
- - "I'd structure this as Z because..."
60
-
61
- **2. Implementation Order:**
62
- What would Claude build first, second, third?
63
- - "I'd start with X because it's foundational"
64
- - "Then Y because it depends on X"
65
- - "Finally Z because..."
66
-
67
- **3. Scope Boundaries:**
68
- What's included vs excluded in Claude's interpretation?
69
- - "This phase includes: A, B, C"
70
- - "This phase does NOT include: D, E, F"
71
- - "Boundary ambiguities: G could go either way"
72
-
73
- **4. Risk Areas:**
74
- Where does Claude expect complexity or challenges?
75
- - "The tricky part is X because..."
76
- - "Potential issues: Y, Z"
77
- - "I'd watch out for..."
78
-
79
- **5. Dependencies:**
80
- What does Claude assume exists or needs to be in place?
81
- - "This assumes X from previous phases"
82
- - "External dependencies: Y, Z"
83
- - "This will be consumed by..."
84
-
85
- Be honest about uncertainty. Mark assumptions with confidence levels:
86
- - "Fairly confident: ..." (clear from roadmap)
87
- - "Assuming: ..." (reasonable inference)
88
- - "Unclear: ..." (could go multiple ways)
89
- </step>
90
-
91
- <step name="present_assumptions">
92
- Present assumptions in a clear, scannable format:
93
-
94
- ```
95
- ## My Assumptions for Phase ${PHASE}: ${PHASE_NAME}
96
-
97
- ### Technical Approach
98
- [List assumptions about how to implement]
99
-
100
- ### Implementation Order
101
- [List assumptions about sequencing]
102
-
103
- ### Scope Boundaries
104
- **In scope:** [what's included]
105
- **Out of scope:** [what's excluded]
106
- **Ambiguous:** [what could go either way]
107
-
108
- ### Risk Areas
109
- [List anticipated challenges]
110
-
111
- ### Dependencies
112
- **From prior phases:** [what's needed]
113
- **External:** [third-party needs]
114
- **Feeds into:** [what future phases need from this]
115
-
116
- ---
117
-
118
- **What do you think?**
119
-
120
- Are these assumptions accurate? Let me know:
121
- - What I got right
122
- - What I got wrong
123
- - What I'm missing
124
- ```
125
-
126
- Wait for user response.
127
- </step>
128
-
129
- <step name="gather_feedback">
130
- **If user provides corrections:**
131
-
132
- Acknowledge the corrections:
133
-
134
- ```
135
- Key corrections:
136
- - [correction 1]
137
- - [correction 2]
138
-
139
- This changes my understanding significantly. [Summarize new understanding]
140
- ```
141
-
142
- **If user confirms assumptions:**
143
-
144
- ```
145
- Assumptions validated.
146
- ```
147
-
148
- Continue to offer_next.
149
- </step>
150
-
151
- <step name="offer_next">
152
- Present next steps:
153
-
154
- ```
155
- What's next?
156
- 1. Discuss context (/ariadna:discuss-phase ${PHASE}) - Let me ask you questions to build comprehensive context
157
- 2. Plan this phase (/ariadna:plan-phase ${PHASE}) - Create detailed execution plans
158
- 3. Re-examine assumptions - I'll analyze again with your corrections
159
- 4. Done for now
160
- ```
161
-
162
- Wait for user selection.
163
-
164
- If "Discuss context": Note that CONTEXT.md will incorporate any corrections discussed here
165
- If "Plan this phase": Proceed knowing assumptions are understood
166
- If "Re-examine": Return to analyze_phase with updated understanding
167
- </step>
168
-
169
- </process>
170
-
171
- <success_criteria>
172
- - Phase number validated against roadmap
173
- - Assumptions surfaced across five areas: technical approach, implementation order, scope, risks, dependencies
174
- - Confidence levels marked where appropriate
175
- - "What do you think?" prompt presented
176
- - User feedback acknowledged
177
- - Clear next steps offered
178
- </success_criteria>
@@ -1,122 +0,0 @@
1
- <purpose>
2
- Create `.continue-here.md` handoff file to preserve complete work state across sessions. Enables seamless resumption with full context restoration.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="detect">
12
- Find current phase directory from most recently modified files:
13
-
14
- ```bash
15
- # Find most recent phase directory with work
16
- ls -lt .ariadna_planning/phases/*/PLAN.md 2>/dev/null | head -1 | grep -oP 'phases/\K[^/]+'
17
- ```
18
-
19
- If no active phase detected, ask user which phase they're pausing work on.
20
- </step>
21
-
22
- <step name="gather">
23
- **Collect complete state for handoff:**
24
-
25
- 1. **Current position**: Which phase, which plan, which task
26
- 2. **Work completed**: What got done this session
27
- 3. **Work remaining**: What's left in current plan/phase
28
- 4. **Decisions made**: Key decisions and rationale
29
- 5. **Blockers/issues**: Anything stuck
30
- 6. **Mental context**: The approach, next steps, "vibe"
31
- 7. **Files modified**: What's changed but not committed
32
-
33
- Ask user for clarifications if needed via conversational questions.
34
- </step>
35
-
36
- <step name="write">
37
- **Write handoff to `.ariadna_planning/phases/XX-name/.continue-here.md`:**
38
-
39
- ```markdown
40
- ---
41
- phase: XX-name
42
- task: 3
43
- total_tasks: 7
44
- status: in_progress
45
- last_updated: [timestamp from current-timestamp]
46
- ---
47
-
48
- <current_state>
49
- [Where exactly are we? Immediate context]
50
- </current_state>
51
-
52
- <completed_work>
53
-
54
- - Task 1: [name] - Done
55
- - Task 2: [name] - Done
56
- - Task 3: [name] - In progress, [what's done]
57
- </completed_work>
58
-
59
- <remaining_work>
60
-
61
- - Task 3: [what's left]
62
- - Task 4: Not started
63
- - Task 5: Not started
64
- </remaining_work>
65
-
66
- <decisions_made>
67
-
68
- - Decided to use [X] because [reason]
69
- - Chose [approach] over [alternative] because [reason]
70
- </decisions_made>
71
-
72
- <blockers>
73
- - [Blocker 1]: [status/workaround]
74
- </blockers>
75
-
76
- <context>
77
- [Mental state, what were you thinking, the plan]
78
- </context>
79
-
80
- <next_action>
81
- Start with: [specific first action when resuming]
82
- </next_action>
83
- ```
84
-
85
- Be specific enough for a fresh Claude to understand immediately.
86
-
87
- Use `current-timestamp` for last_updated field. You can use init todos (which provides timestamps) or call directly:
88
- ```bash
89
- timestamp=$(ariadna-tools current-timestamp full --raw)
90
- ```
91
- </step>
92
-
93
- <step name="commit">
94
- ```bash
95
- ariadna-tools commit "wip: [phase-name] paused at task [X]/[Y]" --files .ariadna_planning/phases/*/.continue-here.md
96
- ```
97
- </step>
98
-
99
- <step name="confirm">
100
- ```
101
- ✓ Handoff created: .ariadna_planning/phases/[XX-name]/.continue-here.md
102
-
103
- Current state:
104
-
105
- - Phase: [XX-name]
106
- - Task: [X] of [Y]
107
- - Status: [in_progress/blocked]
108
- - Committed as WIP
109
-
110
- To resume: /ariadna:resume-work
111
-
112
- ```
113
- </step>
114
-
115
- </process>
116
-
117
- <success_criteria>
118
- - [ ] .continue-here.md created in correct phase directory
119
- - [ ] All sections filled with specific content
120
- - [ ] Committed as WIP
121
- - [ ] User knows location and how to resume
122
- </success_criteria>
@@ -1,256 +0,0 @@
1
- <purpose>
2
- Create all phases necessary to close gaps identified by `/ariadna:audit-milestone`. Reads MILESTONE-AUDIT.md, groups gaps into logical phases, creates phase entries in ROADMAP.md, and offers to plan each phase. One command creates all fix phases — no manual `/ariadna:add-phase` per gap.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- ## 1. Load Audit Results
12
-
13
- ```bash
14
- # Find the most recent audit file
15
- ls -t .ariadna_planning/v*-MILESTONE-AUDIT.md 2>/dev/null | head -1
16
- ```
17
-
18
- Parse YAML frontmatter to extract structured gaps:
19
- - `gaps.requirements` — unsatisfied requirements
20
- - `gaps.integration` — missing cross-phase connections
21
- - `gaps.flows` — broken E2E flows
22
-
23
- If no audit file exists or has no gaps, error:
24
- ```
25
- No audit gaps found. Run `/ariadna:audit-milestone` first.
26
- ```
27
-
28
- ## 2. Prioritize Gaps
29
-
30
- Group gaps by priority from REQUIREMENTS.md:
31
-
32
- | Priority | Action |
33
- |----------|--------|
34
- | `must` | Create phase, blocks milestone |
35
- | `should` | Create phase, recommended |
36
- | `nice` | Ask user: include or defer? |
37
-
38
- For integration/flow gaps, infer priority from affected requirements.
39
-
40
- ## 3. Group Gaps into Phases
41
-
42
- Cluster related gaps into logical phases:
43
-
44
- **Grouping rules:**
45
- - Same affected phase → combine into one fix phase
46
- - Same subsystem (auth, API, UI) → combine
47
- - Dependency order (fix stubs before wiring)
48
- - Keep phases focused: 2-4 tasks each
49
-
50
- **Example grouping:**
51
- ```
52
- Gap: DASH-01 unsatisfied (Dashboard doesn't fetch)
53
- Gap: Integration Phase 1→3 (Auth not passed to API calls)
54
- Gap: Flow "View dashboard" broken at data fetch
55
-
56
- → Phase 6: "Wire Dashboard to API"
57
- - Add controller action for dashboard data
58
- - Include authentication before_action
59
- - Load data into @instance_vars
60
- - Render user data in ERB view
61
- ```
62
-
63
- ## 4. Determine Phase Numbers
64
-
65
- Find highest existing phase:
66
- ```bash
67
- # Get sorted phase list, extract last one
68
- PHASES=$(ariadna-tools phases list)
69
- HIGHEST=$(echo "$PHASES" | jq -r '.directories[-1]')
70
- ```
71
-
72
- New phases continue from there:
73
- - If Phase 5 is highest, gaps become Phase 6, 7, 8...
74
-
75
- ## 5. Present Gap Closure Plan
76
-
77
- ```markdown
78
- ## Gap Closure Plan
79
-
80
- **Milestone:** {version}
81
- **Gaps to close:** {N} requirements, {M} integration, {K} flows
82
-
83
- ### Proposed Phases
84
-
85
- **Phase {N}: {Name}**
86
- Closes:
87
- - {REQ-ID}: {description}
88
- - Integration: {from} → {to}
89
- Tasks: {count}
90
-
91
- **Phase {N+1}: {Name}**
92
- Closes:
93
- - {REQ-ID}: {description}
94
- - Flow: {flow name}
95
- Tasks: {count}
96
-
97
- {If nice-to-have gaps exist:}
98
-
99
- ### Deferred (nice-to-have)
100
-
101
- These gaps are optional. Include them?
102
- - {gap description}
103
- - {gap description}
104
-
105
- ---
106
-
107
- Create these {X} phases? (yes / adjust / defer all optional)
108
- ```
109
-
110
- Wait for user confirmation.
111
-
112
- ## 6. Update ROADMAP.md
113
-
114
- Add new phases to current milestone:
115
-
116
- ```markdown
117
- ### Phase {N}: {Name}
118
- **Goal:** {derived from gaps being closed}
119
- **Requirements:** {REQ-IDs being satisfied}
120
- **Gap Closure:** Closes gaps from audit
121
-
122
- ### Phase {N+1}: {Name}
123
- ...
124
- ```
125
-
126
- ## 7. Create Phase Directories
127
-
128
- ```bash
129
- mkdir -p ".ariadna_planning/phases/{NN}-{name}"
130
- ```
131
-
132
- ## 8. Commit Roadmap Update
133
-
134
- ```bash
135
- ariadna-tools commit "docs(roadmap): add gap closure phases {N}-{M}" --files .ariadna_planning/ROADMAP.md
136
- ```
137
-
138
- ## 9. Offer Next Steps
139
-
140
- ```markdown
141
- ## ✓ Gap Closure Phases Created
142
-
143
- **Phases added:** {N} - {M}
144
- **Gaps addressed:** {count} requirements, {count} integration, {count} flows
145
-
146
- ---
147
-
148
- ## ▶ Next Up
149
-
150
- **Plan first gap closure phase**
151
-
152
- `/ariadna:plan-phase {N}`
153
-
154
- <sub>`/clear` first → fresh context window</sub>
155
-
156
- ---
157
-
158
- **Also available:**
159
- - `/ariadna:execute-phase {N}` — if plans already exist
160
- - `cat .ariadna_planning/ROADMAP.md` — see updated roadmap
161
-
162
- ---
163
-
164
- **After all gap phases complete:**
165
-
166
- `/ariadna:audit-milestone` — re-audit to verify gaps closed
167
- `/ariadna:complete-milestone {version}` — archive when audit passes
168
- ```
169
-
170
- </process>
171
-
172
- <gap_to_phase_mapping>
173
-
174
- ## How Gaps Become Tasks
175
-
176
- **Requirement gap → Tasks:**
177
- ```yaml
178
- gap:
179
- id: DASH-01
180
- description: "User sees their data"
181
- reason: "Dashboard exists but doesn't fetch from API"
182
- missing:
183
- - "Turbo Frame with controller action for /dashboards/show"
184
- - "Instance variables for user data"
185
- - "Render user data in ERB"
186
-
187
- becomes:
188
-
189
- phase: "Wire Dashboard Data"
190
- tasks:
191
- - name: "Add data fetching"
192
- files: [app/views/dashboards/show.html.erb, app/controllers/dashboards_controller.rb]
193
- action: "Add Turbo Frame that loads user data via controller action"
194
-
195
- - name: "Add data loading"
196
- files: [app/controllers/dashboards_controller.rb]
197
- action: "Load user data into @user_data, handle loading and error states"
198
-
199
- - name: "Render user data"
200
- files: [app/views/dashboards/show.html.erb]
201
- action: "Replace placeholder with @user_data rendering in ERB partial"
202
- ```
203
-
204
- **Integration gap → Tasks:**
205
- ```yaml
206
- gap:
207
- from_phase: 1
208
- to_phase: 3
209
- connection: "Auth token → API calls"
210
- reason: "Dashboard API calls don't include auth header"
211
- missing:
212
- - "Auth header in fetch calls"
213
- - "Token refresh on 401"
214
-
215
- becomes:
216
-
217
- phase: "Add Auth to Dashboard Actions"
218
- tasks:
219
- - name: "Add authentication to controller"
220
- files: [app/controllers/dashboards_controller.rb, app/services/api_client.rb]
221
- action: "Add before_action :authenticate_user! and include auth token in API calls"
222
-
223
- - name: "Handle 401 responses"
224
- files: [app/services/api_client.rb]
225
- action: "Add error handling to refresh token or redirect to login on 401"
226
- ```
227
-
228
- **Flow gap → Tasks:**
229
- ```yaml
230
- gap:
231
- name: "User views dashboard after login"
232
- broken_at: "Dashboard data load"
233
- reason: "No fetch call"
234
- missing:
235
- - "Fetch user data on mount"
236
- - "Display loading state"
237
- - "Render user data"
238
-
239
- becomes:
240
-
241
- # Usually same phase as requirement/integration gap
242
- # Flow gaps often overlap with other gap types
243
- ```
244
-
245
- </gap_to_phase_mapping>
246
-
247
- <success_criteria>
248
- - [ ] MILESTONE-AUDIT.md loaded and gaps parsed
249
- - [ ] Gaps prioritized (must/should/nice)
250
- - [ ] Gaps grouped into logical phases
251
- - [ ] User confirmed phase plan
252
- - [ ] ROADMAP.md updated with new phases
253
- - [ ] Phase directories created
254
- - [ ] Changes committed
255
- - [ ] User knows to run `/ariadna:plan-phase` next
256
- </success_criteria>
@@ -1,154 +0,0 @@
1
- <purpose>
2
- Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="parse_arguments">
12
- Parse the command arguments:
13
- - Argument is the phase number to remove (integer or decimal)
14
- - Example: `/ariadna:remove-phase 17` → phase = 17
15
- - Example: `/ariadna:remove-phase 16.1` → phase = 16.1
16
-
17
- If no argument provided:
18
-
19
- ```
20
- ERROR: Phase number required
21
- Usage: /ariadna:remove-phase <phase-number>
22
- Example: /ariadna:remove-phase 17
23
- ```
24
-
25
- Exit.
26
- </step>
27
-
28
- <step name="init_context">
29
- Load phase operation context:
30
-
31
- ```bash
32
- INIT=$(ariadna-tools init phase-op "${target}")
33
- ```
34
-
35
- Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
36
-
37
- Also read STATE.md and ROADMAP.md content for parsing current position.
38
- </step>
39
-
40
- <step name="validate_future_phase">
41
- Verify the phase is a future phase (not started):
42
-
43
- 1. Compare target phase to current phase from STATE.md
44
- 2. Target must be > current phase number
45
-
46
- If target <= current phase:
47
-
48
- ```
49
- ERROR: Cannot remove Phase {target}
50
-
51
- Only future phases can be removed:
52
- - Current phase: {current}
53
- - Phase {target} is current or completed
54
-
55
- To abandon current work, use /ariadna:pause-work instead.
56
- ```
57
-
58
- Exit.
59
- </step>
60
-
61
- <step name="confirm_removal">
62
- Present removal summary and confirm:
63
-
64
- ```
65
- Removing Phase {target}: {Name}
66
-
67
- This will:
68
- - Delete: .ariadna_planning/phases/{target}-{slug}/
69
- - Renumber all subsequent phases
70
- - Update: ROADMAP.md, STATE.md
71
-
72
- Proceed? (y/n)
73
- ```
74
-
75
- Wait for confirmation.
76
- </step>
77
-
78
- <step name="execute_removal">
79
- **Delegate the entire removal operation to ariadna-tools:**
80
-
81
- ```bash
82
- RESULT=$(ariadna-tools phase remove "${target}")
83
- ```
84
-
85
- If the phase has executed plans (SUMMARY.md files), ariadna-tools will error. Use `--force` only if the user confirms:
86
-
87
- ```bash
88
- RESULT=$(ariadna-tools phase remove "${target}" --force)
89
- ```
90
-
91
- The CLI handles:
92
- - Deleting the phase directory
93
- - Renumbering all subsequent directories (in reverse order to avoid conflicts)
94
- - Renaming all files inside renumbered directories (PLAN.md, SUMMARY.md, etc.)
95
- - Updating ROADMAP.md (removing section, renumbering all phase references, updating dependencies)
96
- - Updating STATE.md (decrementing phase count)
97
-
98
- Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
99
- </step>
100
-
101
- <step name="commit">
102
- Stage and commit the removal:
103
-
104
- ```bash
105
- ariadna-tools commit "chore: remove phase {target} ({original-phase-name})" --files .ariadna_planning/
106
- ```
107
-
108
- The commit message preserves the historical record of what was removed.
109
- </step>
110
-
111
- <step name="completion">
112
- Present completion summary:
113
-
114
- ```
115
- Phase {target} ({original-name}) removed.
116
-
117
- Changes:
118
- - Deleted: .ariadna_planning/phases/{target}-{slug}/
119
- - Renumbered: {N} directories and {M} files
120
- - Updated: ROADMAP.md, STATE.md
121
- - Committed: chore: remove phase {target} ({original-name})
122
-
123
- ---
124
-
125
- ## What's Next
126
-
127
- Would you like to:
128
- - `/ariadna:progress` — see updated roadmap status
129
- - Continue with current phase
130
- - Review roadmap
131
-
132
- ---
133
- ```
134
- </step>
135
-
136
- </process>
137
-
138
- <anti_patterns>
139
-
140
- - Don't remove completed phases (have SUMMARY.md files) without --force
141
- - Don't remove current or past phases
142
- - Don't manually renumber — use `ariadna-tools phase remove` which handles all renumbering
143
- - Don't add "removed phase" notes to STATE.md — git commit is the record
144
- - Don't modify completed phase directories
145
- </anti_patterns>
146
-
147
- <success_criteria>
148
- Phase removal is complete when:
149
-
150
- - [ ] Target phase validated as future/unstarted
151
- - [ ] `ariadna-tools phase remove` executed successfully
152
- - [ ] Changes committed with descriptive message
153
- - [ ] User informed of changes
154
- </success_criteria>