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.
- checksums.yaml +4 -4
- data/ariadna.gemspec +0 -1
- data/data/agents/ariadna-codebase-mapper.md +34 -722
- data/data/agents/ariadna-debugger.md +44 -1139
- data/data/agents/ariadna-executor.md +75 -396
- data/data/agents/ariadna-planner.md +78 -1215
- data/data/agents/ariadna-roadmapper.md +55 -582
- data/data/agents/ariadna-verifier.md +60 -702
- data/data/ariadna/templates/config.json +8 -33
- data/data/ariadna/workflows/debug.md +28 -0
- data/data/ariadna/workflows/execute-phase.md +31 -513
- data/data/ariadna/workflows/map-codebase.md +20 -319
- data/data/ariadna/workflows/new-milestone.md +20 -365
- data/data/ariadna/workflows/new-project.md +19 -880
- data/data/ariadna/workflows/plan-phase.md +24 -443
- data/data/ariadna/workflows/progress.md +20 -376
- data/data/ariadna/workflows/quick.md +19 -221
- data/data/ariadna/workflows/roadmap-ops.md +28 -0
- data/data/ariadna/workflows/verify-work.md +23 -560
- data/data/commands/ariadna/add-phase.md +11 -22
- data/data/commands/ariadna/debug.md +11 -143
- data/data/commands/ariadna/execute-phase.md +12 -30
- data/data/commands/ariadna/insert-phase.md +7 -14
- data/data/commands/ariadna/map-codebase.md +16 -49
- data/data/commands/ariadna/new-milestone.md +12 -25
- data/data/commands/ariadna/new-project.md +22 -26
- data/data/commands/ariadna/plan-phase.md +13 -22
- data/data/commands/ariadna/progress.md +16 -6
- data/data/commands/ariadna/quick.md +9 -11
- data/data/commands/ariadna/remove-phase.md +9 -12
- data/data/commands/ariadna/verify-work.md +14 -19
- data/data/skills/rails-backend/API.md +138 -0
- data/data/skills/rails-backend/CONTROLLERS.md +154 -0
- data/data/skills/rails-backend/JOBS.md +132 -0
- data/data/skills/rails-backend/MODELS.md +213 -0
- data/data/skills/rails-backend/SKILL.md +169 -0
- data/data/skills/rails-frontend/ASSETS.md +154 -0
- data/data/skills/rails-frontend/COMPONENTS.md +253 -0
- data/data/skills/rails-frontend/SKILL.md +187 -0
- data/data/skills/rails-frontend/VIEWS.md +168 -0
- data/data/skills/rails-performance/PROFILING.md +106 -0
- data/data/skills/rails-performance/SKILL.md +217 -0
- data/data/skills/rails-security/AUDIT.md +118 -0
- data/data/skills/rails-security/SKILL.md +422 -0
- data/data/skills/rails-testing/FIXTURES.md +78 -0
- data/data/skills/rails-testing/SKILL.md +160 -0
- data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
- data/lib/ariadna/installer.rb +11 -15
- data/lib/ariadna/tools/cli.rb +0 -12
- data/lib/ariadna/tools/config_manager.rb +10 -72
- data/lib/ariadna/tools/frontmatter.rb +23 -1
- data/lib/ariadna/tools/init.rb +201 -401
- data/lib/ariadna/tools/model_profiles.rb +6 -14
- data/lib/ariadna/tools/phase_manager.rb +1 -10
- data/lib/ariadna/tools/state_manager.rb +170 -451
- data/lib/ariadna/tools/template_filler.rb +4 -12
- data/lib/ariadna/tools/verification.rb +21 -399
- data/lib/ariadna/uninstaller.rb +9 -0
- data/lib/ariadna/version.rb +1 -1
- data/lib/ariadna.rb +1 -0
- metadata +20 -91
- data/data/agents/ariadna-backend-executor.md +0 -261
- data/data/agents/ariadna-frontend-executor.md +0 -259
- data/data/agents/ariadna-integration-checker.md +0 -418
- data/data/agents/ariadna-phase-researcher.md +0 -469
- data/data/agents/ariadna-plan-checker.md +0 -622
- data/data/agents/ariadna-project-researcher.md +0 -618
- data/data/agents/ariadna-research-synthesizer.md +0 -236
- data/data/agents/ariadna-test-executor.md +0 -266
- data/data/ariadna/references/checkpoints.md +0 -772
- data/data/ariadna/references/continuation-format.md +0 -249
- data/data/ariadna/references/decimal-phase-calculation.md +0 -65
- data/data/ariadna/references/git-integration.md +0 -248
- data/data/ariadna/references/git-planning-commit.md +0 -38
- data/data/ariadna/references/model-profile-resolution.md +0 -32
- data/data/ariadna/references/model-profiles.md +0 -73
- data/data/ariadna/references/phase-argument-parsing.md +0 -61
- data/data/ariadna/references/planning-config.md +0 -194
- data/data/ariadna/references/questioning.md +0 -153
- data/data/ariadna/references/rails-conventions.md +0 -416
- data/data/ariadna/references/tdd.md +0 -267
- data/data/ariadna/references/ui-brand.md +0 -160
- data/data/ariadna/references/verification-patterns.md +0 -853
- data/data/ariadna/templates/codebase/architecture.md +0 -481
- data/data/ariadna/templates/codebase/concerns.md +0 -380
- data/data/ariadna/templates/codebase/conventions.md +0 -434
- data/data/ariadna/templates/codebase/integrations.md +0 -328
- data/data/ariadna/templates/codebase/stack.md +0 -189
- data/data/ariadna/templates/codebase/structure.md +0 -418
- data/data/ariadna/templates/codebase/testing.md +0 -606
- data/data/ariadna/templates/context.md +0 -283
- data/data/ariadna/templates/continue-here.md +0 -78
- data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
- data/data/ariadna/templates/phase-prompt.md +0 -609
- data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
- data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
- data/data/ariadna/templates/research-project/FEATURES.md +0 -168
- data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
- data/data/ariadna/templates/research-project/STACK.md +0 -251
- data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
- data/data/ariadna/templates/state.md +0 -176
- data/data/ariadna/templates/summary-complex.md +0 -59
- data/data/ariadna/templates/summary-minimal.md +0 -41
- data/data/ariadna/templates/summary-standard.md +0 -48
- data/data/ariadna/templates/user-setup.md +0 -310
- data/data/ariadna/workflows/add-phase.md +0 -111
- data/data/ariadna/workflows/add-todo.md +0 -157
- data/data/ariadna/workflows/audit-milestone.md +0 -241
- data/data/ariadna/workflows/check-todos.md +0 -176
- data/data/ariadna/workflows/complete-milestone.md +0 -644
- data/data/ariadna/workflows/diagnose-issues.md +0 -219
- data/data/ariadna/workflows/discovery-phase.md +0 -289
- data/data/ariadna/workflows/discuss-phase.md +0 -408
- data/data/ariadna/workflows/execute-plan.md +0 -448
- data/data/ariadna/workflows/help.md +0 -470
- data/data/ariadna/workflows/insert-phase.md +0 -129
- data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
- data/data/ariadna/workflows/pause-work.md +0 -122
- data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
- data/data/ariadna/workflows/remove-phase.md +0 -154
- data/data/ariadna/workflows/research-phase.md +0 -74
- data/data/ariadna/workflows/resume-project.md +0 -306
- data/data/ariadna/workflows/set-profile.md +0 -80
- data/data/ariadna/workflows/settings.md +0 -145
- data/data/ariadna/workflows/transition.md +0 -493
- data/data/ariadna/workflows/update.md +0 -212
- data/data/ariadna/workflows/verify-phase.md +0 -226
- data/data/commands/ariadna/add-todo.md +0 -42
- data/data/commands/ariadna/audit-milestone.md +0 -42
- data/data/commands/ariadna/check-todos.md +0 -41
- data/data/commands/ariadna/complete-milestone.md +0 -136
- data/data/commands/ariadna/discuss-phase.md +0 -86
- data/data/commands/ariadna/help.md +0 -22
- data/data/commands/ariadna/list-phase-assumptions.md +0 -50
- data/data/commands/ariadna/pause-work.md +0 -35
- data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
- data/data/commands/ariadna/reapply-patches.md +0 -110
- data/data/commands/ariadna/research-phase.md +0 -187
- data/data/commands/ariadna/resume-work.md +0 -40
- data/data/commands/ariadna/set-profile.md +0 -34
- data/data/commands/ariadna/settings.md +0 -36
- data/data/commands/ariadna/update.md +0 -37
- data/data/guides/backend.md +0 -3069
- data/data/guides/frontend.md +0 -1479
- data/data/guides/performance.md +0 -1193
- data/data/guides/security.md +0 -1522
- data/data/guides/style-guide.md +0 -1091
- data/data/guides/testing.md +0 -504
- data/data/templates.md +0 -94
|
@@ -1,385 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<required_reading>
|
|
6
|
-
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
</required_reading>
|
|
8
|
-
|
|
9
|
-
<process>
|
|
1
|
+
---
|
|
2
|
+
name: progress
|
|
3
|
+
description: Check project progress and route to the next action — absorbs resume-project and pause-work.
|
|
4
|
+
---
|
|
10
5
|
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
## Goal
|
|
7
|
+
Give instant situational awareness (recent work, current position, blockers) then route precisely to the next command — execute an existing plan, create the next one, fix UAT gaps, complete a milestone, or start the next milestone cycle. Also handles session pause (create `.continue-here.md`) and resume (restore from checkpoint).
|
|
13
8
|
|
|
9
|
+
## Context Loading
|
|
14
10
|
```bash
|
|
15
11
|
INIT=$(ariadna-tools init progress --include state,roadmap,project,config)
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`.
|
|
19
|
-
|
|
20
|
-
**File contents (from --include):** `state_content`, `roadmap_content`, `project_content`, `config_content`. These are null if files don't exist.
|
|
21
|
-
|
|
22
|
-
If `project_exists` is false (no `.ariadna_planning/` directory):
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
No planning structure found.
|
|
26
|
-
|
|
27
|
-
Run /ariadna:new-project to start a new project.
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Exit.
|
|
31
|
-
|
|
32
|
-
If missing STATE.md: suggest `/ariadna:new-project`.
|
|
33
|
-
|
|
34
|
-
**If ROADMAP.md missing but PROJECT.md exists:**
|
|
35
|
-
|
|
36
|
-
This means a milestone was completed and archived. Go to **Route F** (between milestones).
|
|
37
|
-
|
|
38
|
-
If missing both ROADMAP.md and PROJECT.md: suggest `/ariadna:new-project`.
|
|
39
|
-
</step>
|
|
40
|
-
|
|
41
|
-
<step name="load">
|
|
42
|
-
**Use project context from INIT:**
|
|
43
|
-
|
|
44
|
-
All file contents are already loaded via `--include` in init_context step:
|
|
45
|
-
- `state_content` — living memory (position, decisions, issues)
|
|
46
|
-
- `roadmap_content` — phase structure and objectives
|
|
47
|
-
- `project_content` — current state (What This Is, Core Value, Requirements)
|
|
48
|
-
- `config_content` — settings (model_profile, workflow toggles)
|
|
49
|
-
|
|
50
|
-
No additional file reads needed.
|
|
51
|
-
</step>
|
|
52
|
-
|
|
53
|
-
<step name="analyze_roadmap">
|
|
54
|
-
**Get comprehensive roadmap analysis (replaces manual parsing):**
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
12
|
ROADMAP=$(ariadna-tools roadmap analyze)
|
|
58
13
|
```
|
|
14
|
+
Parse from init: `project_exists`, `roadmap_exists`, `paused_at`. If `project_exists` is false, suggest `/ariadna:new-project` and exit. If ROADMAP.md missing but PROJECT.md exists, route to **between milestones** (suggest `/ariadna:new-milestone`). Read 2-3 most recent SUMMARY.md files for recent-work context.
|
|
59
15
|
|
|
60
|
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
Use this instead of manually reading/parsing ROADMAP.md.
|
|
68
|
-
</step>
|
|
69
|
-
|
|
70
|
-
<step name="recent">
|
|
71
|
-
**Gather recent work context:**
|
|
72
|
-
|
|
73
|
-
- Find the 2-3 most recent SUMMARY.md files
|
|
74
|
-
- Use `summary-extract` for efficient parsing:
|
|
75
|
-
```bash
|
|
76
|
-
ariadna-tools summary-extract <path> --fields one_liner
|
|
77
|
-
```
|
|
78
|
-
- This shows "what we've been working on"
|
|
79
|
-
</step>
|
|
80
|
-
|
|
81
|
-
<step name="position">
|
|
82
|
-
**Parse current position from init context and roadmap analysis:**
|
|
83
|
-
|
|
84
|
-
- Use `current_phase` and `next_phase` from roadmap analyze
|
|
85
|
-
- Use phase-level `has_context` and `has_research` flags from analyze
|
|
86
|
-
- Note `paused_at` if work was paused (from init context)
|
|
87
|
-
- Count pending todos: use `init todos` or `list-todos`
|
|
88
|
-
- Check for active debug sessions: `ls .ariadna_planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
|
|
89
|
-
</step>
|
|
90
|
-
|
|
91
|
-
<step name="report">
|
|
92
|
-
**Generate progress bar from ariadna-tools, then present rich status report:**
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
# Get formatted progress bar
|
|
96
|
-
PROGRESS_BAR=$(ariadna-tools progress bar --raw)
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Present:
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
# [Project Name]
|
|
103
|
-
|
|
104
|
-
**Progress:** {PROGRESS_BAR}
|
|
105
|
-
**Profile:** [quality/balanced/budget]
|
|
106
|
-
|
|
107
|
-
## Recent Work
|
|
108
|
-
- [Phase X, Plan Y]: [what was accomplished - 1 line from summary-extract]
|
|
109
|
-
- [Phase X, Plan Z]: [what was accomplished - 1 line from summary-extract]
|
|
110
|
-
|
|
111
|
-
## Current Position
|
|
112
|
-
Phase [N] of [total]: [phase-name]
|
|
113
|
-
Plan [M] of [phase-total]: [status]
|
|
114
|
-
CONTEXT: [✓ if has_context | - if not]
|
|
115
|
-
|
|
116
|
-
## Key Decisions Made
|
|
117
|
-
- [decision 1 from STATE.md]
|
|
118
|
-
- [decision 2]
|
|
119
|
-
|
|
120
|
-
## Blockers/Concerns
|
|
121
|
-
- [any blockers or concerns from STATE.md]
|
|
122
|
-
|
|
123
|
-
## Pending Todos
|
|
124
|
-
- [count] pending — /ariadna:check-todos to review
|
|
125
|
-
|
|
126
|
-
## Active Debug Sessions
|
|
127
|
-
- [count] active — /ariadna:debug to continue
|
|
128
|
-
(Only show this section if count > 0)
|
|
129
|
-
|
|
130
|
-
## What's Next
|
|
131
|
-
[Next phase/plan objective from roadmap analyze]
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
</step>
|
|
135
|
-
|
|
136
|
-
<step name="route">
|
|
137
|
-
**Determine next action based on verified counts.**
|
|
138
|
-
|
|
139
|
-
**Step 1: Count plans, summaries, and issues in current phase**
|
|
140
|
-
|
|
141
|
-
List files in the current phase directory:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
ls -1 .ariadna_planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
145
|
-
ls -1 .ariadna_planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
146
|
-
ls -1 .ariadna_planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
State: "This phase has {X} plans, {Y} summaries."
|
|
150
|
-
|
|
151
|
-
**Step 1.5: Check for unaddressed UAT gaps**
|
|
152
|
-
|
|
153
|
-
Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
# Check for diagnosed UAT with gaps
|
|
157
|
-
grep -l "status: diagnosed" .ariadna_planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Track:
|
|
161
|
-
- `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
|
|
162
|
-
|
|
163
|
-
**Step 2: Route based on counts**
|
|
164
|
-
|
|
165
|
-
| Condition | Meaning | Action |
|
|
166
|
-
|-----------|---------|--------|
|
|
167
|
-
| uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
|
|
168
|
-
| summaries < plans | Unexecuted plans exist | Go to **Route A** |
|
|
169
|
-
| summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
|
|
170
|
-
| plans = 0 | Phase not yet planned | Go to **Route B** |
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
**Route A: Unexecuted plan exists**
|
|
175
|
-
|
|
176
|
-
Find the first PLAN.md without matching SUMMARY.md.
|
|
177
|
-
Read its `<objective>` section.
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## ▶ Next Up
|
|
183
|
-
|
|
184
|
-
**{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
185
|
-
|
|
186
|
-
`/ariadna:execute-phase {phase}`
|
|
187
|
-
|
|
188
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
**Route B: Phase needs planning**
|
|
196
|
-
|
|
197
|
-
Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
198
|
-
|
|
199
|
-
**If CONTEXT.md exists:**
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## ▶ Next Up
|
|
205
|
-
|
|
206
|
-
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
207
|
-
<sub>✓ Context gathered, ready to plan</sub>
|
|
208
|
-
|
|
209
|
-
`/ariadna:plan-phase {phase-number}`
|
|
210
|
-
|
|
211
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**If CONTEXT.md does NOT exist:**
|
|
217
|
-
|
|
218
|
-
```
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## ▶ Next Up
|
|
222
|
-
|
|
223
|
-
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
224
|
-
|
|
225
|
-
`/ariadna:discuss-phase {phase}` — gather context and clarify approach
|
|
226
|
-
|
|
227
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
**Also available:**
|
|
232
|
-
- `/ariadna:plan-phase {phase}` — skip discussion, plan directly
|
|
233
|
-
- `/ariadna:list-phase-assumptions {phase}` — see Claude's assumptions
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
**Route E: UAT gaps need fix plans**
|
|
241
|
-
|
|
242
|
-
UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
---
|
|
246
|
-
|
|
247
|
-
## ⚠ UAT Gaps Found
|
|
248
|
-
|
|
249
|
-
**{phase}-UAT.md** has {N} gaps requiring fixes.
|
|
250
|
-
|
|
251
|
-
`/ariadna:plan-phase {phase} --gaps`
|
|
252
|
-
|
|
253
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
**Also available:**
|
|
258
|
-
- `/ariadna:execute-phase {phase}` — execute phase plans
|
|
259
|
-
- `/ariadna:verify-work {phase}` — run more UAT testing
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
**Step 3: Check milestone status (only when phase complete)**
|
|
267
|
-
|
|
268
|
-
Read ROADMAP.md and identify:
|
|
269
|
-
1. Current phase number
|
|
270
|
-
2. All phase numbers in the current milestone section
|
|
271
|
-
|
|
272
|
-
Count total phases and identify the highest phase number.
|
|
273
|
-
|
|
274
|
-
State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
|
|
275
|
-
|
|
276
|
-
**Route based on milestone status:**
|
|
277
|
-
|
|
278
|
-
| Condition | Meaning | Action |
|
|
279
|
-
|-----------|---------|--------|
|
|
280
|
-
| current phase < highest phase | More phases remain | Go to **Route C** |
|
|
281
|
-
| current phase = highest phase | Milestone complete | Go to **Route D** |
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
**Route C: Phase complete, more phases remain**
|
|
286
|
-
|
|
287
|
-
Read ROADMAP.md to get the next phase's name and goal.
|
|
288
|
-
|
|
289
|
-
```
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## ✓ Phase {Z} Complete
|
|
293
|
-
|
|
294
|
-
## ▶ Next Up
|
|
295
|
-
|
|
296
|
-
**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
297
|
-
|
|
298
|
-
`/ariadna:discuss-phase {Z+1}` — gather context and clarify approach
|
|
299
|
-
|
|
300
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
**Also available:**
|
|
305
|
-
- `/ariadna:plan-phase {Z+1}` — skip discussion, plan directly
|
|
306
|
-
- `/ariadna:verify-work {Z}` — user acceptance test before continuing
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
**Route D: Milestone complete**
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
## 🎉 Milestone Complete
|
|
319
|
-
|
|
320
|
-
All {N} phases finished!
|
|
321
|
-
|
|
322
|
-
## ▶ Next Up
|
|
323
|
-
|
|
324
|
-
**Complete Milestone** — archive and prepare for next
|
|
325
|
-
|
|
326
|
-
`/ariadna:complete-milestone`
|
|
327
|
-
|
|
328
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
**Also available:**
|
|
333
|
-
- `/ariadna:verify-work` — user acceptance test before completing milestone
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
**Route F: Between milestones (ROADMAP.md missing, PROJECT.md exists)**
|
|
341
|
-
|
|
342
|
-
A milestone was completed and archived. Ready to start the next milestone cycle.
|
|
343
|
-
|
|
344
|
-
Read MILESTONES.md to find the last completed milestone version.
|
|
345
|
-
|
|
346
|
-
```
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
## ✓ Milestone v{X.Y} Complete
|
|
350
|
-
|
|
351
|
-
Ready to plan the next milestone.
|
|
352
|
-
|
|
353
|
-
## ▶ Next Up
|
|
354
|
-
|
|
355
|
-
**Start Next Milestone** — questioning → research → requirements → roadmap
|
|
356
|
-
|
|
357
|
-
`/ariadna:new-milestone`
|
|
358
|
-
|
|
359
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
360
|
-
|
|
361
|
-
---
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
</step>
|
|
365
|
-
|
|
366
|
-
<step name="edge_cases">
|
|
367
|
-
**Handle edge cases:**
|
|
368
|
-
|
|
369
|
-
- Phase complete but next phase not planned → offer `/ariadna:plan-phase [next]`
|
|
370
|
-
- All work complete → offer milestone completion
|
|
371
|
-
- Blockers present → highlight before offering to continue
|
|
372
|
-
- Handoff file exists → mention it, offer `/ariadna:resume-work`
|
|
373
|
-
</step>
|
|
374
|
-
|
|
375
|
-
</process>
|
|
16
|
+
## Constraints
|
|
17
|
+
- Never take action automatically — always present status first, then route with a command suggestion
|
|
18
|
+
- Routing priority: UAT gaps → unexecuted plans → plan the current phase → complete milestone → new milestone
|
|
19
|
+
- Pause mode: if user says "pause" or "stop", write `.ariadna_planning/phases/{dir}/.continue-here.md` with full work state and commit as WIP
|
|
20
|
+
- Resume mode: detect `.continue-here.md` or incomplete PLAN (no matching SUMMARY) and surface as "Incomplete work detected" before routing
|
|
21
|
+
- Use `ariadna-tools progress bar --raw` for the visual progress bar
|
|
376
22
|
|
|
377
|
-
|
|
23
|
+
## Success Criteria
|
|
24
|
+
- Status report shows: progress bar, recent work, current position, decisions, blockers, pending todos
|
|
25
|
+
- Routing suggestion is unambiguous — one primary command with `/clear` reminder
|
|
26
|
+
- Pause/resume produces or consumes `.continue-here.md` with specific enough context for a fresh session
|
|
378
27
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
- [ ] What's next clearly explained
|
|
382
|
-
- [ ] Smart routing: /ariadna:execute-phase if plans exist, /ariadna:plan-phase if not
|
|
383
|
-
- [ ] User confirms before any action
|
|
384
|
-
- [ ] Seamless handoff to appropriate ariadna command
|
|
385
|
-
</success_criteria>
|
|
28
|
+
## On Completion
|
|
29
|
+
Present the "Next Up" block with the exact command to run. For pause, confirm handoff file location and show `/ariadna:progress` as the resume trigger.
|
|
@@ -1,230 +1,28 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Execute small, ad-hoc tasks with Ariadna guarantees (atomic commits, STATE.md tracking) while skipping optional agents (research, plan-checker, verifier). Quick mode spawns ariadna-planner (quick mode) + ariadna-executor(s), tracks tasks in `.ariadna_planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
|
|
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
|
-
**Step 1: Get task description**
|
|
11
|
-
|
|
12
|
-
Prompt user interactively for the task description:
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
AskUserQuestion(
|
|
16
|
-
header: "Quick Task",
|
|
17
|
-
question: "What do you want to do?",
|
|
18
|
-
followUp: null
|
|
19
|
-
)
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Store response as `$DESCRIPTION`.
|
|
23
|
-
|
|
24
|
-
If empty, re-prompt: "Please provide a task description."
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
**Step 2: Initialize**
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
INIT=$(ariadna-tools init quick "$DESCRIPTION")
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Parse JSON for: `planner_model`, `executor_model`, `commit_docs`, `next_num`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
|
|
35
|
-
|
|
36
|
-
**If `roadmap_exists` is false:** Error — Quick mode requires an active project with ROADMAP.md. Run `/ariadna:new-project` first.
|
|
37
|
-
|
|
38
|
-
Quick tasks can run mid-phase - validation only checks ROADMAP.md exists, not phase status.
|
|
39
|
-
|
|
40
1
|
---
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
mkdir -p "${task_dir}"
|
|
46
|
-
```
|
|
47
|
-
|
|
2
|
+
name: quick
|
|
3
|
+
description: Execute a small ad-hoc task with Ariadna guarantees — atomic commits and STATE.md tracking — without the full phase workflow.
|
|
48
4
|
---
|
|
49
5
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Create the directory for this quick task:
|
|
6
|
+
## Goal
|
|
7
|
+
Run a focused, self-contained task outside the planned phase cycle. Spawns a planner (quick mode, 1-3 tasks) and an executor, commits artifacts, and records the task in STATE.md's "Quick Tasks Completed" table.
|
|
53
8
|
|
|
9
|
+
## Context Loading
|
|
54
10
|
```bash
|
|
55
|
-
|
|
56
|
-
mkdir -p "$QUICK_DIR"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Report to user:
|
|
60
|
-
```
|
|
61
|
-
Creating quick task ${next_num}: ${DESCRIPTION}
|
|
62
|
-
Directory: ${QUICK_DIR}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Store `$QUICK_DIR` for use in orchestration.
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
**Step 5: Spawn planner (quick mode)**
|
|
70
|
-
|
|
71
|
-
Spawn ariadna-planner with quick mode context:
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
Task(
|
|
75
|
-
prompt="
|
|
76
|
-
<planning_context>
|
|
77
|
-
|
|
78
|
-
**Mode:** quick
|
|
79
|
-
**Directory:** ${QUICK_DIR}
|
|
80
|
-
**Description:** ${DESCRIPTION}
|
|
81
|
-
|
|
82
|
-
**Project State:**
|
|
83
|
-
@.ariadna_planning/STATE.md
|
|
84
|
-
|
|
85
|
-
</planning_context>
|
|
86
|
-
|
|
87
|
-
<constraints>
|
|
88
|
-
- Create a SINGLE plan with 1-3 focused tasks
|
|
89
|
-
- Quick tasks should be atomic and self-contained
|
|
90
|
-
- No research phase, no checker phase
|
|
91
|
-
- Target ~30% context usage (simple, focused)
|
|
92
|
-
</constraints>
|
|
93
|
-
|
|
94
|
-
<output>
|
|
95
|
-
Write plan to: ${QUICK_DIR}/${next_num}-PLAN.md
|
|
96
|
-
Return: ## PLANNING COMPLETE with plan path
|
|
97
|
-
</output>
|
|
98
|
-
",
|
|
99
|
-
subagent_type="ariadna-planner",
|
|
100
|
-
model="{planner_model}",
|
|
101
|
-
description="Quick plan: ${DESCRIPTION}"
|
|
102
|
-
)
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
After planner returns:
|
|
106
|
-
1. Verify plan exists at `${QUICK_DIR}/${next_num}-PLAN.md`
|
|
107
|
-
2. Extract plan count (typically 1 for quick tasks)
|
|
108
|
-
3. Report: "Plan created: ${QUICK_DIR}/${next_num}-PLAN.md"
|
|
109
|
-
|
|
110
|
-
If plan not found, error: "Planner failed to create ${next_num}-PLAN.md"
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
**Step 6: Spawn executor**
|
|
115
|
-
|
|
116
|
-
Spawn ariadna-executor with plan reference:
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
Task(
|
|
120
|
-
prompt="
|
|
121
|
-
Execute quick task ${next_num}.
|
|
122
|
-
|
|
123
|
-
Plan: @${QUICK_DIR}/${next_num}-PLAN.md
|
|
124
|
-
Project state: @.ariadna_planning/STATE.md
|
|
125
|
-
|
|
126
|
-
<constraints>
|
|
127
|
-
- Execute all tasks in the plan
|
|
128
|
-
- Commit each task atomically
|
|
129
|
-
- Create summary at: ${QUICK_DIR}/${next_num}-SUMMARY.md
|
|
130
|
-
- Do NOT update ROADMAP.md (quick tasks are separate from planned phases)
|
|
131
|
-
</constraints>
|
|
132
|
-
",
|
|
133
|
-
subagent_type="ariadna-executor",
|
|
134
|
-
model="{executor_model}",
|
|
135
|
-
description="Execute: ${DESCRIPTION}"
|
|
136
|
-
)
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
After executor returns:
|
|
140
|
-
1. Verify summary exists at `${QUICK_DIR}/${next_num}-SUMMARY.md`
|
|
141
|
-
2. Extract commit hash from executor output
|
|
142
|
-
3. Report completion status
|
|
143
|
-
|
|
144
|
-
**Known Claude Code bug (classifyHandoffIfNeeded):** If executor reports "failed" with error `classifyHandoffIfNeeded is not defined`, this is a Claude Code runtime bug — not a real failure. Check if summary file exists and git log shows commits. If so, treat as successful.
|
|
145
|
-
|
|
146
|
-
If summary not found, error: "Executor failed to create ${next_num}-SUMMARY.md"
|
|
147
|
-
|
|
148
|
-
Note: For quick tasks producing multiple plans (rare), spawn executors in parallel waves per execute-phase patterns.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
**Step 7: Update STATE.md**
|
|
153
|
-
|
|
154
|
-
Update STATE.md with quick task completion record.
|
|
155
|
-
|
|
156
|
-
**7a. Check if "Quick Tasks Completed" section exists:**
|
|
157
|
-
|
|
158
|
-
Read STATE.md and check for `### Quick Tasks Completed` section.
|
|
159
|
-
|
|
160
|
-
**7b. If section doesn't exist, create it:**
|
|
161
|
-
|
|
162
|
-
Insert after `### Blockers/Concerns` section:
|
|
163
|
-
|
|
164
|
-
```markdown
|
|
165
|
-
### Quick Tasks Completed
|
|
166
|
-
|
|
167
|
-
| # | Description | Date | Commit | Directory |
|
|
168
|
-
|---|-------------|------|--------|-----------|
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**7c. Append new row to table:**
|
|
172
|
-
|
|
173
|
-
Use `date` from init:
|
|
174
|
-
```markdown
|
|
175
|
-
| ${next_num} | ${DESCRIPTION} | ${date} | ${commit_hash} | [${next_num}-${slug}](./quick/${next_num}-${slug}/) |
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
**7d. Update "Last activity" line:**
|
|
179
|
-
|
|
180
|
-
Use `date` from init:
|
|
181
|
-
```
|
|
182
|
-
Last activity: ${date} - Completed quick task ${next_num}: ${DESCRIPTION}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
Use Edit tool to make these changes atomically
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
**Step 8: Final commit and completion**
|
|
190
|
-
|
|
191
|
-
Stage and commit quick task artifacts:
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
ariadna-tools commit "docs(quick-${next_num}): ${DESCRIPTION}" --files ${QUICK_DIR}/${next_num}-PLAN.md ${QUICK_DIR}/${next_num}-SUMMARY.md .ariadna_planning/STATE.md
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
Get final commit hash:
|
|
198
|
-
```bash
|
|
199
|
-
commit_hash=$(git rev-parse --short HEAD)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
Display completion output:
|
|
11
|
+
INIT=$(ariadna-tools init quick "$DESCRIPTION")
|
|
203
12
|
```
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
Ariadna > QUICK TASK COMPLETE
|
|
13
|
+
Ask the user for `$DESCRIPTION` first via AskUserQuestion if not provided. Parse: `planner_model`, `executor_model`, `next_num`, `slug`, `task_dir`, `roadmap_exists`. If `roadmap_exists` is false, error — run `/ariadna:new-project` first.
|
|
207
14
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
Ready for next task: /ariadna:quick
|
|
216
|
-
```
|
|
15
|
+
## Constraints
|
|
16
|
+
- One plan per quick task (1-3 focused tasks inside the plan); no research, no plan-checker, no verifier
|
|
17
|
+
- Executor must NOT update ROADMAP.md — quick tasks are separate from planned phases
|
|
18
|
+
- Task directory: `.ariadna_planning/quick/{NNN}-{slug}/`; numbered sequentially (001, 002…)
|
|
19
|
+
- Both `{NNN}-PLAN.md` and `{NNN}-SUMMARY.md` must exist before STATE.md update
|
|
20
|
+
- If executor returns `classifyHandoffIfNeeded` error, check for summary file + git log before treating as failure
|
|
217
21
|
|
|
218
|
-
|
|
22
|
+
## Success Criteria
|
|
23
|
+
- `{NNN}-PLAN.md` and `{NNN}-SUMMARY.md` exist in the task directory
|
|
24
|
+
- STATE.md "Quick Tasks Completed" table updated with task row and "Last activity" line
|
|
25
|
+
- All artifacts committed atomically
|
|
219
26
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
- [ ] User provides task description
|
|
223
|
-
- [ ] Slug generated (lowercase, hyphens, max 40 chars)
|
|
224
|
-
- [ ] Next number calculated (001, 002, 003...)
|
|
225
|
-
- [ ] Directory created at `.ariadna_planning/quick/NNN-slug/`
|
|
226
|
-
- [ ] `${next_num}-PLAN.md` created by planner
|
|
227
|
-
- [ ] `${next_num}-SUMMARY.md` created by executor
|
|
228
|
-
- [ ] STATE.md updated with quick task row
|
|
229
|
-
- [ ] Artifacts committed
|
|
230
|
-
</success_criteria>
|
|
27
|
+
## On Completion
|
|
28
|
+
Display task number, description, summary path, and commit hash. Offer `/ariadna:quick` for the next ad-hoc task.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: roadmap-ops
|
|
3
|
+
description: Modify the roadmap structure — add a phase at the end, insert a decimal phase between existing phases, or remove an unstarted phase with renumbering.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Goal
|
|
7
|
+
Apply structural changes to ROADMAP.md cleanly and atomically. Delegates all heavy lifting (directory creation/deletion, renumbering, ROADMAP.md edits) to `ariadna-tools phase {op}` and records the change in STATE.md's "Roadmap Evolution" section.
|
|
8
|
+
|
|
9
|
+
## Context Loading
|
|
10
|
+
```bash
|
|
11
|
+
INIT=$(ariadna-tools init phase-op "${target_phase_or_0}")
|
|
12
|
+
```
|
|
13
|
+
Parse: `roadmap_exists`, `phase_found`, `phase_dir`. If `roadmap_exists` is false, error and exit. Determine operation from `$ARGUMENTS`: `add <description>`, `insert <after_phase> <description>`, or `remove <phase_number>`.
|
|
14
|
+
|
|
15
|
+
## Constraints
|
|
16
|
+
- **add**: appends a new integer phase (max + 1) at end of milestone; requires description; use for planned work
|
|
17
|
+
- **insert**: inserts a decimal phase (e.g., 72.1) immediately after an existing integer phase; requires `<after_phase>` and description; marks as `(INSERTED)` in ROADMAP.md; use for urgent mid-milestone work only
|
|
18
|
+
- **remove**: only future phases (target > current); requires user confirmation before executing; use `--force` only if user explicitly confirms removal of a phase with existing SUMMARY.md files; the git commit is the historical record — do NOT add redundant notes to STATE.md
|
|
19
|
+
- All three operations commit immediately after execution
|
|
20
|
+
- Do NOT create plans during these operations — that is `/ariadna:plan-phase`'s job
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
- `ariadna-tools phase {add|insert|remove}` exits successfully with no errors
|
|
24
|
+
- Phase directory created (add/insert) or deleted and subsequent phases renumbered (remove)
|
|
25
|
+
- ROADMAP.md and STATE.md updated; changes committed
|
|
26
|
+
|
|
27
|
+
## On Completion
|
|
28
|
+
Display a summary of what changed (new phase number/directory, or removed phase + renumber count). For add/insert, suggest `/ariadna:plan-phase {N}` as next step. For remove, suggest `/ariadna:progress` to see the updated roadmap.
|