ariadna 1.2.0 → 1.2.2
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/data/agents/ariadna-backend-executor.md +9 -6
- data/data/agents/ariadna-codebase-mapper.md +5 -5
- data/data/agents/ariadna-debugger.md +13 -13
- data/data/agents/ariadna-executor.md +9 -6
- data/data/agents/ariadna-frontend-executor.md +9 -6
- data/data/agents/ariadna-integration-checker.md +1 -1
- data/data/agents/ariadna-phase-researcher.md +1 -1
- data/data/agents/ariadna-planner.md +17 -17
- data/data/agents/ariadna-project-researcher.md +10 -10
- data/data/agents/ariadna-research-synthesizer.md +11 -11
- data/data/agents/ariadna-roadmapper.md +8 -8
- data/data/agents/ariadna-test-executor.md +9 -6
- data/data/agents/ariadna-verifier.md +4 -4
- data/data/ariadna/references/decimal-phase-calculation.md +2 -2
- data/data/ariadna/references/git-integration.md +4 -4
- data/data/ariadna/references/git-planning-commit.md +7 -7
- data/data/ariadna/references/model-profile-resolution.md +1 -1
- data/data/ariadna/references/model-profiles.md +2 -2
- data/data/ariadna/references/planning-config.md +13 -13
- data/data/ariadna/references/rails-conventions.md +9 -2
- data/data/ariadna/references/tdd.md +2 -2
- data/data/ariadna/templates/DEBUG.md +2 -2
- data/data/ariadna/templates/UAT.md +3 -3
- data/data/ariadna/templates/codebase/architecture.md +1 -1
- data/data/ariadna/templates/codebase/concerns.md +1 -1
- data/data/ariadna/templates/codebase/conventions.md +1 -1
- data/data/ariadna/templates/codebase/integrations.md +1 -1
- data/data/ariadna/templates/codebase/stack.md +1 -1
- data/data/ariadna/templates/codebase/structure.md +1 -1
- data/data/ariadna/templates/codebase/testing.md +1 -1
- data/data/ariadna/templates/context.md +2 -2
- data/data/ariadna/templates/continue-here.md +1 -1
- data/data/ariadna/templates/debug-subagent-prompt.md +2 -2
- data/data/ariadna/templates/discovery.md +2 -2
- data/data/ariadna/templates/milestone-archive.md +4 -4
- data/data/ariadna/templates/milestone.md +1 -1
- data/data/ariadna/templates/phase-prompt.md +19 -19
- data/data/ariadna/templates/planner-subagent-prompt.md +9 -9
- data/data/ariadna/templates/project.md +2 -2
- data/data/ariadna/templates/requirements.md +1 -1
- data/data/ariadna/templates/research-project/ARCHITECTURE.md +1 -1
- data/data/ariadna/templates/research-project/FEATURES.md +1 -1
- data/data/ariadna/templates/research-project/PITFALLS.md +1 -1
- data/data/ariadna/templates/research-project/STACK.md +1 -1
- data/data/ariadna/templates/research-project/SUMMARY.md +1 -1
- data/data/ariadna/templates/research.md +2 -2
- data/data/ariadna/templates/roadmap.md +1 -1
- data/data/ariadna/templates/state.md +4 -4
- data/data/ariadna/templates/summary.md +12 -1
- data/data/ariadna/templates/user-setup.md +2 -2
- data/data/ariadna/templates/verification-report.md +1 -1
- data/data/ariadna/workflows/add-phase.md +5 -5
- data/data/ariadna/workflows/add-todo.md +7 -7
- data/data/ariadna/workflows/audit-milestone.md +7 -7
- data/data/ariadna/workflows/check-todos.md +4 -4
- data/data/ariadna/workflows/complete-milestone.md +18 -18
- data/data/ariadna/workflows/diagnose-issues.md +4 -4
- data/data/ariadna/workflows/discovery-phase.md +4 -4
- data/data/ariadna/workflows/discuss-phase.md +2 -2
- data/data/ariadna/workflows/execute-phase.md +97 -9
- data/data/ariadna/workflows/execute-plan.md +30 -19
- data/data/ariadna/workflows/help.md +18 -18
- data/data/ariadna/workflows/insert-phase.md +6 -6
- data/data/ariadna/workflows/list-phase-assumptions.md +1 -1
- data/data/ariadna/workflows/map-codebase.md +22 -22
- data/data/ariadna/workflows/new-milestone.md +16 -16
- data/data/ariadna/workflows/new-project.md +39 -39
- data/data/ariadna/workflows/pause-work.md +4 -4
- data/data/ariadna/workflows/plan-milestone-gaps.md +4 -4
- data/data/ariadna/workflows/plan-phase.md +43 -19
- data/data/ariadna/workflows/progress.md +6 -6
- data/data/ariadna/workflows/quick.md +6 -6
- data/data/ariadna/workflows/remove-phase.md +3 -3
- data/data/ariadna/workflows/research-phase.md +4 -4
- data/data/ariadna/workflows/resume-project.md +9 -9
- data/data/ariadna/workflows/set-profile.md +2 -2
- data/data/ariadna/workflows/settings.md +4 -4
- data/data/ariadna/workflows/transition.md +11 -11
- data/data/ariadna/workflows/verify-phase.md +2 -2
- data/data/ariadna/workflows/verify-work.md +8 -8
- data/data/commands/ariadna/add-phase.md +2 -2
- data/data/commands/ariadna/add-todo.md +1 -1
- data/data/commands/ariadna/audit-milestone.md +6 -6
- data/data/commands/ariadna/check-todos.md +2 -2
- data/data/commands/ariadna/complete-milestone.md +11 -11
- data/data/commands/ariadna/debug.md +3 -3
- data/data/commands/ariadna/discuss-phase.md +2 -2
- data/data/commands/ariadna/execute-phase.md +6 -5
- data/data/commands/ariadna/insert-phase.md +2 -2
- data/data/commands/ariadna/list-phase-assumptions.md +2 -2
- data/data/commands/ariadna/map-codebase.md +7 -7
- data/data/commands/ariadna/new-milestone.md +10 -10
- data/data/commands/ariadna/new-project.md +6 -6
- data/data/commands/ariadna/pause-work.md +1 -1
- data/data/commands/ariadna/plan-milestone-gaps.md +5 -5
- data/data/commands/ariadna/quick.md +2 -2
- data/data/commands/ariadna/remove-phase.md +2 -2
- data/data/commands/ariadna/research-phase.md +6 -6
- data/data/commands/ariadna/verify-work.md +2 -2
- data/data/guides/frontend.md +1044 -9
- data/data/statusline/ariadna-statusline.sh +47 -0
- data/data/templates.md +1 -1
- data/exe/ariadna +2 -1
- data/lib/ariadna/installer.rb +30 -1
- data/lib/ariadna/tools/config_manager.rb +12 -6
- data/lib/ariadna/tools/git_integration.rb +2 -2
- data/lib/ariadna/tools/init.rb +66 -61
- data/lib/ariadna/tools/phase_manager.rb +31 -13
- data/lib/ariadna/tools/roadmap_analyzer.rb +5 -5
- data/lib/ariadna/tools/state_manager.rb +14 -14
- data/lib/ariadna/tools/template_filler.rb +5 -5
- data/lib/ariadna/tools/utilities.rb +4 -4
- data/lib/ariadna/tools/verification.rb +4 -4
- data/lib/ariadna/uninstaller.rb +17 -0
- data/lib/ariadna/version.rb +1 -1
- metadata +2 -1
|
@@ -71,7 +71,7 @@ Keep Accumulated Context section from previous milestone.
|
|
|
71
71
|
Delete MILESTONE-CONTEXT.md if exists (consumed).
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
ariadna-tools commit "docs: start milestone v[X.Y] [Name]" --files .
|
|
74
|
+
ariadna-tools commit "docs: start milestone v[X.Y] [Name]" --files .ariadna_planning/PROJECT.md .ariadna_planning/STATE.md
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
## 7. Load Context and Resolve Models
|
|
@@ -110,7 +110,7 @@ ariadna-tools config-set workflow.research false
|
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
```bash
|
|
113
|
-
mkdir -p .
|
|
113
|
+
mkdir -p .ariadna_planning/research
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
Spawn 4 parallel ariadna-project-researcher agents. Each uses this template with dimension-specific fields:
|
|
@@ -135,7 +135,7 @@ Focus ONLY on what's needed for the NEW features.
|
|
|
135
135
|
<quality_gate>{GATES}</quality_gate>
|
|
136
136
|
|
|
137
137
|
<output>
|
|
138
|
-
Write to: .
|
|
138
|
+
Write to: .ariadna_planning/research/{FILE}
|
|
139
139
|
Use template: ~/.claude/ariadna/templates/research-project/{FILE}
|
|
140
140
|
</output>
|
|
141
141
|
", subagent_type="ariadna-project-researcher", model="{researcher_model}", description="{DIMENSION} research")
|
|
@@ -157,9 +157,9 @@ After all 4 complete, spawn synthesizer:
|
|
|
157
157
|
Task(prompt="
|
|
158
158
|
Synthesize research outputs into SUMMARY.md.
|
|
159
159
|
|
|
160
|
-
Read: .
|
|
160
|
+
Read: .ariadna_planning/research/STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md
|
|
161
161
|
|
|
162
|
-
Write to: .
|
|
162
|
+
Write to: .ariadna_planning/research/SUMMARY.md
|
|
163
163
|
Use template: ~/.claude/ariadna/templates/research-project/SUMMARY.md
|
|
164
164
|
Commit after writing.
|
|
165
165
|
", subagent_type="ariadna-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
@@ -246,7 +246,7 @@ If "adjust": Return to scoping.
|
|
|
246
246
|
|
|
247
247
|
**Commit requirements:**
|
|
248
248
|
```bash
|
|
249
|
-
ariadna-tools commit "docs: define milestone v[X.Y] requirements" --files .
|
|
249
|
+
ariadna-tools commit "docs: define milestone v[X.Y] requirements" --files .ariadna_planning/REQUIREMENTS.md
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
## 10. Create Roadmap
|
|
@@ -264,11 +264,11 @@ ariadna-tools commit "docs: define milestone v[X.Y] requirements" --files .plann
|
|
|
264
264
|
```
|
|
265
265
|
Task(prompt="
|
|
266
266
|
<planning_context>
|
|
267
|
-
@.
|
|
268
|
-
@.
|
|
269
|
-
@.
|
|
270
|
-
@.
|
|
271
|
-
@.
|
|
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
272
|
</planning_context>
|
|
273
273
|
|
|
274
274
|
<instructions>
|
|
@@ -321,7 +321,7 @@ Success criteria:
|
|
|
321
321
|
|
|
322
322
|
**Commit roadmap** (after approval):
|
|
323
323
|
```bash
|
|
324
|
-
ariadna-tools commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files .
|
|
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
325
|
```
|
|
326
326
|
|
|
327
327
|
## 11. Done
|
|
@@ -335,10 +335,10 @@ ariadna-tools commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --file
|
|
|
335
335
|
|
|
336
336
|
| Artifact | Location |
|
|
337
337
|
|----------------|-----------------------------|
|
|
338
|
-
| Project | `.
|
|
339
|
-
| Research | `.
|
|
340
|
-
| Requirements | `.
|
|
341
|
-
| Roadmap | `.
|
|
338
|
+
| Project | `.ariadna_planning/PROJECT.md` |
|
|
339
|
+
| Research | `.ariadna_planning/research/` |
|
|
340
|
+
| Requirements | `.ariadna_planning/REQUIREMENTS.md` |
|
|
341
|
+
| Roadmap | `.ariadna_planning/ROADMAP.md` |
|
|
342
342
|
|
|
343
343
|
**[N] phases** | **[X] requirements** | Ready to build ✓
|
|
344
344
|
|
|
@@ -133,7 +133,7 @@ Loop until "Create PROJECT.md" selected.
|
|
|
133
133
|
|
|
134
134
|
**If auto mode:** Synthesize from provided document. No "Ready?" gate was shown — proceed directly to commit.
|
|
135
135
|
|
|
136
|
-
Synthesize all context into `.
|
|
136
|
+
Synthesize all context into `.ariadna_planning/PROJECT.md` using the template from `templates/project.md`.
|
|
137
137
|
|
|
138
138
|
**For greenfield projects:**
|
|
139
139
|
|
|
@@ -164,7 +164,7 @@ All Active requirements are hypotheses until shipped and validated.
|
|
|
164
164
|
|
|
165
165
|
Infer Validated requirements from existing code:
|
|
166
166
|
|
|
167
|
-
1. Read `.
|
|
167
|
+
1. Read `.ariadna_planning/codebase/ARCHITECTURE.md` and `STACK.md`
|
|
168
168
|
2. Identify what the codebase already does
|
|
169
169
|
3. These become the initial Validated set
|
|
170
170
|
|
|
@@ -211,15 +211,15 @@ Do not compress. Capture everything gathered.
|
|
|
211
211
|
**Commit PROJECT.md:**
|
|
212
212
|
|
|
213
213
|
```bash
|
|
214
|
-
mkdir -p .
|
|
215
|
-
ariadna-tools commit "docs: initialize project" --files .
|
|
214
|
+
mkdir -p .ariadna_planning
|
|
215
|
+
ariadna-tools commit "docs: initialize project" --files .ariadna_planning/PROJECT.md
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
## 5. Workflow Configuration
|
|
219
219
|
|
|
220
220
|
**Use opinionated defaults. Only ask if user wants to customize.**
|
|
221
221
|
|
|
222
|
-
Apply these defaults directly to `.
|
|
222
|
+
Apply these defaults directly to `.ariadna_planning/config.json`:
|
|
223
223
|
|
|
224
224
|
```json
|
|
225
225
|
{
|
|
@@ -253,12 +253,12 @@ questions: [
|
|
|
253
253
|
]
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
-
Create `.
|
|
256
|
+
Create `.ariadna_planning/config.json` with the defaults above, applying the user's depth selection.
|
|
257
257
|
|
|
258
258
|
**Commit config.json:**
|
|
259
259
|
|
|
260
260
|
```bash
|
|
261
|
-
ariadna-tools commit "chore: add project config" --files .
|
|
261
|
+
ariadna-tools commit "chore: add project config" --files .ariadna_planning/config.json
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
**Note:** Run `/ariadna:settings` anytime to update these preferences (research, model profile, parallelization, etc.).
|
|
@@ -293,7 +293,7 @@ Researching [domain] ecosystem...
|
|
|
293
293
|
|
|
294
294
|
Create research directory:
|
|
295
295
|
```bash
|
|
296
|
-
mkdir -p .
|
|
296
|
+
mkdir -p .ariadna_planning/research
|
|
297
297
|
```
|
|
298
298
|
|
|
299
299
|
**Determine milestone context:**
|
|
@@ -349,7 +349,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
349
349
|
</quality_gate>
|
|
350
350
|
|
|
351
351
|
<output>
|
|
352
|
-
Write to: .
|
|
352
|
+
Write to: .ariadna_planning/research/STACK.md
|
|
353
353
|
Use template: ~/.claude/ariadna/templates/research-project/STACK.md
|
|
354
354
|
</output>
|
|
355
355
|
", subagent_type="general-purpose", model="{researcher_model}", description="Stack research")
|
|
@@ -389,7 +389,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
389
389
|
</quality_gate>
|
|
390
390
|
|
|
391
391
|
<output>
|
|
392
|
-
Write to: .
|
|
392
|
+
Write to: .ariadna_planning/research/FEATURES.md
|
|
393
393
|
Use template: ~/.claude/ariadna/templates/research-project/FEATURES.md
|
|
394
394
|
</output>
|
|
395
395
|
", subagent_type="general-purpose", model="{researcher_model}", description="Features research")
|
|
@@ -429,7 +429,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
429
429
|
</quality_gate>
|
|
430
430
|
|
|
431
431
|
<output>
|
|
432
|
-
Write to: .
|
|
432
|
+
Write to: .ariadna_planning/research/ARCHITECTURE.md
|
|
433
433
|
Use template: ~/.claude/ariadna/templates/research-project/ARCHITECTURE.md
|
|
434
434
|
</output>
|
|
435
435
|
", subagent_type="general-purpose", model="{researcher_model}", description="Architecture research")
|
|
@@ -469,7 +469,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
469
469
|
</quality_gate>
|
|
470
470
|
|
|
471
471
|
<output>
|
|
472
|
-
Write to: .
|
|
472
|
+
Write to: .ariadna_planning/research/PITFALLS.md
|
|
473
473
|
Use template: ~/.claude/ariadna/templates/research-project/PITFALLS.md
|
|
474
474
|
</output>
|
|
475
475
|
", subagent_type="general-purpose", model="{researcher_model}", description="Pitfalls research")
|
|
@@ -485,14 +485,14 @@ Synthesize research outputs into SUMMARY.md.
|
|
|
485
485
|
|
|
486
486
|
<research_files>
|
|
487
487
|
Read these files:
|
|
488
|
-
- .
|
|
489
|
-
- .
|
|
490
|
-
- .
|
|
491
|
-
- .
|
|
488
|
+
- .ariadna_planning/research/STACK.md
|
|
489
|
+
- .ariadna_planning/research/FEATURES.md
|
|
490
|
+
- .ariadna_planning/research/ARCHITECTURE.md
|
|
491
|
+
- .ariadna_planning/research/PITFALLS.md
|
|
492
492
|
</research_files>
|
|
493
493
|
|
|
494
494
|
<output>
|
|
495
|
-
Write to: .
|
|
495
|
+
Write to: .ariadna_planning/research/SUMMARY.md
|
|
496
496
|
Use template: ~/.claude/ariadna/templates/research-project/SUMMARY.md
|
|
497
497
|
Commit after writing.
|
|
498
498
|
</output>
|
|
@@ -511,7 +511,7 @@ Display research complete banner and key findings:
|
|
|
511
511
|
**Table Stakes:** [from SUMMARY.md]
|
|
512
512
|
**Watch Out For:** [from SUMMARY.md]
|
|
513
513
|
|
|
514
|
-
Files: `.
|
|
514
|
+
Files: `.ariadna_planning/research/`
|
|
515
515
|
```
|
|
516
516
|
|
|
517
517
|
**If research not requested:** Continue to Step 7.
|
|
@@ -610,7 +610,7 @@ Cross-check requirements against Core Value from PROJECT.md. If gaps detected, s
|
|
|
610
610
|
|
|
611
611
|
**Generate REQUIREMENTS.md:**
|
|
612
612
|
|
|
613
|
-
Create `.
|
|
613
|
+
Create `.ariadna_planning/REQUIREMENTS.md` with:
|
|
614
614
|
- v1 Requirements grouped by category (checkboxes, REQ-IDs)
|
|
615
615
|
- v2 Requirements (deferred)
|
|
616
616
|
- Out of Scope (explicit exclusions with reasoning)
|
|
@@ -658,7 +658,7 @@ If "adjust": Return to scoping.
|
|
|
658
658
|
**Commit requirements:**
|
|
659
659
|
|
|
660
660
|
```bash
|
|
661
|
-
ariadna-tools commit "docs: define v1 requirements" --files .
|
|
661
|
+
ariadna-tools commit "docs: define v1 requirements" --files .ariadna_planning/REQUIREMENTS.md
|
|
662
662
|
```
|
|
663
663
|
|
|
664
664
|
## 8. Create Roadmap
|
|
@@ -679,19 +679,19 @@ Task(prompt="
|
|
|
679
679
|
<planning_context>
|
|
680
680
|
|
|
681
681
|
**Project:**
|
|
682
|
-
@.
|
|
682
|
+
@.ariadna_planning/PROJECT.md
|
|
683
683
|
|
|
684
684
|
**Requirements:**
|
|
685
|
-
@.
|
|
685
|
+
@.ariadna_planning/REQUIREMENTS.md
|
|
686
686
|
|
|
687
687
|
**Research (if exists):**
|
|
688
|
-
@.
|
|
688
|
+
@.ariadna_planning/research/SUMMARY.md
|
|
689
689
|
|
|
690
690
|
**Rails Conventions (pre-loaded domain knowledge):**
|
|
691
691
|
@~/.claude/ariadna/references/rails-conventions.md
|
|
692
692
|
|
|
693
693
|
**Config:**
|
|
694
|
-
@.
|
|
694
|
+
@.ariadna_planning/config.json
|
|
695
695
|
|
|
696
696
|
</planning_context>
|
|
697
697
|
|
|
@@ -780,7 +780,7 @@ Use AskUserQuestion:
|
|
|
780
780
|
User feedback on roadmap:
|
|
781
781
|
[user's notes]
|
|
782
782
|
|
|
783
|
-
Current ROADMAP.md: @.
|
|
783
|
+
Current ROADMAP.md: @.ariadna_planning/ROADMAP.md
|
|
784
784
|
|
|
785
785
|
Update the roadmap based on feedback. Edit files in place.
|
|
786
786
|
Return ROADMAP REVISED with changes made.
|
|
@@ -790,12 +790,12 @@ Use AskUserQuestion:
|
|
|
790
790
|
- Present revised roadmap
|
|
791
791
|
- Loop until user approves
|
|
792
792
|
|
|
793
|
-
**If "Review full file":** Display raw `cat .
|
|
793
|
+
**If "Review full file":** Display raw `cat .ariadna_planning/ROADMAP.md`, then re-ask.
|
|
794
794
|
|
|
795
795
|
**Commit roadmap (after approval or auto mode):**
|
|
796
796
|
|
|
797
797
|
```bash
|
|
798
|
-
ariadna-tools commit "docs: create roadmap ([N] phases)" --files .
|
|
798
|
+
ariadna-tools commit "docs: create roadmap ([N] phases)" --files .ariadna_planning/ROADMAP.md .ariadna_planning/STATE.md .ariadna_planning/REQUIREMENTS.md
|
|
799
799
|
```
|
|
800
800
|
|
|
801
801
|
## 9. Done
|
|
@@ -811,11 +811,11 @@ Present completion with next steps:
|
|
|
811
811
|
|
|
812
812
|
| Artifact | Location |
|
|
813
813
|
|----------------|-----------------------------|
|
|
814
|
-
| Project | `.
|
|
815
|
-
| Config | `.
|
|
816
|
-
| Research | `.
|
|
817
|
-
| Requirements | `.
|
|
818
|
-
| Roadmap | `.
|
|
814
|
+
| Project | `.ariadna_planning/PROJECT.md` |
|
|
815
|
+
| Config | `.ariadna_planning/config.json` |
|
|
816
|
+
| Research | `.ariadna_planning/research/` |
|
|
817
|
+
| Requirements | `.ariadna_planning/REQUIREMENTS.md` |
|
|
818
|
+
| Roadmap | `.ariadna_planning/ROADMAP.md` |
|
|
819
819
|
|
|
820
820
|
**[N] phases** | **[X] requirements** | Ready to build ✓
|
|
821
821
|
|
|
@@ -842,23 +842,23 @@ Present completion with next steps:
|
|
|
842
842
|
|
|
843
843
|
<output>
|
|
844
844
|
|
|
845
|
-
- `.
|
|
846
|
-
- `.
|
|
847
|
-
- `.
|
|
845
|
+
- `.ariadna_planning/PROJECT.md`
|
|
846
|
+
- `.ariadna_planning/config.json`
|
|
847
|
+
- `.ariadna_planning/research/` (if research selected)
|
|
848
848
|
- `STACK.md`
|
|
849
849
|
- `FEATURES.md`
|
|
850
850
|
- `ARCHITECTURE.md`
|
|
851
851
|
- `PITFALLS.md`
|
|
852
852
|
- `SUMMARY.md`
|
|
853
|
-
- `.
|
|
854
|
-
- `.
|
|
855
|
-
- `.
|
|
853
|
+
- `.ariadna_planning/REQUIREMENTS.md`
|
|
854
|
+
- `.ariadna_planning/ROADMAP.md`
|
|
855
|
+
- `.ariadna_planning/STATE.md`
|
|
856
856
|
|
|
857
857
|
</output>
|
|
858
858
|
|
|
859
859
|
<success_criteria>
|
|
860
860
|
|
|
861
|
-
- [ ] .
|
|
861
|
+
- [ ] .ariadna_planning/ directory created
|
|
862
862
|
- [ ] Git repo initialized
|
|
863
863
|
- [ ] Brownfield detection completed
|
|
864
864
|
- [ ] Deep questioning completed (threads followed, not rushed)
|
|
@@ -13,7 +13,7 @@ Find current phase directory from most recently modified files:
|
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
# Find most recent phase directory with work
|
|
16
|
-
ls -lt .
|
|
16
|
+
ls -lt .ariadna_planning/phases/*/PLAN.md 2>/dev/null | head -1 | grep -oP 'phases/\K[^/]+'
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
If no active phase detected, ask user which phase they're pausing work on.
|
|
@@ -34,7 +34,7 @@ Ask user for clarifications if needed via conversational questions.
|
|
|
34
34
|
</step>
|
|
35
35
|
|
|
36
36
|
<step name="write">
|
|
37
|
-
**Write handoff to `.
|
|
37
|
+
**Write handoff to `.ariadna_planning/phases/XX-name/.continue-here.md`:**
|
|
38
38
|
|
|
39
39
|
```markdown
|
|
40
40
|
---
|
|
@@ -92,13 +92,13 @@ timestamp=$(ariadna-tools current-timestamp full --raw)
|
|
|
92
92
|
|
|
93
93
|
<step name="commit">
|
|
94
94
|
```bash
|
|
95
|
-
ariadna-tools commit "wip: [phase-name] paused at task [X]/[Y]" --files .
|
|
95
|
+
ariadna-tools commit "wip: [phase-name] paused at task [X]/[Y]" --files .ariadna_planning/phases/*/.continue-here.md
|
|
96
96
|
```
|
|
97
97
|
</step>
|
|
98
98
|
|
|
99
99
|
<step name="confirm">
|
|
100
100
|
```
|
|
101
|
-
✓ Handoff created: .
|
|
101
|
+
✓ Handoff created: .ariadna_planning/phases/[XX-name]/.continue-here.md
|
|
102
102
|
|
|
103
103
|
Current state:
|
|
104
104
|
|
|
@@ -12,7 +12,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
# Find the most recent audit file
|
|
15
|
-
ls -t .
|
|
15
|
+
ls -t .ariadna_planning/v*-MILESTONE-AUDIT.md 2>/dev/null | head -1
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Parse YAML frontmatter to extract structured gaps:
|
|
@@ -126,13 +126,13 @@ Add new phases to current milestone:
|
|
|
126
126
|
## 7. Create Phase Directories
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
mkdir -p ".
|
|
129
|
+
mkdir -p ".ariadna_planning/phases/{NN}-{name}"
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
## 8. Commit Roadmap Update
|
|
133
133
|
|
|
134
134
|
```bash
|
|
135
|
-
ariadna-tools commit "docs(roadmap): add gap closure phases {N}-{M}" --files .
|
|
135
|
+
ariadna-tools commit "docs(roadmap): add gap closure phases {N}-{M}" --files .ariadna_planning/ROADMAP.md
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
## 9. Offer Next Steps
|
|
@@ -157,7 +157,7 @@ ariadna-tools commit "docs(roadmap): add gap closure phases {N}-{M}" --files .pl
|
|
|
157
157
|
|
|
158
158
|
**Also available:**
|
|
159
159
|
- `/ariadna:execute-phase {N}` — if plans already exist
|
|
160
|
-
- `cat .
|
|
160
|
+
- `cat .ariadna_planning/ROADMAP.md` — see updated roadmap
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
@@ -27,13 +27,13 @@ Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_
|
|
|
27
27
|
|
|
28
28
|
## 2. Parse and Normalize Arguments
|
|
29
29
|
|
|
30
|
-
Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--gaps`, `--skip-verify`, `--skip-context`).
|
|
30
|
+
Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--gaps`, `--skip-verify`, `--skip-context`, `--skip-approval`).
|
|
31
31
|
|
|
32
32
|
**If no phase number:** Detect next unplanned phase from roadmap.
|
|
33
33
|
|
|
34
34
|
**If `phase_found` is false:** Validate phase exists in ROADMAP.md. If valid, create the directory using `phase_slug` and `padded_phase` from init:
|
|
35
35
|
```bash
|
|
36
|
-
mkdir -p ".
|
|
36
|
+
mkdir -p ".ariadna_planning/phases/${padded_phase}-${phase_slug}"
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
**Existing artifacts from init:** `has_research`, `has_plans`, `plan_count`.
|
|
@@ -56,32 +56,30 @@ Use `context_content` from init JSON (already loaded via `--include context`).
|
|
|
56
56
|
|
|
57
57
|
Analyze the phase goal from `roadmap_content` and determine if there are implementation decisions the user should weigh in on.
|
|
58
58
|
|
|
59
|
-
**
|
|
59
|
+
**Categorize the phase — determines context behavior:**
|
|
60
60
|
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
- User-facing features with UI/UX decisions → Context helpful
|
|
64
|
-
- Features with multiple valid approaches → Context helpful
|
|
61
|
+
- **Category A** (infrastructure, setup, config, standard CRUD, testing, migrations, background jobs) → Skip context entirely. Display: `Context: Skipped (infrastructure/standard phase)`. Continue to step 5.
|
|
62
|
+
- **Category B** (user-facing features, UI/UX decisions, user workflows, multiple valid approaches) → Show context question below.
|
|
65
63
|
|
|
66
|
-
**
|
|
64
|
+
**Category B only — offer inline clarification.** Identify 2-3 specific gray areas from the phase goal (e.g., "unclear: how should password reset flow work?" or "multiple options: modal vs. inline form for editing"). Include them in the question text:
|
|
67
65
|
|
|
68
66
|
```
|
|
69
67
|
questions: [
|
|
70
68
|
{
|
|
71
69
|
header: "Context",
|
|
72
|
-
question: "Phase {X}: {Name} has
|
|
70
|
+
question: "Phase {X}: {Name} has gray areas:\n- {gray_area_1}\n- {gray_area_2}\n- {gray_area_3}\nWant to clarify before planning?",
|
|
73
71
|
multiSelect: false,
|
|
74
72
|
options: [
|
|
75
|
-
{ label: "
|
|
76
|
-
{ label: "
|
|
73
|
+
{ label: "Quick discussion (Recommended)", description: "Clarify these decisions inline — prevents plan mismatches" },
|
|
74
|
+
{ label: "Plan directly", description: "Planner will make reasonable choices, you review the plan" },
|
|
77
75
|
{ label: "Full discussion", description: "Run /ariadna:discuss-phase for detailed context gathering" }
|
|
78
76
|
]
|
|
79
77
|
}
|
|
80
78
|
]
|
|
81
79
|
```
|
|
82
80
|
|
|
83
|
-
- **"Plan directly":** Continue to step 5. Planner will use its judgment for ambiguous areas.
|
|
84
81
|
- **"Quick discussion":** Identify 2-3 key gray areas and ask focused AskUserQuestion for each. Write a lightweight CONTEXT.md to the phase directory. Then continue to step 5.
|
|
82
|
+
- **"Plan directly":** Continue to step 5. Planner will use its judgment for ambiguous areas.
|
|
85
83
|
- **"Full discussion":** Exit and tell user to run `/ariadna:discuss-phase {X}` first, then return.
|
|
86
84
|
|
|
87
85
|
**CRITICAL:** Use `context_content` from INIT — pass to planner and checker agents.
|
|
@@ -251,7 +249,7 @@ Task(
|
|
|
251
249
|
|
|
252
250
|
## 9. Handle Planner Return
|
|
253
251
|
|
|
254
|
-
- **`## PLANNING COMPLETE`:** Display plan count. If `--skip-verify` or `plan_checker_enabled` is false (from init): skip to step 13. Otherwise: step 10.
|
|
252
|
+
- **`## PLANNING COMPLETE`:** Display plan count. If `--skip-verify` or `plan_checker_enabled` is false (from init): skip to step 13 (approval gate). Otherwise: step 10.
|
|
255
253
|
- **`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation (step 12)
|
|
256
254
|
- **`## PLANNING INCONCLUSIVE`:** Show attempts, offer: Add context / Retry / Manual
|
|
257
255
|
|
|
@@ -306,7 +304,7 @@ Task(
|
|
|
306
304
|
|
|
307
305
|
## 11. Handle Checker Return
|
|
308
306
|
|
|
309
|
-
- **`## VERIFICATION PASSED`:** Display confirmation, proceed to step 13.
|
|
307
|
+
- **`## VERIFICATION PASSED`:** Display confirmation, proceed to step 13 (approval gate).
|
|
310
308
|
- **`## ISSUES FOUND`:** Classify issues and proceed to step 12.
|
|
311
309
|
|
|
312
310
|
## 12. Handle Checker Issues (Inline Fix, No Revision Loop)
|
|
@@ -351,7 +349,7 @@ questions: [
|
|
|
351
349
|
]
|
|
352
350
|
```
|
|
353
351
|
|
|
354
|
-
- **"Accept as-is":** Proceed to step 13.
|
|
352
|
+
- **"Accept as-is":** Proceed to step 13 (approval gate).
|
|
355
353
|
- **"Re-plan":** Spawn planner in revision mode (single attempt, not a loop):
|
|
356
354
|
|
|
357
355
|
```
|
|
@@ -363,11 +361,36 @@ Task(
|
|
|
363
361
|
)
|
|
364
362
|
```
|
|
365
363
|
|
|
366
|
-
After planner returns, proceed to step 13 (no re-check loop).
|
|
364
|
+
After planner returns, proceed to step 13 (approval gate, no re-check loop).
|
|
367
365
|
|
|
368
366
|
- **"Fix manually":** Display file paths and exit.
|
|
369
367
|
|
|
370
|
-
## 13.
|
|
368
|
+
## 13. User Plan Approval Gate
|
|
369
|
+
|
|
370
|
+
**Skip if:** `--skip-approval` flag, `--gaps` mode (gap closures already user-directed), or `requirements_content` is null (no REQUIREMENTS.md).
|
|
371
|
+
|
|
372
|
+
**Otherwise:** Cross-reference each requirement mapped to this phase (from `requirements_content`) against the plans' `must_haves.truths` (from plan frontmatter). Present a single `AskUserQuestion`:
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
questions: [
|
|
376
|
+
{
|
|
377
|
+
header: "Plan Review",
|
|
378
|
+
question: "Phase {X}: {Name} — {N} plan(s) covering these requirements:\n\n| REQ-ID | Requirement | Covered By |\n|--------|-------------|------------|\n| {id} | {description} | Plan {plan_number}: {what_it_builds} |\n| {id} | {description} | ⚠ Not covered |\n\nApprove plans for execution?",
|
|
379
|
+
multiSelect: false,
|
|
380
|
+
options: [
|
|
381
|
+
{ label: "Approve", description: "Plans look good, proceed to execution" },
|
|
382
|
+
{ label: "Review details", description: "Show full plan files before deciding" },
|
|
383
|
+
{ label: "Adjust", description: "Give feedback for a single re-plan attempt" }
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
- **"Approve":** Proceed to step 14.
|
|
390
|
+
- **"Review details":** Display full content of each PLAN.md file in the phase directory. Then re-ask the same question (Approve / Adjust only).
|
|
391
|
+
- **"Adjust":** Ask user for feedback with a follow-up AskUserQuestion (freeform). Spawn planner in revision mode with user feedback (single attempt, no loop). Then proceed to step 14.
|
|
392
|
+
|
|
393
|
+
## 14. Present Final Status
|
|
371
394
|
|
|
372
395
|
Route to `<offer_next>`.
|
|
373
396
|
|
|
@@ -404,14 +427,14 @@ Verification: {Passed | Passed with fixes | Skipped}
|
|
|
404
427
|
───────────────────────────────────────────────────────────────
|
|
405
428
|
|
|
406
429
|
**Also available:**
|
|
407
|
-
- cat .
|
|
430
|
+
- cat .ariadna_planning/phases/{phase-dir}/*-PLAN.md — review plans
|
|
408
431
|
- /ariadna:plan-phase {X} --research — re-research first
|
|
409
432
|
|
|
410
433
|
───────────────────────────────────────────────────────────────
|
|
411
434
|
</offer_next>
|
|
412
435
|
|
|
413
436
|
<success_criteria>
|
|
414
|
-
- [ ] .
|
|
437
|
+
- [ ] .ariadna_planning/ directory validated
|
|
415
438
|
- [ ] Phase validated against roadmap
|
|
416
439
|
- [ ] Phase directory created if needed
|
|
417
440
|
- [ ] Context handled: existing CONTEXT.md used, inline gathering offered, or skipped
|
|
@@ -422,6 +445,7 @@ Verification: {Passed | Passed with fixes | Skipped}
|
|
|
422
445
|
- [ ] ariadna-plan-checker spawned (unless --skip-verify)
|
|
423
446
|
- [ ] Minor checker issues fixed inline by orchestrator (no revision loop)
|
|
424
447
|
- [ ] Major checker issues presented to user for decision
|
|
448
|
+
- [ ] User approved plans (or --skip-approval / --gaps flag used / no REQUIREMENTS.md)
|
|
425
449
|
- [ ] User sees status between agent spawns
|
|
426
450
|
- [ ] User knows next steps
|
|
427
451
|
</success_criteria>
|
|
@@ -19,7 +19,7 @@ Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `pha
|
|
|
19
19
|
|
|
20
20
|
**File contents (from --include):** `state_content`, `roadmap_content`, `project_content`, `config_content`. These are null if files don't exist.
|
|
21
21
|
|
|
22
|
-
If `project_exists` is false (no `.
|
|
22
|
+
If `project_exists` is false (no `.ariadna_planning/` directory):
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
No planning structure found.
|
|
@@ -85,7 +85,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
|
|
|
85
85
|
- Use phase-level `has_context` and `has_research` flags from analyze
|
|
86
86
|
- Note `paused_at` if work was paused (from init context)
|
|
87
87
|
- Count pending todos: use `init todos` or `list-todos`
|
|
88
|
-
- Check for active debug sessions: `ls .
|
|
88
|
+
- Check for active debug sessions: `ls .ariadna_planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
|
|
89
89
|
</step>
|
|
90
90
|
|
|
91
91
|
<step name="report">
|
|
@@ -141,9 +141,9 @@ CONTEXT: [✓ if has_context | - if not]
|
|
|
141
141
|
List files in the current phase directory:
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
ls -1 .
|
|
145
|
-
ls -1 .
|
|
146
|
-
ls -1 .
|
|
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
147
|
```
|
|
148
148
|
|
|
149
149
|
State: "This phase has {X} plans, {Y} summaries."
|
|
@@ -154,7 +154,7 @@ Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
|
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
156
|
# Check for diagnosed UAT with gaps
|
|
157
|
-
grep -l "status: diagnosed" .
|
|
157
|
+
grep -l "status: diagnosed" .ariadna_planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
Track:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
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 `.
|
|
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
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
@@ -52,7 +52,7 @@ mkdir -p "${task_dir}"
|
|
|
52
52
|
Create the directory for this quick task:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
QUICK_DIR=".
|
|
55
|
+
QUICK_DIR=".ariadna_planning/quick/${next_num}-${slug}"
|
|
56
56
|
mkdir -p "$QUICK_DIR"
|
|
57
57
|
```
|
|
58
58
|
|
|
@@ -80,7 +80,7 @@ Task(
|
|
|
80
80
|
**Description:** ${DESCRIPTION}
|
|
81
81
|
|
|
82
82
|
**Project State:**
|
|
83
|
-
@.
|
|
83
|
+
@.ariadna_planning/STATE.md
|
|
84
84
|
|
|
85
85
|
</planning_context>
|
|
86
86
|
|
|
@@ -121,7 +121,7 @@ Task(
|
|
|
121
121
|
Execute quick task ${next_num}.
|
|
122
122
|
|
|
123
123
|
Plan: @${QUICK_DIR}/${next_num}-PLAN.md
|
|
124
|
-
Project state: @.
|
|
124
|
+
Project state: @.ariadna_planning/STATE.md
|
|
125
125
|
|
|
126
126
|
<constraints>
|
|
127
127
|
- Execute all tasks in the plan
|
|
@@ -191,7 +191,7 @@ Use Edit tool to make these changes atomically
|
|
|
191
191
|
Stage and commit quick task artifacts:
|
|
192
192
|
|
|
193
193
|
```bash
|
|
194
|
-
ariadna-tools commit "docs(quick-${next_num}): ${DESCRIPTION}" --files ${QUICK_DIR}/${next_num}-PLAN.md ${QUICK_DIR}/${next_num}-SUMMARY.md .
|
|
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
195
|
```
|
|
196
196
|
|
|
197
197
|
Get final commit hash:
|
|
@@ -222,7 +222,7 @@ Ready for next task: /ariadna:quick
|
|
|
222
222
|
- [ ] User provides task description
|
|
223
223
|
- [ ] Slug generated (lowercase, hyphens, max 40 chars)
|
|
224
224
|
- [ ] Next number calculated (001, 002, 003...)
|
|
225
|
-
- [ ] Directory created at `.
|
|
225
|
+
- [ ] Directory created at `.ariadna_planning/quick/NNN-slug/`
|
|
226
226
|
- [ ] `${next_num}-PLAN.md` created by planner
|
|
227
227
|
- [ ] `${next_num}-SUMMARY.md` created by executor
|
|
228
228
|
- [ ] STATE.md updated with quick task row
|
|
@@ -65,7 +65,7 @@ Present removal summary and confirm:
|
|
|
65
65
|
Removing Phase {target}: {Name}
|
|
66
66
|
|
|
67
67
|
This will:
|
|
68
|
-
- Delete: .
|
|
68
|
+
- Delete: .ariadna_planning/phases/{target}-{slug}/
|
|
69
69
|
- Renumber all subsequent phases
|
|
70
70
|
- Update: ROADMAP.md, STATE.md
|
|
71
71
|
|
|
@@ -102,7 +102,7 @@ Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `ren
|
|
|
102
102
|
Stage and commit the removal:
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
ariadna-tools commit "chore: remove phase {target} ({original-phase-name})" --files .
|
|
105
|
+
ariadna-tools commit "chore: remove phase {target} ({original-phase-name})" --files .ariadna_planning/
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
The commit message preserves the historical record of what was removed.
|
|
@@ -115,7 +115,7 @@ Present completion summary:
|
|
|
115
115
|
Phase {target} ({original-name}) removed.
|
|
116
116
|
|
|
117
117
|
Changes:
|
|
118
|
-
- Deleted: .
|
|
118
|
+
- Deleted: .ariadna_planning/phases/{target}-{slug}/
|
|
119
119
|
- Renumbered: {N} directories and {M} files
|
|
120
120
|
- Updated: ROADMAP.md, STATE.md
|
|
121
121
|
- Committed: chore: remove phase {target} ({original-name})
|