ariadna 1.2.1 → 1.2.3
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 +3 -3
- data/data/agents/ariadna-backend-executor.md +5 -5
- data/data/agents/ariadna-codebase-mapper.md +5 -5
- data/data/agents/ariadna-debugger.md +13 -13
- data/data/agents/ariadna-executor.md +5 -5
- data/data/agents/ariadna-frontend-executor.md +5 -5
- data/data/agents/ariadna-integration-checker.md +1 -1
- data/data/agents/ariadna-phase-researcher.md +1 -1
- data/data/agents/ariadna-planner.md +21 -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 +41 -15
- data/data/agents/ariadna-test-executor.md +5 -5
- 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/questioning.md +14 -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 +37 -4
- data/data/ariadna/templates/requirements.md +37 -28
- 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 +17 -1
- data/data/ariadna/templates/state.md +4 -4
- data/data/ariadna/templates/summary.md +1 -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 +4 -4
- data/data/ariadna/workflows/execute-plan.md +19 -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 +52 -44
- 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 +3 -3
- 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 +2 -2
- 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/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 +5 -5
- data/lib/ariadna/tools/git_integration.rb +2 -2
- data/lib/ariadna/tools/init.rb +61 -61
- data/lib/ariadna/tools/phase_manager.rb +11 -11
- 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 +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3937059c39a236024b08eb67fea88f5ec4ac193e13c9a99a5a34b365a7f9d53e
|
|
4
|
+
data.tar.gz: 7b4b5a4dbc80527bfbe6202336dbe85bee931ac323a976a0207f0e3ccb3cd3e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bf468ce4109266ccc1e8c42191a45977e3f5ef15aaeaca7d98e60490fc46fb7022511563bfd5a24cebb5ec20ab480142cdff6b9f8b5776e6b1a99b8bbad805b2
|
|
7
|
+
data.tar.gz: d1bc65ed4561f7f842d60276fa1362447fcbf1fe5e152a96c038d38c7e4fa8bf1324285a9032c2be9cb3519205e20136e0de757a7e869adbe691e2c01e29c3ab
|
data/ariadna.gemspec
CHANGED
|
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
|
|
|
4
4
|
s.name = "ariadna"
|
|
5
5
|
s.version = Ariadna::VERSION
|
|
6
6
|
s.summary = "A meta-prompting and context engineering system for Claude Code"
|
|
7
|
-
s.description = "Ariadna
|
|
8
|
-
"planning, multi-agent orchestration, and verification workflows
|
|
9
|
-
"slash commands."
|
|
7
|
+
s.description = "Ariadna helps you to create ruby on rails applications (or new features in existing ones)" \
|
|
8
|
+
"providing structured planning, multi-agent orchestration, and verification workflows " \
|
|
9
|
+
"via Claude Code slash commands."
|
|
10
10
|
s.authors = ["Jorge Alvarez"]
|
|
11
11
|
s.email = "jorge@alvareznavarro.es"
|
|
12
12
|
s.homepage = "https://github.com/jorgegorka/ariadna"
|
|
@@ -47,11 +47,11 @@ Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `
|
|
|
47
47
|
|
|
48
48
|
Also read STATE.md for position, decisions, blockers:
|
|
49
49
|
```bash
|
|
50
|
-
cat .
|
|
50
|
+
cat .ariadna_planning/STATE.md 2>/dev/null
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
If STATE.md missing but .
|
|
54
|
-
If .
|
|
53
|
+
If STATE.md missing but .ariadna_planning/ exists: offer to reconstruct or continue without.
|
|
54
|
+
If .ariadna_planning/ missing: Error — project not initialized.
|
|
55
55
|
</step>
|
|
56
56
|
|
|
57
57
|
<step name="load_plan">
|
|
@@ -168,7 +168,7 @@ git commit -m "{type}({phase}-{plan}): {concise task description}
|
|
|
168
168
|
</task_commit_protocol>
|
|
169
169
|
|
|
170
170
|
<summary_creation>
|
|
171
|
-
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.
|
|
171
|
+
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.ariadna_planning/phases/XX-name/`.
|
|
172
172
|
|
|
173
173
|
**Use template:** @~/.claude/ariadna/templates/summary.md
|
|
174
174
|
|
|
@@ -207,7 +207,7 @@ ariadna-tools state record-metric \
|
|
|
207
207
|
|
|
208
208
|
<final_commit>
|
|
209
209
|
```bash
|
|
210
|
-
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .
|
|
210
|
+
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .ariadna_planning/STATE.md
|
|
211
211
|
```
|
|
212
212
|
</final_commit>
|
|
213
213
|
|
|
@@ -6,7 +6,7 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are an Ariadna codebase mapper. You explore a codebase for a specific focus area and write analysis documents directly to `.
|
|
9
|
+
You are an Ariadna codebase mapper. You explore a codebase for a specific focus area and write analysis documents directly to `.ariadna_planning/codebase/`.
|
|
10
10
|
|
|
11
11
|
You are spawned by `/ariadna:map-codebase` with one of four focus areas:
|
|
12
12
|
- **tech**: Analyze technology stack and external integrations → write STACK.md and INTEGRATIONS.md
|
|
@@ -135,7 +135,7 @@ Read key files identified during exploration. Use Glob and Grep liberally.
|
|
|
135
135
|
</step>
|
|
136
136
|
|
|
137
137
|
<step name="write_documents">
|
|
138
|
-
Write document(s) to `.
|
|
138
|
+
Write document(s) to `.ariadna_planning/codebase/` using the templates below.
|
|
139
139
|
|
|
140
140
|
**Document naming:** UPPERCASE.md (e.g., STACK.md, ARCHITECTURE.md)
|
|
141
141
|
|
|
@@ -157,8 +157,8 @@ Format:
|
|
|
157
157
|
|
|
158
158
|
**Focus:** {focus}
|
|
159
159
|
**Documents written:**
|
|
160
|
-
- `.
|
|
161
|
-
- `.
|
|
160
|
+
- `.ariadna_planning/codebase/{DOC1}.md` ({N} lines)
|
|
161
|
+
- `.ariadna_planning/codebase/{DOC2}.md` ({N} lines)
|
|
162
162
|
|
|
163
163
|
Ready for orchestrator summary.
|
|
164
164
|
```
|
|
@@ -754,7 +754,7 @@ Ready for orchestrator summary.
|
|
|
754
754
|
<success_criteria>
|
|
755
755
|
- [ ] Focus area parsed correctly
|
|
756
756
|
- [ ] Codebase explored thoroughly for focus area
|
|
757
|
-
- [ ] All documents for focus area written to `.
|
|
757
|
+
- [ ] All documents for focus area written to `.ariadna_planning/codebase/`
|
|
758
758
|
- [ ] Documents follow template structure
|
|
759
759
|
- [ ] File paths included throughout documents
|
|
760
760
|
- [ ] Confirmation returned (not document contents)
|
|
@@ -736,8 +736,8 @@ Can I observe the behavior directly?
|
|
|
736
736
|
## File Location
|
|
737
737
|
|
|
738
738
|
```
|
|
739
|
-
DEBUG_DIR=.
|
|
740
|
-
DEBUG_RESOLVED_DIR=.
|
|
739
|
+
DEBUG_DIR=.ariadna_planning/debug
|
|
740
|
+
DEBUG_RESOLVED_DIR=.ariadna_planning/debug/resolved
|
|
741
741
|
```
|
|
742
742
|
|
|
743
743
|
## File Structure
|
|
@@ -833,7 +833,7 @@ The file IS the debugging brain.
|
|
|
833
833
|
**First:** Check for active debug sessions.
|
|
834
834
|
|
|
835
835
|
```bash
|
|
836
|
-
ls .
|
|
836
|
+
ls .ariadna_planning/debug/*.md 2>/dev/null | grep -v resolved
|
|
837
837
|
```
|
|
838
838
|
|
|
839
839
|
**If active sessions exist AND no $ARGUMENTS:**
|
|
@@ -854,7 +854,7 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved
|
|
|
854
854
|
**Create debug file IMMEDIATELY.**
|
|
855
855
|
|
|
856
856
|
1. Generate slug from user input (lowercase, hyphens, max 30 chars)
|
|
857
|
-
2. `mkdir -p .
|
|
857
|
+
2. `mkdir -p .ariadna_planning/debug`
|
|
858
858
|
3. Create file with initial state:
|
|
859
859
|
- status: gathering
|
|
860
860
|
- trigger: verbatim $ARGUMENTS
|
|
@@ -926,7 +926,7 @@ Return structured diagnosis:
|
|
|
926
926
|
```markdown
|
|
927
927
|
## ROOT CAUSE FOUND
|
|
928
928
|
|
|
929
|
-
**Debug Session:** .
|
|
929
|
+
**Debug Session:** .ariadna_planning/debug/{slug}.md
|
|
930
930
|
|
|
931
931
|
**Root Cause:** {from Resolution.root_cause}
|
|
932
932
|
|
|
@@ -945,7 +945,7 @@ If inconclusive:
|
|
|
945
945
|
```markdown
|
|
946
946
|
## INVESTIGATION INCONCLUSIVE
|
|
947
947
|
|
|
948
|
-
**Debug Session:** .
|
|
948
|
+
**Debug Session:** .ariadna_planning/debug/{slug}.md
|
|
949
949
|
|
|
950
950
|
**What Was Checked:**
|
|
951
951
|
- {area}: {finding}
|
|
@@ -982,8 +982,8 @@ Update status to "fixing".
|
|
|
982
982
|
Update status to "resolved".
|
|
983
983
|
|
|
984
984
|
```bash
|
|
985
|
-
mkdir -p .
|
|
986
|
-
mv .
|
|
985
|
+
mkdir -p .ariadna_planning/debug/resolved
|
|
986
|
+
mv .ariadna_planning/debug/{slug}.md .ariadna_planning/debug/resolved/
|
|
987
987
|
```
|
|
988
988
|
|
|
989
989
|
**Check planning config using state load (commit_docs is available from the output):**
|
|
@@ -1006,7 +1006,7 @@ Root cause: {root_cause}"
|
|
|
1006
1006
|
|
|
1007
1007
|
Then commit planning docs via CLI (respects `commit_docs` config automatically):
|
|
1008
1008
|
```bash
|
|
1009
|
-
ariadna-tools commit "docs: resolve debug {slug}" --files .
|
|
1009
|
+
ariadna-tools commit "docs: resolve debug {slug}" --files .ariadna_planning/debug/resolved/{slug}.md
|
|
1010
1010
|
```
|
|
1011
1011
|
|
|
1012
1012
|
Report completion and offer next steps.
|
|
@@ -1029,7 +1029,7 @@ Return a checkpoint when:
|
|
|
1029
1029
|
## CHECKPOINT REACHED
|
|
1030
1030
|
|
|
1031
1031
|
**Type:** [human-verify | human-action | decision]
|
|
1032
|
-
**Debug Session:** .
|
|
1032
|
+
**Debug Session:** .ariadna_planning/debug/{slug}.md
|
|
1033
1033
|
**Progress:** {evidence_count} evidence entries, {eliminated_count} hypotheses eliminated
|
|
1034
1034
|
|
|
1035
1035
|
### Investigation State
|
|
@@ -1100,7 +1100,7 @@ Orchestrator presents checkpoint to user, gets response, spawns fresh continuati
|
|
|
1100
1100
|
```markdown
|
|
1101
1101
|
## ROOT CAUSE FOUND
|
|
1102
1102
|
|
|
1103
|
-
**Debug Session:** .
|
|
1103
|
+
**Debug Session:** .ariadna_planning/debug/{slug}.md
|
|
1104
1104
|
|
|
1105
1105
|
**Root Cause:** {specific cause with evidence}
|
|
1106
1106
|
|
|
@@ -1121,7 +1121,7 @@ Orchestrator presents checkpoint to user, gets response, spawns fresh continuati
|
|
|
1121
1121
|
```markdown
|
|
1122
1122
|
## DEBUG COMPLETE
|
|
1123
1123
|
|
|
1124
|
-
**Debug Session:** .
|
|
1124
|
+
**Debug Session:** .ariadna_planning/debug/resolved/{slug}.md
|
|
1125
1125
|
|
|
1126
1126
|
**Root Cause:** {what was wrong}
|
|
1127
1127
|
**Fix Applied:** {what was changed}
|
|
@@ -1139,7 +1139,7 @@ Orchestrator presents checkpoint to user, gets response, spawns fresh continuati
|
|
|
1139
1139
|
```markdown
|
|
1140
1140
|
## INVESTIGATION INCONCLUSIVE
|
|
1141
1141
|
|
|
1142
|
-
**Debug Session:** .
|
|
1142
|
+
**Debug Session:** .ariadna_planning/debug/{slug}.md
|
|
1143
1143
|
|
|
1144
1144
|
**What Was Checked:**
|
|
1145
1145
|
- {area 1}: {finding}
|
|
@@ -26,11 +26,11 @@ Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `
|
|
|
26
26
|
|
|
27
27
|
Also read STATE.md for position, decisions, blockers:
|
|
28
28
|
```bash
|
|
29
|
-
cat .
|
|
29
|
+
cat .ariadna_planning/STATE.md 2>/dev/null
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
If STATE.md missing but .
|
|
33
|
-
If .
|
|
32
|
+
If STATE.md missing but .ariadna_planning/ exists: offer to reconstruct or continue without.
|
|
33
|
+
If .ariadna_planning/ missing: Error — project not initialized.
|
|
34
34
|
</step>
|
|
35
35
|
|
|
36
36
|
<step name="load_plan">
|
|
@@ -272,7 +272,7 @@ git commit -m "{type}({phase}-{plan}): {concise task description}
|
|
|
272
272
|
</task_commit_protocol>
|
|
273
273
|
|
|
274
274
|
<summary_creation>
|
|
275
|
-
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.
|
|
275
|
+
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.ariadna_planning/phases/XX-name/`.
|
|
276
276
|
|
|
277
277
|
**Use template:** @~/.claude/ariadna/templates/summary.md
|
|
278
278
|
|
|
@@ -365,7 +365,7 @@ ariadna-tools state add-blocker "Blocker description"
|
|
|
365
365
|
|
|
366
366
|
<final_commit>
|
|
367
367
|
```bash
|
|
368
|
-
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .
|
|
368
|
+
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .ariadna_planning/STATE.md
|
|
369
369
|
```
|
|
370
370
|
|
|
371
371
|
Separate from per-task commits — captures execution results only.
|
|
@@ -46,11 +46,11 @@ Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `
|
|
|
46
46
|
|
|
47
47
|
Also read STATE.md for position, decisions, blockers:
|
|
48
48
|
```bash
|
|
49
|
-
cat .
|
|
49
|
+
cat .ariadna_planning/STATE.md 2>/dev/null
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
If STATE.md missing but .
|
|
53
|
-
If .
|
|
52
|
+
If STATE.md missing but .ariadna_planning/ exists: offer to reconstruct or continue without.
|
|
53
|
+
If .ariadna_planning/ missing: Error — project not initialized.
|
|
54
54
|
</step>
|
|
55
55
|
|
|
56
56
|
<step name="load_plan">
|
|
@@ -166,7 +166,7 @@ git commit -m "{type}({phase}-{plan}): {concise task description}
|
|
|
166
166
|
</task_commit_protocol>
|
|
167
167
|
|
|
168
168
|
<summary_creation>
|
|
169
|
-
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.
|
|
169
|
+
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.ariadna_planning/phases/XX-name/`.
|
|
170
170
|
|
|
171
171
|
**Use template:** @~/.claude/ariadna/templates/summary.md
|
|
172
172
|
|
|
@@ -205,7 +205,7 @@ ariadna-tools state record-metric \
|
|
|
205
205
|
|
|
206
206
|
<final_commit>
|
|
207
207
|
```bash
|
|
208
|
-
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .
|
|
208
|
+
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .ariadna_planning/STATE.md
|
|
209
209
|
```
|
|
210
210
|
</final_commit>
|
|
211
211
|
|
|
@@ -57,7 +57,7 @@ For each phase, extract what it provides and what it should consume.
|
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
# Key modules and classes from each phase
|
|
60
|
-
for summary in .
|
|
60
|
+
for summary in .ariadna_planning/phases/*/*-SUMMARY.md; do
|
|
61
61
|
echo "=== $summary ==="
|
|
62
62
|
grep -A 10 "Key Files\|Exports\|Provides" "$summary" 2>/dev/null
|
|
63
63
|
done
|
|
@@ -177,7 +177,7 @@ Priority: Context7 > Official Docs > Official GitHub > Verified WebSearch > Unve
|
|
|
177
177
|
|
|
178
178
|
## RESEARCH.md Structure
|
|
179
179
|
|
|
180
|
-
**Location:** `.
|
|
180
|
+
**Location:** `.ariadna_planning/phases/XX-name/{phase}-RESEARCH.md`
|
|
181
181
|
|
|
182
182
|
```markdown
|
|
183
183
|
# Phase [X]: [Name] - Research
|
|
@@ -471,9 +471,9 @@ Output: [Artifacts created]
|
|
|
471
471
|
</execution_context>
|
|
472
472
|
|
|
473
473
|
<context>
|
|
474
|
-
@.
|
|
475
|
-
@.
|
|
476
|
-
@.
|
|
474
|
+
@.ariadna_planning/PROJECT.md
|
|
475
|
+
@.ariadna_planning/ROADMAP.md
|
|
476
|
+
@.ariadna_planning/STATE.md
|
|
477
477
|
|
|
478
478
|
# Only reference prior plan SUMMARYs if genuinely needed
|
|
479
479
|
@path/to/relevant/source.rb
|
|
@@ -500,7 +500,7 @@ Output: [Artifacts created]
|
|
|
500
500
|
</success_criteria>
|
|
501
501
|
|
|
502
502
|
<output>
|
|
503
|
-
After completion, create `.
|
|
503
|
+
After completion, create `.ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
|
|
504
504
|
</output>
|
|
505
505
|
```
|
|
506
506
|
|
|
@@ -562,6 +562,10 @@ Take phase goal from ROADMAP.md. Must be outcome-shaped, not task-shaped.
|
|
|
562
562
|
- Good: "Working chat interface" (outcome)
|
|
563
563
|
- Bad: "Build chat components" (task)
|
|
564
564
|
|
|
565
|
+
Also read the "Why this matters" line from ROADMAP.md for this phase. This tells you the PURPOSE behind the goal. Use it to prioritize truths: truths that directly serve the stated purpose are more critical than nice-to-haves.
|
|
566
|
+
|
|
567
|
+
Example: If "Why this matters" = "Users need identity before they can own content", then "User can create account" is more critical than "Password has strength indicator."
|
|
568
|
+
|
|
565
569
|
**Step 2: Derive Observable Truths**
|
|
566
570
|
"What must be TRUE for this goal to be achieved?" List 3-7 truths from USER's perspective.
|
|
567
571
|
|
|
@@ -853,7 +857,7 @@ Triggered when orchestrator provides `<revision_context>` with checker issues. N
|
|
|
853
857
|
### Step 1: Load Existing Plans
|
|
854
858
|
|
|
855
859
|
```bash
|
|
856
|
-
cat .
|
|
860
|
+
cat .ariadna_planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
857
861
|
```
|
|
858
862
|
|
|
859
863
|
Build mental model of current plan structure, existing tasks, must_haves.
|
|
@@ -901,7 +905,7 @@ Group by plan, dimension, severity.
|
|
|
901
905
|
### Step 6: Commit
|
|
902
906
|
|
|
903
907
|
```bash
|
|
904
|
-
ariadna-tools commit "fix($PHASE): revise plans based on checker feedback" --files .
|
|
908
|
+
ariadna-tools commit "fix($PHASE): revise plans based on checker feedback" --files .ariadna_planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
905
909
|
```
|
|
906
910
|
|
|
907
911
|
### Step 7: Return Revision Summary
|
|
@@ -920,8 +924,8 @@ ariadna-tools commit "fix($PHASE): revise plans based on checker feedback" --fil
|
|
|
920
924
|
|
|
921
925
|
### Files Updated
|
|
922
926
|
|
|
923
|
-
- .
|
|
924
|
-
- .
|
|
927
|
+
- .ariadna_planning/phases/16-xxx/16-01-PLAN.md
|
|
928
|
+
- .ariadna_planning/phases/16-xxx/16-02-PLAN.md
|
|
925
929
|
|
|
926
930
|
{If any issues NOT addressed:}
|
|
927
931
|
|
|
@@ -947,17 +951,17 @@ Extract from init JSON: `planner_model`, `researcher_model`, `checker_model`, `c
|
|
|
947
951
|
|
|
948
952
|
Also read STATE.md for position, decisions, blockers:
|
|
949
953
|
```bash
|
|
950
|
-
cat .
|
|
954
|
+
cat .ariadna_planning/STATE.md 2>/dev/null
|
|
951
955
|
```
|
|
952
956
|
|
|
953
|
-
If STATE.md missing but .
|
|
957
|
+
If STATE.md missing but .ariadna_planning/ exists, offer to reconstruct or continue without.
|
|
954
958
|
</step>
|
|
955
959
|
|
|
956
960
|
<step name="load_codebase_context">
|
|
957
961
|
Check for codebase map:
|
|
958
962
|
|
|
959
963
|
```bash
|
|
960
|
-
ls .
|
|
964
|
+
ls .ariadna_planning/codebase/*.md 2>/dev/null
|
|
961
965
|
```
|
|
962
966
|
|
|
963
967
|
If exists, load relevant documents by phase type:
|
|
@@ -976,8 +980,8 @@ If exists, load relevant documents by phase type:
|
|
|
976
980
|
|
|
977
981
|
<step name="identify_phase">
|
|
978
982
|
```bash
|
|
979
|
-
cat .
|
|
980
|
-
ls .
|
|
983
|
+
cat .ariadna_planning/ROADMAP.md
|
|
984
|
+
ls .ariadna_planning/phases/
|
|
981
985
|
```
|
|
982
986
|
|
|
983
987
|
If multiple phases available, ask which to plan. If obvious (first incomplete), proceed.
|
|
@@ -1011,7 +1015,7 @@ Select top 2-4 phases. Skip phases with no relevance signal.
|
|
|
1011
1015
|
|
|
1012
1016
|
**Step 3 — Read full SUMMARYs for selected phases:**
|
|
1013
1017
|
```bash
|
|
1014
|
-
cat .
|
|
1018
|
+
cat .ariadna_planning/phases/{selected-phase}/*-SUMMARY.md
|
|
1015
1019
|
```
|
|
1016
1020
|
|
|
1017
1021
|
From full SUMMARYs extract:
|
|
@@ -1103,7 +1107,7 @@ Present breakdown with wave structure. Wait for confirmation in interactive mode
|
|
|
1103
1107
|
<step name="write_phase_prompt">
|
|
1104
1108
|
Use template structure for each PLAN.md.
|
|
1105
1109
|
|
|
1106
|
-
Write to `.
|
|
1110
|
+
Write to `.ariadna_planning/phases/XX-name/{phase}-{NN}-PLAN.md`
|
|
1107
1111
|
|
|
1108
1112
|
Include all frontmatter fields.
|
|
1109
1113
|
</step>
|
|
@@ -1139,7 +1143,7 @@ Returns JSON: `{ valid, errors, warnings, task_count, tasks }`
|
|
|
1139
1143
|
<step name="update_roadmap">
|
|
1140
1144
|
Update ROADMAP.md to finalize phase placeholders:
|
|
1141
1145
|
|
|
1142
|
-
1. Read `.
|
|
1146
|
+
1. Read `.ariadna_planning/ROADMAP.md`
|
|
1143
1147
|
2. Find phase entry (`### Phase {N}:`)
|
|
1144
1148
|
3. Update placeholders:
|
|
1145
1149
|
|
|
@@ -1162,7 +1166,7 @@ Plans:
|
|
|
1162
1166
|
|
|
1163
1167
|
<step name="git_commit">
|
|
1164
1168
|
```bash
|
|
1165
|
-
ariadna-tools commit "docs($PHASE): create phase plan" --files .
|
|
1169
|
+
ariadna-tools commit "docs($PHASE): create phase plan" --files .ariadna_planning/phases/$PHASE-*/$PHASE-*-PLAN.md .ariadna_planning/ROADMAP.md
|
|
1166
1170
|
```
|
|
1167
1171
|
</step>
|
|
1168
1172
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ariadna-project-researcher
|
|
3
|
-
description: Researches domain ecosystem before roadmap creation. Produces files in .
|
|
3
|
+
description: Researches domain ecosystem before roadmap creation. Produces files in .ariadna_planning/research/ consumed during roadmap creation. Spawned by /ariadna:new-project or /ariadna:new-milestone orchestrators.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
5
5
|
color: cyan
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ color: cyan
|
|
|
8
8
|
<role>
|
|
9
9
|
You are an Ariadna project researcher spawned by `/ariadna:new-project` or `/ariadna:new-milestone` (Phase 6: Research).
|
|
10
10
|
|
|
11
|
-
Answer "What does this domain ecosystem look like?" Write research files in `.
|
|
11
|
+
Answer "What does this domain ecosystem look like?" Write research files in `.ariadna_planning/research/` that inform roadmap creation.
|
|
12
12
|
|
|
13
13
|
Your files feed the roadmap:
|
|
14
14
|
|
|
@@ -167,7 +167,7 @@ Never present LOW confidence findings as authoritative.
|
|
|
167
167
|
|
|
168
168
|
<output_formats>
|
|
169
169
|
|
|
170
|
-
All files → `.
|
|
170
|
+
All files → `.ariadna_planning/research/`
|
|
171
171
|
|
|
172
172
|
## SUMMARY.md
|
|
173
173
|
|
|
@@ -515,7 +515,7 @@ Run pre-submission checklist (see verification_protocol).
|
|
|
515
515
|
|
|
516
516
|
## Step 5: Write Output Files
|
|
517
517
|
|
|
518
|
-
In `.
|
|
518
|
+
In `.ariadna_planning/research/`:
|
|
519
519
|
1. **SUMMARY.md** — Always
|
|
520
520
|
2. **STACK.md** — Always
|
|
521
521
|
3. **FEATURES.md** — Always
|
|
@@ -549,11 +549,11 @@ In `.planning/research/`:
|
|
|
549
549
|
|
|
550
550
|
| File | Purpose |
|
|
551
551
|
|------|---------|
|
|
552
|
-
| .
|
|
553
|
-
| .
|
|
554
|
-
| .
|
|
555
|
-
| .
|
|
556
|
-
| .
|
|
552
|
+
| .ariadna_planning/research/SUMMARY.md | Executive summary with roadmap implications |
|
|
553
|
+
| .ariadna_planning/research/STACK.md | Technology recommendations |
|
|
554
|
+
| .ariadna_planning/research/FEATURES.md | Feature landscape |
|
|
555
|
+
| .ariadna_planning/research/ARCHITECTURE.md | Architecture patterns |
|
|
556
|
+
| .ariadna_planning/research/PITFALLS.md | Domain pitfalls |
|
|
557
557
|
|
|
558
558
|
### Confidence Assessment
|
|
559
559
|
|
|
@@ -608,7 +608,7 @@ Research is complete when:
|
|
|
608
608
|
- [ ] Domain pitfalls catalogued
|
|
609
609
|
- [ ] Source hierarchy followed (Context7 → Official → WebSearch)
|
|
610
610
|
- [ ] All findings have confidence levels
|
|
611
|
-
- [ ] Output files created in `.
|
|
611
|
+
- [ ] Output files created in `.ariadna_planning/research/`
|
|
612
612
|
- [ ] SUMMARY.md includes roadmap implications
|
|
613
613
|
- [ ] Files written (DO NOT commit — orchestrator handles this)
|
|
614
614
|
- [ ] Structured return provided to orchestrator
|
|
@@ -44,10 +44,10 @@ Your SUMMARY.md is consumed by the ariadna-roadmapper agent which uses it to:
|
|
|
44
44
|
Read all 4 research files:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
cat .
|
|
48
|
-
cat .
|
|
49
|
-
cat .
|
|
50
|
-
cat .
|
|
47
|
+
cat .ariadna_planning/research/STACK.md
|
|
48
|
+
cat .ariadna_planning/research/FEATURES.md
|
|
49
|
+
cat .ariadna_planning/research/ARCHITECTURE.md
|
|
50
|
+
cat .ariadna_planning/research/PITFALLS.md
|
|
51
51
|
|
|
52
52
|
# Planning config loaded via ariadna-tools in commit step
|
|
53
53
|
```
|
|
@@ -121,14 +121,14 @@ Identify gaps that couldn't be resolved and need attention during planning.
|
|
|
121
121
|
|
|
122
122
|
Use template: ~/.claude/ariadna/templates/research-project/SUMMARY.md
|
|
123
123
|
|
|
124
|
-
Write to `.
|
|
124
|
+
Write to `.ariadna_planning/research/SUMMARY.md`
|
|
125
125
|
|
|
126
126
|
## Step 7: Commit All Research
|
|
127
127
|
|
|
128
128
|
The 4 parallel researcher agents write files but do NOT commit. You commit everything together.
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
ariadna-tools commit "docs: complete project research" --files .
|
|
131
|
+
ariadna-tools commit "docs: complete project research" --files .ariadna_planning/research/
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
## Step 8: Return Summary
|
|
@@ -160,12 +160,12 @@ When SUMMARY.md is written and committed:
|
|
|
160
160
|
## SYNTHESIS COMPLETE
|
|
161
161
|
|
|
162
162
|
**Files synthesized:**
|
|
163
|
-
- .
|
|
164
|
-
- .
|
|
165
|
-
- .
|
|
166
|
-
- .
|
|
163
|
+
- .ariadna_planning/research/STACK.md
|
|
164
|
+
- .ariadna_planning/research/FEATURES.md
|
|
165
|
+
- .ariadna_planning/research/ARCHITECTURE.md
|
|
166
|
+
- .ariadna_planning/research/PITFALLS.md
|
|
167
167
|
|
|
168
|
-
**Output:** .
|
|
168
|
+
**Output:** .ariadna_planning/research/SUMMARY.md
|
|
169
169
|
|
|
170
170
|
### Executive Summary
|
|
171
171
|
|
|
@@ -16,6 +16,7 @@ Your job: Transform requirements into a phase structure that delivers the projec
|
|
|
16
16
|
|
|
17
17
|
**Core responsibilities:**
|
|
18
18
|
- Derive phases from requirements (not impose arbitrary structure)
|
|
19
|
+
- Connect phases to product vision (why each phase matters, not just what it delivers)
|
|
19
20
|
- Validate 100% requirement coverage (no orphans)
|
|
20
21
|
- Apply goal-backward thinking at phase level
|
|
21
22
|
- Create success criteria (2-5 observable behaviors per phase)
|
|
@@ -29,6 +30,7 @@ Your ROADMAP.md is consumed by `/ariadna:plan-phase` which uses it to:
|
|
|
29
30
|
| Output | How Plan-Phase Uses It |
|
|
30
31
|
|--------|------------------------|
|
|
31
32
|
| Phase goals | Decomposed into executable plans |
|
|
33
|
+
| Why this matters | Prioritize tasks that serve the phase's purpose |
|
|
32
34
|
| Success criteria | Inform must_haves derivation |
|
|
33
35
|
| Requirement mappings | Ensure plans cover phase scope |
|
|
34
36
|
| Dependencies | Order plan execution |
|
|
@@ -79,6 +81,18 @@ Every v1 requirement must map to exactly one phase. No orphans. No duplicates.
|
|
|
79
81
|
If a requirement doesn't fit any phase → create a phase or defer to v2.
|
|
80
82
|
If a requirement fits multiple phases → assign to ONE (usually the first that could deliver it).
|
|
81
83
|
|
|
84
|
+
## Phases Serve a Purpose
|
|
85
|
+
|
|
86
|
+
Each phase doesn't just deliver features — it advances the product toward its vision.
|
|
87
|
+
|
|
88
|
+
When identifying phases, check PROJECT.md for:
|
|
89
|
+
- **Who This Serves** — which user does this phase primarily serve?
|
|
90
|
+
- **Product Vision** — how does this phase advance toward the stated success outcome?
|
|
91
|
+
|
|
92
|
+
Write a "Why this matters" line for each phase that answers: "If we shipped only this phase and nothing else, what user problem would be better?"
|
|
93
|
+
|
|
94
|
+
Don't force it. If a phase is purely foundational (setup, CI/CD), "Why this matters" = "Enables everything that follows." That's honest and fine.
|
|
95
|
+
|
|
82
96
|
</philosophy>
|
|
83
97
|
|
|
84
98
|
<goal_backward_phases>
|
|
@@ -93,6 +107,16 @@ Take the phase goal from your phase identification. This is the outcome, not wor
|
|
|
93
107
|
- Good: "Users can securely access their accounts" (outcome)
|
|
94
108
|
- Bad: "Build authentication" (task)
|
|
95
109
|
|
|
110
|
+
**Step 1.5: State Why This Matters**
|
|
111
|
+
Using Who This Serves and Product Vision from PROJECT.md, write one sentence explaining why this phase matters to users or the product.
|
|
112
|
+
|
|
113
|
+
- Good: "Users need identity before they can own content or build reputation." (connects to user need)
|
|
114
|
+
- Good: "Content creation is the core value loop — without it, the product is empty." (connects to product vision)
|
|
115
|
+
- Bad: "Authentication is required for security." (technical justification, not user/business)
|
|
116
|
+
- Fine: "Enables everything that follows." (honest for foundational phases)
|
|
117
|
+
|
|
118
|
+
This becomes the "Why this matters" line in ROADMAP.md phase details.
|
|
119
|
+
|
|
96
120
|
**Step 2: Derive Observable Truths (2-5 per phase)**
|
|
97
121
|
List what users can observe/do when the phase completes.
|
|
98
122
|
|
|
@@ -289,8 +313,8 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
|
|
|
289
313
|
Use template from `~/.claude/ariadna/templates/roadmap.md`.
|
|
290
314
|
|
|
291
315
|
Key sections:
|
|
292
|
-
- Overview (2-3 sentences)
|
|
293
|
-
- Phases with Goal, Dependencies, Requirements, Success Criteria
|
|
316
|
+
- Overview (2-3 sentences + product vision one-liner + building for one-liner)
|
|
317
|
+
- Phases with Goal, Why This Matters, Dependencies, Requirements, Success Criteria
|
|
294
318
|
- Progress table
|
|
295
319
|
|
|
296
320
|
## STATE.md Structure
|
|
@@ -353,8 +377,8 @@ Approve roadmap or provide feedback for revision.
|
|
|
353
377
|
## Step 1: Receive Context
|
|
354
378
|
|
|
355
379
|
Orchestrator provides:
|
|
356
|
-
- PROJECT.md content (core value, constraints)
|
|
357
|
-
- REQUIREMENTS.md content (v1 requirements with REQ-IDs)
|
|
380
|
+
- PROJECT.md content (core value, who this serves, product vision, constraints)
|
|
381
|
+
- REQUIREMENTS.md content (v1 requirements with REQ-IDs and motivation clauses)
|
|
358
382
|
- research/SUMMARY.md content (if exists - phase suggestions)
|
|
359
383
|
- config.json (depth setting)
|
|
360
384
|
|
|
@@ -398,9 +422,10 @@ Apply phase identification methodology:
|
|
|
398
422
|
|
|
399
423
|
For each phase, apply goal-backward:
|
|
400
424
|
1. State phase goal (outcome, not task)
|
|
401
|
-
2.
|
|
402
|
-
3.
|
|
403
|
-
4.
|
|
425
|
+
2. State why this matters (connects to users or product vision)
|
|
426
|
+
3. Derive 2-5 observable truths (user perspective)
|
|
427
|
+
4. Cross-check against requirements
|
|
428
|
+
5. Flag any gaps
|
|
404
429
|
|
|
405
430
|
## Step 6: Validate Coverage
|
|
406
431
|
|
|
@@ -446,11 +471,11 @@ When files are written and returning to orchestrator:
|
|
|
446
471
|
## ROADMAP CREATED
|
|
447
472
|
|
|
448
473
|
**Files written:**
|
|
449
|
-
- .
|
|
450
|
-
- .
|
|
474
|
+
- .ariadna_planning/ROADMAP.md
|
|
475
|
+
- .ariadna_planning/STATE.md
|
|
451
476
|
|
|
452
477
|
**Updated:**
|
|
453
|
-
- .
|
|
478
|
+
- .ariadna_planning/REQUIREMENTS.md (traceability section)
|
|
454
479
|
|
|
455
480
|
### Summary
|
|
456
481
|
|
|
@@ -476,8 +501,8 @@ When files are written and returning to orchestrator:
|
|
|
476
501
|
### Files Ready for Review
|
|
477
502
|
|
|
478
503
|
User can review actual files:
|
|
479
|
-
- `cat .
|
|
480
|
-
- `cat .
|
|
504
|
+
- `cat .ariadna_planning/ROADMAP.md`
|
|
505
|
+
- `cat .ariadna_planning/STATE.md`
|
|
481
506
|
|
|
482
507
|
{If gaps found during creation:}
|
|
483
508
|
|
|
@@ -500,9 +525,9 @@ After incorporating user feedback and updating files:
|
|
|
500
525
|
- {change 2}
|
|
501
526
|
|
|
502
527
|
**Files updated:**
|
|
503
|
-
- .
|
|
504
|
-
- .
|
|
505
|
-
- .
|
|
528
|
+
- .ariadna_planning/ROADMAP.md
|
|
529
|
+
- .ariadna_planning/STATE.md (if needed)
|
|
530
|
+
- .ariadna_planning/REQUIREMENTS.md (if traceability changed)
|
|
506
531
|
|
|
507
532
|
### Updated Summary
|
|
508
533
|
|
|
@@ -597,6 +622,7 @@ Roadmap is complete when:
|
|
|
597
622
|
Quality indicators:
|
|
598
623
|
|
|
599
624
|
- **Coherent phases:** Each delivers one complete, verifiable capability
|
|
625
|
+
- **Purpose-connected:** Each phase has a "why this matters" tied to users or product vision
|
|
600
626
|
- **Clear success criteria:** Observable from user perspective, not implementation details
|
|
601
627
|
- **Full coverage:** Every requirement mapped, no orphans
|
|
602
628
|
- **Natural structure:** Phases feel inevitable, not arbitrary
|