ariadna 1.3.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/ariadna.gemspec +0 -1
  3. data/data/agents/ariadna-codebase-mapper.md +34 -722
  4. data/data/agents/ariadna-debugger.md +44 -1139
  5. data/data/agents/ariadna-executor.md +75 -396
  6. data/data/agents/ariadna-planner.md +78 -1215
  7. data/data/agents/ariadna-roadmapper.md +55 -582
  8. data/data/agents/ariadna-verifier.md +60 -702
  9. data/data/ariadna/templates/config.json +8 -33
  10. data/data/ariadna/workflows/debug.md +28 -0
  11. data/data/ariadna/workflows/execute-phase.md +31 -513
  12. data/data/ariadna/workflows/map-codebase.md +20 -319
  13. data/data/ariadna/workflows/new-milestone.md +20 -365
  14. data/data/ariadna/workflows/new-project.md +19 -880
  15. data/data/ariadna/workflows/plan-phase.md +24 -443
  16. data/data/ariadna/workflows/progress.md +20 -376
  17. data/data/ariadna/workflows/quick.md +19 -221
  18. data/data/ariadna/workflows/roadmap-ops.md +28 -0
  19. data/data/ariadna/workflows/verify-work.md +23 -560
  20. data/data/commands/ariadna/add-phase.md +11 -22
  21. data/data/commands/ariadna/debug.md +11 -143
  22. data/data/commands/ariadna/execute-phase.md +12 -30
  23. data/data/commands/ariadna/insert-phase.md +7 -14
  24. data/data/commands/ariadna/map-codebase.md +16 -49
  25. data/data/commands/ariadna/new-milestone.md +12 -25
  26. data/data/commands/ariadna/new-project.md +22 -26
  27. data/data/commands/ariadna/plan-phase.md +13 -22
  28. data/data/commands/ariadna/progress.md +16 -6
  29. data/data/commands/ariadna/quick.md +9 -11
  30. data/data/commands/ariadna/remove-phase.md +9 -12
  31. data/data/commands/ariadna/verify-work.md +14 -19
  32. data/data/skills/rails-backend/API.md +138 -0
  33. data/data/skills/rails-backend/CONTROLLERS.md +154 -0
  34. data/data/skills/rails-backend/JOBS.md +132 -0
  35. data/data/skills/rails-backend/MODELS.md +213 -0
  36. data/data/skills/rails-backend/SKILL.md +169 -0
  37. data/data/skills/rails-frontend/ASSETS.md +154 -0
  38. data/data/skills/rails-frontend/COMPONENTS.md +253 -0
  39. data/data/skills/rails-frontend/SKILL.md +187 -0
  40. data/data/skills/rails-frontend/VIEWS.md +168 -0
  41. data/data/skills/rails-performance/PROFILING.md +106 -0
  42. data/data/skills/rails-performance/SKILL.md +217 -0
  43. data/data/skills/rails-security/AUDIT.md +118 -0
  44. data/data/skills/rails-security/SKILL.md +422 -0
  45. data/data/skills/rails-testing/FIXTURES.md +78 -0
  46. data/data/skills/rails-testing/SKILL.md +160 -0
  47. data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
  48. data/lib/ariadna/installer.rb +11 -15
  49. data/lib/ariadna/tools/cli.rb +0 -12
  50. data/lib/ariadna/tools/config_manager.rb +10 -72
  51. data/lib/ariadna/tools/frontmatter.rb +23 -1
  52. data/lib/ariadna/tools/init.rb +201 -401
  53. data/lib/ariadna/tools/model_profiles.rb +6 -14
  54. data/lib/ariadna/tools/phase_manager.rb +1 -10
  55. data/lib/ariadna/tools/state_manager.rb +170 -451
  56. data/lib/ariadna/tools/template_filler.rb +4 -12
  57. data/lib/ariadna/tools/verification.rb +21 -399
  58. data/lib/ariadna/uninstaller.rb +9 -0
  59. data/lib/ariadna/version.rb +1 -1
  60. metadata +20 -91
  61. data/data/agents/ariadna-backend-executor.md +0 -261
  62. data/data/agents/ariadna-frontend-executor.md +0 -259
  63. data/data/agents/ariadna-integration-checker.md +0 -418
  64. data/data/agents/ariadna-phase-researcher.md +0 -469
  65. data/data/agents/ariadna-plan-checker.md +0 -622
  66. data/data/agents/ariadna-project-researcher.md +0 -618
  67. data/data/agents/ariadna-research-synthesizer.md +0 -236
  68. data/data/agents/ariadna-test-executor.md +0 -266
  69. data/data/ariadna/references/checkpoints.md +0 -772
  70. data/data/ariadna/references/continuation-format.md +0 -249
  71. data/data/ariadna/references/decimal-phase-calculation.md +0 -65
  72. data/data/ariadna/references/git-integration.md +0 -248
  73. data/data/ariadna/references/git-planning-commit.md +0 -38
  74. data/data/ariadna/references/model-profile-resolution.md +0 -32
  75. data/data/ariadna/references/model-profiles.md +0 -73
  76. data/data/ariadna/references/phase-argument-parsing.md +0 -61
  77. data/data/ariadna/references/planning-config.md +0 -194
  78. data/data/ariadna/references/questioning.md +0 -153
  79. data/data/ariadna/references/rails-conventions.md +0 -416
  80. data/data/ariadna/references/tdd.md +0 -267
  81. data/data/ariadna/references/ui-brand.md +0 -160
  82. data/data/ariadna/references/verification-patterns.md +0 -853
  83. data/data/ariadna/templates/codebase/architecture.md +0 -481
  84. data/data/ariadna/templates/codebase/concerns.md +0 -380
  85. data/data/ariadna/templates/codebase/conventions.md +0 -434
  86. data/data/ariadna/templates/codebase/integrations.md +0 -328
  87. data/data/ariadna/templates/codebase/stack.md +0 -189
  88. data/data/ariadna/templates/codebase/structure.md +0 -418
  89. data/data/ariadna/templates/codebase/testing.md +0 -606
  90. data/data/ariadna/templates/context.md +0 -283
  91. data/data/ariadna/templates/continue-here.md +0 -78
  92. data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
  93. data/data/ariadna/templates/phase-prompt.md +0 -609
  94. data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
  95. data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
  96. data/data/ariadna/templates/research-project/FEATURES.md +0 -168
  97. data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
  98. data/data/ariadna/templates/research-project/STACK.md +0 -251
  99. data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
  100. data/data/ariadna/templates/state.md +0 -176
  101. data/data/ariadna/templates/summary-complex.md +0 -59
  102. data/data/ariadna/templates/summary-minimal.md +0 -41
  103. data/data/ariadna/templates/summary-standard.md +0 -48
  104. data/data/ariadna/templates/user-setup.md +0 -310
  105. data/data/ariadna/workflows/add-phase.md +0 -111
  106. data/data/ariadna/workflows/add-todo.md +0 -157
  107. data/data/ariadna/workflows/audit-milestone.md +0 -241
  108. data/data/ariadna/workflows/check-todos.md +0 -176
  109. data/data/ariadna/workflows/complete-milestone.md +0 -644
  110. data/data/ariadna/workflows/diagnose-issues.md +0 -219
  111. data/data/ariadna/workflows/discovery-phase.md +0 -289
  112. data/data/ariadna/workflows/discuss-phase.md +0 -408
  113. data/data/ariadna/workflows/execute-plan.md +0 -448
  114. data/data/ariadna/workflows/help.md +0 -470
  115. data/data/ariadna/workflows/insert-phase.md +0 -129
  116. data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
  117. data/data/ariadna/workflows/pause-work.md +0 -122
  118. data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
  119. data/data/ariadna/workflows/remove-phase.md +0 -154
  120. data/data/ariadna/workflows/research-phase.md +0 -74
  121. data/data/ariadna/workflows/resume-project.md +0 -306
  122. data/data/ariadna/workflows/set-profile.md +0 -80
  123. data/data/ariadna/workflows/settings.md +0 -145
  124. data/data/ariadna/workflows/transition.md +0 -493
  125. data/data/ariadna/workflows/update.md +0 -212
  126. data/data/ariadna/workflows/verify-phase.md +0 -226
  127. data/data/commands/ariadna/add-todo.md +0 -42
  128. data/data/commands/ariadna/audit-milestone.md +0 -42
  129. data/data/commands/ariadna/check-todos.md +0 -41
  130. data/data/commands/ariadna/complete-milestone.md +0 -136
  131. data/data/commands/ariadna/discuss-phase.md +0 -86
  132. data/data/commands/ariadna/help.md +0 -22
  133. data/data/commands/ariadna/list-phase-assumptions.md +0 -50
  134. data/data/commands/ariadna/pause-work.md +0 -35
  135. data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
  136. data/data/commands/ariadna/reapply-patches.md +0 -110
  137. data/data/commands/ariadna/research-phase.md +0 -187
  138. data/data/commands/ariadna/resume-work.md +0 -40
  139. data/data/commands/ariadna/set-profile.md +0 -34
  140. data/data/commands/ariadna/settings.md +0 -36
  141. data/data/commands/ariadna/update.md +0 -37
  142. data/data/guides/backend.md +0 -3069
  143. data/data/guides/frontend.md +0 -1479
  144. data/data/guides/performance.md +0 -1193
  145. data/data/guides/security.md +0 -1522
  146. data/data/guides/style-guide.md +0 -1091
  147. data/data/guides/testing.md +0 -504
  148. data/data/templates.md +0 -94
@@ -1,157 +0,0 @@
1
- <purpose>
2
- Capture an idea, task, or issue that surfaces during an Ariadna session as a structured todo for later work. Enables "thought → capture → continue" flow without losing context.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="init_context">
12
- Load todo context:
13
-
14
- ```bash
15
- INIT=$(ariadna-tools init todos)
16
- ```
17
-
18
- Extract from init JSON: `commit_docs`, `date`, `timestamp`, `todo_count`, `todos`, `pending_dir`, `todos_dir_exists`.
19
-
20
- Ensure directories exist:
21
- ```bash
22
- mkdir -p .ariadna_planning/todos/pending .ariadna_planning/todos/done
23
- ```
24
-
25
- Note existing areas from the todos array for consistency in infer_area step.
26
- </step>
27
-
28
- <step name="extract_content">
29
- **With arguments:** Use as the title/focus.
30
- - `/ariadna:add-todo Add auth token refresh` → title = "Add auth token refresh"
31
-
32
- **Without arguments:** Analyze recent conversation to extract:
33
- - The specific problem, idea, or task discussed
34
- - Relevant file paths mentioned
35
- - Technical details (error messages, line numbers, constraints)
36
-
37
- Formulate:
38
- - `title`: 3-10 word descriptive title (action verb preferred)
39
- - `problem`: What's wrong or why this is needed
40
- - `solution`: Approach hints or "TBD" if just an idea
41
- - `files`: Relevant paths with line numbers from conversation
42
- </step>
43
-
44
- <step name="infer_area">
45
- Infer area from file paths:
46
-
47
- | Path pattern | Area |
48
- |--------------|------|
49
- | `src/api/*`, `api/*` | `api` |
50
- | `src/components/*`, `src/ui/*` | `ui` |
51
- | `src/auth/*`, `auth/*` | `auth` |
52
- | `src/db/*`, `database/*` | `database` |
53
- | `tests/*`, `__tests__/*` | `testing` |
54
- | `docs/*` | `docs` |
55
- | `.ariadna_planning/*` | `planning` |
56
- | `scripts/*`, `bin/*` | `tooling` |
57
- | No files or unclear | `general` |
58
-
59
- Use existing area from step 2 if similar match exists.
60
- </step>
61
-
62
- <step name="check_duplicates">
63
- ```bash
64
- # Search for key words from title in existing todos
65
- grep -l -i "[key words from title]" .ariadna_planning/todos/pending/*.md 2>/dev/null
66
- ```
67
-
68
- If potential duplicate found:
69
- 1. Read the existing todo
70
- 2. Compare scope
71
-
72
- If overlapping, use AskUserQuestion:
73
- - header: "Duplicate?"
74
- - question: "Similar todo exists: [title]. What would you like to do?"
75
- - options:
76
- - "Skip" — keep existing todo
77
- - "Replace" — update existing with new context
78
- - "Add anyway" — create as separate todo
79
- </step>
80
-
81
- <step name="create_file">
82
- Use values from init context: `timestamp` and `date` are already available.
83
-
84
- Generate slug for the title:
85
- ```bash
86
- slug=$(ariadna-tools generate-slug "$title" --raw)
87
- ```
88
-
89
- Write to `.ariadna_planning/todos/pending/${date}-${slug}.md`:
90
-
91
- ```markdown
92
- ---
93
- created: [timestamp]
94
- title: [title]
95
- area: [area]
96
- files:
97
- - [file:lines]
98
- ---
99
-
100
- ## Problem
101
-
102
- [problem description - enough context for future Claude to understand weeks later]
103
-
104
- ## Solution
105
-
106
- [approach hints or "TBD"]
107
- ```
108
- </step>
109
-
110
- <step name="update_state">
111
- If `.ariadna_planning/STATE.md` exists:
112
-
113
- 1. Use `todo_count` from init context (or re-run `init todos` if count changed)
114
- 2. Update "### Pending Todos" under "## Accumulated Context"
115
- </step>
116
-
117
- <step name="git_commit">
118
- Commit the todo and any updated state:
119
-
120
- ```bash
121
- ariadna-tools commit "docs: capture todo - [title]" --files .ariadna_planning/todos/pending/[filename] .ariadna_planning/STATE.md
122
- ```
123
-
124
- Tool respects `commit_docs` config and gitignore automatically.
125
-
126
- Confirm: "Committed: docs: capture todo - [title]"
127
- </step>
128
-
129
- <step name="confirm">
130
- ```
131
- Todo saved: .ariadna_planning/todos/pending/[filename]
132
-
133
- [title]
134
- Area: [area]
135
- Files: [count] referenced
136
-
137
- ---
138
-
139
- Would you like to:
140
-
141
- 1. Continue with current work
142
- 2. Add another todo
143
- 3. View all todos (/ariadna:check-todos)
144
- ```
145
- </step>
146
-
147
- </process>
148
-
149
- <success_criteria>
150
- - [ ] Directory structure exists
151
- - [ ] Todo file created with valid frontmatter
152
- - [ ] Problem section has enough context for future Claude
153
- - [ ] No duplicates (checked and resolved)
154
- - [ ] Area consistent with existing todos
155
- - [ ] STATE.md updated if exists
156
- - [ ] Todo and state committed to git
157
- </success_criteria>
@@ -1,241 +0,0 @@
1
- <purpose>
2
- Verify milestone achieved its definition of done by aggregating phase verifications, checking cross-phase integration, and assessing requirements coverage. Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- ## 0. Initialize Milestone Context
12
-
13
- ```bash
14
- INIT=$(ariadna-tools init milestone-op)
15
- ```
16
-
17
- Extract from init JSON: `milestone_version`, `milestone_name`, `phase_count`, `completed_phases`, `commit_docs`.
18
-
19
- Resolve integration checker model:
20
- ```bash
21
- CHECKER_MODEL=$(ariadna-tools resolve-model ariadna-integration-checker --raw)
22
- ```
23
-
24
- ## 1. Determine Milestone Scope
25
-
26
- ```bash
27
- # Get phases in milestone (sorted numerically, handles decimals)
28
- ariadna-tools phases list
29
- ```
30
-
31
- - Parse version from arguments or detect current from ROADMAP.md
32
- - Identify all phase directories in scope
33
- - Extract milestone definition of done from ROADMAP.md
34
- - Extract requirements mapped to this milestone from REQUIREMENTS.md
35
-
36
- ## 2. Read All Phase Verifications
37
-
38
- For each phase directory, read the VERIFICATION.md:
39
-
40
- ```bash
41
- cat .ariadna_planning/phases/01-*/*-VERIFICATION.md
42
- cat .ariadna_planning/phases/02-*/*-VERIFICATION.md
43
- # etc.
44
- ```
45
-
46
- From each VERIFICATION.md, extract:
47
- - **Status:** passed | gaps_found
48
- - **Critical gaps:** (if any — these are blockers)
49
- - **Non-critical gaps:** tech debt, deferred items, warnings
50
- - **Anti-patterns found:** TODOs, stubs, placeholders
51
- - **Requirements coverage:** which requirements satisfied/blocked
52
-
53
- If a phase is missing VERIFICATION.md, flag it as "unverified phase" — this is a blocker.
54
-
55
- ## 3. Spawn Integration Checker
56
-
57
- With phase context collected:
58
-
59
- ```
60
- Task(
61
- prompt="Check cross-phase integration and E2E flows.
62
-
63
- Phases: {phase_dirs}
64
- Phase exports: {from SUMMARYs}
65
- API routes: {routes created}
66
-
67
- Verify cross-phase wiring and E2E user flows.",
68
- subagent_type="ariadna-integration-checker",
69
- model="{integration_checker_model}"
70
- )
71
- ```
72
-
73
- ## 4. Collect Results
74
-
75
- Combine:
76
- - Phase-level gaps and tech debt (from step 2)
77
- - Integration checker's report (wiring gaps, broken flows)
78
-
79
- ## 5. Check Requirements Coverage
80
-
81
- For each requirement in REQUIREMENTS.md mapped to this milestone:
82
- - Find owning phase
83
- - Check phase verification status
84
- - Determine: satisfied | partial | unsatisfied
85
-
86
- ## 6. Aggregate into v{version}-MILESTONE-AUDIT.md
87
-
88
- Create `.ariadna_planning/v{version}-v{version}-MILESTONE-AUDIT.md` with:
89
-
90
- ```yaml
91
- ---
92
- milestone: {version}
93
- audited: {timestamp}
94
- status: passed | gaps_found | tech_debt
95
- scores:
96
- requirements: N/M
97
- phases: N/M
98
- integration: N/M
99
- flows: N/M
100
- gaps: # Critical blockers
101
- requirements: [...]
102
- integration: [...]
103
- flows: [...]
104
- tech_debt: # Non-critical, deferred
105
- - phase: 01-auth
106
- items:
107
- - "TODO: add rate limiting"
108
- - "Warning: no password strength validation"
109
- - phase: 03-dashboard
110
- items:
111
- - "Deferred: mobile responsive layout"
112
- ---
113
- ```
114
-
115
- Plus full markdown report with tables for requirements, phases, integration, tech debt.
116
-
117
- **Status values:**
118
- - `passed` — all requirements met, no critical gaps, minimal tech debt
119
- - `gaps_found` — critical blockers exist
120
- - `tech_debt` — no blockers but accumulated deferred items need review
121
-
122
- ## 7. Present Results
123
-
124
- Route by status (see `<offer_next>`).
125
-
126
- </process>
127
-
128
- <offer_next>
129
- Output this markdown directly (not as a code block). Route based on status:
130
-
131
- ---
132
-
133
- **If passed:**
134
-
135
- ## ✓ Milestone {version} — Audit Passed
136
-
137
- **Score:** {N}/{M} requirements satisfied
138
- **Report:** .ariadna_planning/v{version}-MILESTONE-AUDIT.md
139
-
140
- All requirements covered. Cross-phase integration verified. E2E flows complete.
141
-
142
- ───────────────────────────────────────────────────────────────
143
-
144
- ## ▶ Next Up
145
-
146
- **Complete milestone** — archive and tag
147
-
148
- /ariadna:complete-milestone {version}
149
-
150
- <sub>/clear first → fresh context window</sub>
151
-
152
- ───────────────────────────────────────────────────────────────
153
-
154
- ---
155
-
156
- **If gaps_found:**
157
-
158
- ## ⚠ Milestone {version} — Gaps Found
159
-
160
- **Score:** {N}/{M} requirements satisfied
161
- **Report:** .ariadna_planning/v{version}-MILESTONE-AUDIT.md
162
-
163
- ### Unsatisfied Requirements
164
-
165
- {For each unsatisfied requirement:}
166
- - **{REQ-ID}: {description}** (Phase {X})
167
- - {reason}
168
-
169
- ### Cross-Phase Issues
170
-
171
- {For each integration gap:}
172
- - **{from} → {to}:** {issue}
173
-
174
- ### Broken Flows
175
-
176
- {For each flow gap:}
177
- - **{flow name}:** breaks at {step}
178
-
179
- ───────────────────────────────────────────────────────────────
180
-
181
- ## ▶ Next Up
182
-
183
- **Plan gap closure** — create phases to complete milestone
184
-
185
- /ariadna:plan-milestone-gaps
186
-
187
- <sub>/clear first → fresh context window</sub>
188
-
189
- ───────────────────────────────────────────────────────────────
190
-
191
- **Also available:**
192
- - cat .ariadna_planning/v{version}-MILESTONE-AUDIT.md — see full report
193
- - /ariadna:complete-milestone {version} — proceed anyway (accept tech debt)
194
-
195
- ───────────────────────────────────────────────────────────────
196
-
197
- ---
198
-
199
- **If tech_debt (no blockers but accumulated debt):**
200
-
201
- ## ⚡ Milestone {version} — Tech Debt Review
202
-
203
- **Score:** {N}/{M} requirements satisfied
204
- **Report:** .ariadna_planning/v{version}-MILESTONE-AUDIT.md
205
-
206
- All requirements met. No critical blockers. Accumulated tech debt needs review.
207
-
208
- ### Tech Debt by Phase
209
-
210
- {For each phase with debt:}
211
- **Phase {X}: {name}**
212
- - {item 1}
213
- - {item 2}
214
-
215
- ### Total: {N} items across {M} phases
216
-
217
- ───────────────────────────────────────────────────────────────
218
-
219
- ## ▶ Options
220
-
221
- **A. Complete milestone** — accept debt, track in backlog
222
-
223
- /ariadna:complete-milestone {version}
224
-
225
- **B. Plan cleanup phase** — address debt before completing
226
-
227
- /ariadna:plan-milestone-gaps
228
-
229
- <sub>/clear first → fresh context window</sub>
230
-
231
- ───────────────────────────────────────────────────────────────
232
- </offer_next>
233
-
234
- <success_criteria>
235
- - [ ] Milestone scope identified
236
- - [ ] All phase VERIFICATION.md files read
237
- - [ ] Tech debt and deferred gaps aggregated
238
- - [ ] Integration checker spawned for cross-phase wiring
239
- - [ ] v{version}-MILESTONE-AUDIT.md created
240
- - [ ] Results presented with actionable next steps
241
- </success_criteria>
@@ -1,176 +0,0 @@
1
- <purpose>
2
- List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="init_context">
12
- Load todo context:
13
-
14
- ```bash
15
- INIT=$(ariadna-tools init todos)
16
- ```
17
-
18
- Extract from init JSON: `todo_count`, `todos`, `pending_dir`.
19
-
20
- If `todo_count` is 0:
21
- ```
22
- No pending todos.
23
-
24
- Todos are captured during work sessions with /ariadna:add-todo.
25
-
26
- ---
27
-
28
- Would you like to:
29
-
30
- 1. Continue with current phase (/ariadna:progress)
31
- 2. Add a todo now (/ariadna:add-todo)
32
- ```
33
-
34
- Exit.
35
- </step>
36
-
37
- <step name="parse_filter">
38
- Check for area filter in arguments:
39
- - `/ariadna:check-todos` → show all
40
- - `/ariadna:check-todos api` → filter to area:api only
41
- </step>
42
-
43
- <step name="list_todos">
44
- Use the `todos` array from init context (already filtered by area if specified).
45
-
46
- Parse and display as numbered list:
47
-
48
- ```
49
- Pending Todos:
50
-
51
- 1. Add auth token refresh (api, 2d ago)
52
- 2. Fix modal z-index issue (ui, 1d ago)
53
- 3. Refactor database connection pool (database, 5h ago)
54
-
55
- ---
56
-
57
- Reply with a number to view details, or:
58
- - `/ariadna:check-todos [area]` to filter by area
59
- - `q` to exit
60
- ```
61
-
62
- Format age as relative time from created timestamp.
63
- </step>
64
-
65
- <step name="handle_selection">
66
- Wait for user to reply with a number.
67
-
68
- If valid: load selected todo, proceed.
69
- If invalid: "Invalid selection. Reply with a number (1-[N]) or `q` to exit."
70
- </step>
71
-
72
- <step name="load_context">
73
- Read the todo file completely. Display:
74
-
75
- ```
76
- ## [title]
77
-
78
- **Area:** [area]
79
- **Created:** [date] ([relative time] ago)
80
- **Files:** [list or "None"]
81
-
82
- ### Problem
83
- [problem section content]
84
-
85
- ### Solution
86
- [solution section content]
87
- ```
88
-
89
- If `files` field has entries, read and briefly summarize each.
90
- </step>
91
-
92
- <step name="check_roadmap">
93
- Check for roadmap (can use init progress or directly check file existence):
94
-
95
- If `.ariadna_planning/ROADMAP.md` exists:
96
- 1. Check if todo's area matches an upcoming phase
97
- 2. Check if todo's files overlap with a phase's scope
98
- 3. Note any match for action options
99
- </step>
100
-
101
- <step name="offer_actions">
102
- **If todo maps to a roadmap phase:**
103
-
104
- Use AskUserQuestion:
105
- - header: "Action"
106
- - question: "This todo relates to Phase [N]: [name]. What would you like to do?"
107
- - options:
108
- - "Work on it now" — move to done, start working
109
- - "Add to phase plan" — include when planning Phase [N]
110
- - "Brainstorm approach" — think through before deciding
111
- - "Put it back" — return to list
112
-
113
- **If no roadmap match:**
114
-
115
- Use AskUserQuestion:
116
- - header: "Action"
117
- - question: "What would you like to do with this todo?"
118
- - options:
119
- - "Work on it now" — move to done, start working
120
- - "Create a phase" — /ariadna:add-phase with this scope
121
- - "Brainstorm approach" — think through before deciding
122
- - "Put it back" — return to list
123
- </step>
124
-
125
- <step name="execute_action">
126
- **Work on it now:**
127
- ```bash
128
- mv ".ariadna_planning/todos/pending/[filename]" ".ariadna_planning/todos/done/"
129
- ```
130
- Update STATE.md todo count. Present problem/solution context. Begin work or ask how to proceed.
131
-
132
- **Add to phase plan:**
133
- Note todo reference in phase planning notes. Keep in pending. Return to list or exit.
134
-
135
- **Create a phase:**
136
- Display: `/ariadna:add-phase [description from todo]`
137
- Keep in pending. User runs command in fresh context.
138
-
139
- **Brainstorm approach:**
140
- Keep in pending. Start discussion about problem and approaches.
141
-
142
- **Put it back:**
143
- Return to list_todos step.
144
- </step>
145
-
146
- <step name="update_state">
147
- After any action that changes todo count:
148
-
149
- Re-run `init todos` to get updated count, then update STATE.md "### Pending Todos" section if exists.
150
- </step>
151
-
152
- <step name="git_commit">
153
- If todo was moved to done/, commit the change:
154
-
155
- ```bash
156
- git rm --cached .ariadna_planning/todos/pending/[filename] 2>/dev/null || true
157
- ariadna-tools commit "docs: start work on todo - [title]" --files .ariadna_planning/todos/done/[filename] .ariadna_planning/STATE.md
158
- ```
159
-
160
- Tool respects `commit_docs` config and gitignore automatically.
161
-
162
- Confirm: "Committed: docs: start work on todo - [title]"
163
- </step>
164
-
165
- </process>
166
-
167
- <success_criteria>
168
- - [ ] All pending todos listed with title, area, age
169
- - [ ] Area filter applied if specified
170
- - [ ] Selected todo's full context loaded
171
- - [ ] Roadmap context checked for phase match
172
- - [ ] Appropriate actions offered
173
- - [ ] Selected action executed
174
- - [ ] STATE.md updated if todo count changed
175
- - [ ] Changes committed to git (if todo moved to done/)
176
- </success_criteria>