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
|
@@ -19,11 +19,11 @@ Load all context in one call:
|
|
|
19
19
|
INIT=$(ariadna-tools init execute-phase "${PHASE_ARG}")
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelization`, `branching_strategy`, `branch_name`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `plans`, `incomplete_plans`, `plan_count`, `incomplete_count`, `state_exists`, `roadmap_exists`.
|
|
22
|
+
Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelization`, `branching_strategy`, `branch_name`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `plans`, `incomplete_plans`, `plan_count`, `incomplete_count`, `team_execution`, `execution_mode`, `backend_executor_model`, `frontend_executor_model`, `test_executor_model`, `state_exists`, `roadmap_exists`.
|
|
23
23
|
|
|
24
24
|
**If `phase_found` is false:** Error — phase directory not found.
|
|
25
25
|
**If `plan_count` is 0:** Error — no plans found in phase.
|
|
26
|
-
**If `state_exists` is false but `.
|
|
26
|
+
**If `state_exists` is false but `.ariadna_planning/` exists:** Offer reconstruct or continue.
|
|
27
27
|
|
|
28
28
|
When `parallelization` is false, plans within a wave execute sequentially.
|
|
29
29
|
</step>
|
|
@@ -54,7 +54,7 @@ Load plan inventory with wave grouping in one call:
|
|
|
54
54
|
PLAN_INDEX=$(ariadna-tools phase-plan-index "${PHASE_NUMBER}")
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
Parse JSON for: `
|
|
57
|
+
Parse JSON for: `plans[]` (each with `file`, `phase`, `plan`, `wave`, `type`, `completed`, `domain`, `depends_on`, `files_modified`, `autonomous`, `objective`, `task_count`), `count`, `domains`, `domain_count`, `multi_domain`, `recommend_team`.
|
|
58
58
|
|
|
59
59
|
**Filtering:** Skip plans where `has_summary: true`. If `--gaps-only`: also skip non-gap_closure plans. If all filtered: "No matching incomplete plans" → exit.
|
|
60
60
|
|
|
@@ -71,6 +71,28 @@ Report:
|
|
|
71
71
|
```
|
|
72
72
|
</step>
|
|
73
73
|
|
|
74
|
+
<step name="decide_execution_mode">
|
|
75
|
+
**Determine execution mode:**
|
|
76
|
+
|
|
77
|
+
1. If `--team` flag → team execution
|
|
78
|
+
2. If `--no-team` flag → wave execution
|
|
79
|
+
3. If `team_execution` from init is `true` → team execution
|
|
80
|
+
4. If `team_execution` from init is `false` → wave execution
|
|
81
|
+
5. If `team_execution` is `"auto"` → check plan index:
|
|
82
|
+
- Parse `multi_domain` and `recommend_team` from PLAN_INDEX
|
|
83
|
+
- If `recommend_team` is true (3+ plans, 2+ non-general domains) → team execution
|
|
84
|
+
- Otherwise → wave execution
|
|
85
|
+
|
|
86
|
+
Report:
|
|
87
|
+
```
|
|
88
|
+
**Execution mode:** {Team | Wave}
|
|
89
|
+
{If auto: "Auto-detected: {plan_count} plans across {domains}"}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If team mode: proceed to `team_execution` step.
|
|
93
|
+
If wave mode: proceed to `execute_waves` step.
|
|
94
|
+
</step>
|
|
95
|
+
|
|
74
96
|
<step name="execute_waves">
|
|
75
97
|
Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`, sequential if `false`.
|
|
76
98
|
|
|
@@ -135,8 +157,8 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
135
157
|
<files_to_read>
|
|
136
158
|
Read these files at execution start using the Read tool:
|
|
137
159
|
- Plan: {phase_dir}/{plan_file}
|
|
138
|
-
- State: .
|
|
139
|
-
- Config: .
|
|
160
|
+
- State: .ariadna_planning/STATE.md
|
|
161
|
+
- Config: .ariadna_planning/config.json (if exists)
|
|
140
162
|
</files_to_read>
|
|
141
163
|
|
|
142
164
|
<success_criteria>
|
|
@@ -249,6 +271,17 @@ If `TEAM_MODE` is `true` OR `--team` flag present → use team execution. Otherw
|
|
|
249
271
|
- Assign unblocked tasks to idle agents of the matching domain
|
|
250
272
|
- Cross-domain handoffs: if a frontend task depends on a backend task, the frontend executor can read the backend SUMMARY.md for context
|
|
251
273
|
|
|
274
|
+
**Progress reporting (on each task completion message from an agent):**
|
|
275
|
+
Check `TaskList` and display:
|
|
276
|
+
```
|
|
277
|
+
## Team Progress
|
|
278
|
+
| Agent | Status | Current Task | Completed |
|
|
279
|
+
|-------------------|---------|-------------|-----------|
|
|
280
|
+
| backend-executor | working | Plan 03-01 | 1/3 |
|
|
281
|
+
| frontend-executor | idle | waiting | 0/2 |
|
|
282
|
+
| test-executor | working | Plan 03-03 | 0/1 |
|
|
283
|
+
```
|
|
284
|
+
|
|
252
285
|
6. **Handle checkpoints:** Same as wave-based — agent sends message to orchestrator, orchestrator presents checkpoint to user, spawns continuation agent.
|
|
253
286
|
|
|
254
287
|
7. **Shutdown team:** When all tasks are complete:
|
|
@@ -261,6 +294,10 @@ If `TEAM_MODE` is `true` OR `--team` flag present → use team execution. Otherw
|
|
|
261
294
|
```
|
|
262
295
|
|
|
263
296
|
**Conflict prevention:** File ownership is enforced by `files_modified` frontmatter — the planner ensures no overlap between concurrent plans assigned to different agents.
|
|
297
|
+
|
|
298
|
+
**STATE.md serialization:** Agents do NOT update STATE.md in team mode.
|
|
299
|
+
The orchestrator reads each SUMMARY.md after all tasks complete and
|
|
300
|
+
updates STATE.md sequentially. This prevents concurrent write corruption.
|
|
264
301
|
</step>
|
|
265
302
|
|
|
266
303
|
<step name="checkpoint_handling">
|
|
@@ -296,12 +333,28 @@ Plans with `autonomous: false` require user interaction.
|
|
|
296
333
|
</step>
|
|
297
334
|
|
|
298
335
|
<step name="aggregate_results">
|
|
299
|
-
After all waves:
|
|
336
|
+
After all waves (or after all team tasks complete):
|
|
337
|
+
|
|
338
|
+
**Team mode state aggregation (if team execution was used):**
|
|
339
|
+
|
|
340
|
+
For each completed task's SUMMARY.md, in plan order:
|
|
341
|
+
```bash
|
|
342
|
+
ariadna-tools state advance-plan
|
|
343
|
+
ariadna-tools state record-metric \
|
|
344
|
+
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
345
|
+
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
346
|
+
```
|
|
347
|
+
This runs sequentially from the orchestrator to prevent concurrent writes.
|
|
348
|
+
|
|
349
|
+
**Aggregate requirements coverage:** Parse `requirements_covered` from all SUMMARY.md frontmatter in this phase. Cross-check against `requirements_content` (from INIT or re-read REQUIREMENTS.md) for requirements mapped to this phase. Flag uncovered requirements. Show coverage count.
|
|
350
|
+
|
|
351
|
+
If covered requirements exist, update REQUIREMENTS.md traceability table: set status to "Complete" for each covered REQ-ID, with evidence from the SUMMARY frontmatter.
|
|
300
352
|
|
|
301
353
|
```markdown
|
|
302
354
|
## Phase {X}: {Name} Execution Complete
|
|
303
355
|
|
|
304
356
|
**Waves:** {N} | **Plans:** {M}/{total} complete
|
|
357
|
+
**Requirements:** {covered}/{total_for_phase} covered
|
|
305
358
|
|
|
306
359
|
| Wave | Plans | Status |
|
|
307
360
|
|------|-------|--------|
|
|
@@ -313,6 +366,14 @@ After all waves:
|
|
|
313
366
|
1. **03-01**: [one-liner from SUMMARY.md]
|
|
314
367
|
2. **03-02**: [one-liner from SUMMARY.md]
|
|
315
368
|
|
|
369
|
+
### Requirements Coverage
|
|
370
|
+
| REQ-ID | Requirement | Evidence |
|
|
371
|
+
|--------|-------------|----------|
|
|
372
|
+
| {id} | {description} | {evidence from SUMMARY} |
|
|
373
|
+
| {id} | {description} | ⚠ Not covered |
|
|
374
|
+
|
|
375
|
+
[Omit section if no REQUIREMENTS.md or no requirements for this phase]
|
|
376
|
+
|
|
316
377
|
### Issues Encountered
|
|
317
378
|
[Aggregate from SUMMARYs, or "None"]
|
|
318
379
|
```
|
|
@@ -339,8 +400,8 @@ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
|
339
400
|
|
|
340
401
|
| Status | Action |
|
|
341
402
|
|--------|--------|
|
|
342
|
-
| `passed` | →
|
|
343
|
-
| `human_needed` | Present items for human testing, get approval or feedback |
|
|
403
|
+
| `passed` | → user_acceptance |
|
|
404
|
+
| `human_needed` | Present items for human testing, get approval or feedback → user_acceptance |
|
|
344
405
|
| `gaps_found` | Present gap summary, offer `/ariadna:plan-phase {phase} --gaps` |
|
|
345
406
|
|
|
346
407
|
**If human_needed:**
|
|
@@ -378,11 +439,38 @@ Also: `/ariadna:verify-work {X}` — manual testing first
|
|
|
378
439
|
Gap closure cycle: `/ariadna:plan-phase {X} --gaps` reads VERIFICATION.md → creates gap plans with `gap_closure: true` → user runs `/ariadna:execute-phase {X} --gaps-only` → verifier re-runs.
|
|
379
440
|
</step>
|
|
380
441
|
|
|
442
|
+
<step name="user_acceptance">
|
|
443
|
+
**Trigger:** After verifier returns `passed` (or `human_needed` items are approved by user).
|
|
444
|
+
|
|
445
|
+
**Skip if:** `--no-review` flag, or ALL plans in this phase have `domain: backend` or `domain: testing` only (no user-facing deliverables).
|
|
446
|
+
|
|
447
|
+
**Otherwise:** Show a lightweight acceptance gate. Gather one-liners from each SUMMARY.md + key decisions Claude made during execution:
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
questions: [
|
|
451
|
+
{
|
|
452
|
+
header: "Acceptance",
|
|
453
|
+
question: "Phase {X}: {Name} — verified and passing.\n\nWhat was built:\n- {one-liner from SUMMARY 1}\n- {one-liner from SUMMARY 2}\n\nKey decisions made:\n- {decision 1 from SUMMARY}\n- {decision 2 from SUMMARY}\n\nDoes the direction look right?",
|
|
454
|
+
multiSelect: false,
|
|
455
|
+
options: [
|
|
456
|
+
{ label: "Looks good", description: "Mark phase complete and continue" },
|
|
457
|
+
{ label: "Test first", description: "Run /ariadna:verify-work before marking complete" },
|
|
458
|
+
{ label: "Issues", description: "Record blocker and suggest gap closure" }
|
|
459
|
+
]
|
|
460
|
+
}
|
|
461
|
+
]
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
- **"Looks good":** Proceed to `update_roadmap`.
|
|
465
|
+
- **"Test first":** Display: `Run /ariadna:verify-work {X} to test, then re-run /ariadna:execute-phase {X} to continue.` Exit without marking phase complete.
|
|
466
|
+
- **"Issues":** Ask user to describe the issue. Record as blocker in STATE.md via `ariadna-tools state add-blocker "{issue}"`. Display: `Blocker recorded. Run /ariadna:plan-phase {X} --gaps to create fix plans.` Exit without marking phase complete.
|
|
467
|
+
</step>
|
|
468
|
+
|
|
381
469
|
<step name="update_roadmap">
|
|
382
470
|
Mark phase complete in ROADMAP.md (date, status).
|
|
383
471
|
|
|
384
472
|
```bash
|
|
385
|
-
ariadna-tools commit "docs(phase-{X}): complete phase execution" --files .
|
|
473
|
+
ariadna-tools commit "docs(phase-{X}): complete phase execution" --files .ariadna_planning/ROADMAP.md .ariadna_planning/STATE.md .ariadna_planning/phases/{phase_dir}/*-VERIFICATION.md .ariadna_planning/REQUIREMENTS.md
|
|
386
474
|
```
|
|
387
475
|
</step>
|
|
388
476
|
|
|
@@ -26,14 +26,14 @@ STATE_CONTENT=$(echo "$INIT" | jq -r '.state_content // empty')
|
|
|
26
26
|
CONFIG_CONTENT=$(echo "$INIT" | jq -r '.config_content // empty')
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
If `.
|
|
29
|
+
If `.ariadna_planning/` missing: error.
|
|
30
30
|
</step>
|
|
31
31
|
|
|
32
32
|
<step name="identify_plan">
|
|
33
33
|
```bash
|
|
34
34
|
# Use plans/summaries from INIT JSON, or list files
|
|
35
|
-
ls .
|
|
36
|
-
ls .
|
|
35
|
+
ls .ariadna_planning/phases/XX-name/*-PLAN.md 2>/dev/null | sort
|
|
36
|
+
ls .ariadna_planning/phases/XX-name/*-SUMMARY.md 2>/dev/null | sort
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Find first PLAN without matching SUMMARY. Decimal phases supported (`01.1-hotfix/`):
|
|
@@ -61,7 +61,7 @@ PLAN_START_EPOCH=$(date +%s)
|
|
|
61
61
|
|
|
62
62
|
<step name="parse_segments">
|
|
63
63
|
```bash
|
|
64
|
-
grep -n "type=\"checkpoint" .
|
|
64
|
+
grep -n "type=\"checkpoint" .ariadna_planning/phases/XX-name/{phase}-{plan}-PLAN.md
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
**Routing by checkpoint type:**
|
|
@@ -83,12 +83,12 @@ Fresh context per subagent preserves peak quality. Main context stays lean.
|
|
|
83
83
|
|
|
84
84
|
<step name="init_agent_tracking">
|
|
85
85
|
```bash
|
|
86
|
-
if [ ! -f .
|
|
87
|
-
echo '{"version":"1.0","max_entries":50,"entries":[]}' > .
|
|
86
|
+
if [ ! -f .ariadna_planning/agent-history.json ]; then
|
|
87
|
+
echo '{"version":"1.0","max_entries":50,"entries":[]}' > .ariadna_planning/agent-history.json
|
|
88
88
|
fi
|
|
89
|
-
rm -f .
|
|
90
|
-
if [ -f .
|
|
91
|
-
INTERRUPTED_ID=$(cat .
|
|
89
|
+
rm -f .ariadna_planning/current-agent-id.txt
|
|
90
|
+
if [ -f .ariadna_planning/current-agent-id.txt ]; then
|
|
91
|
+
INTERRUPTED_ID=$(cat .ariadna_planning/current-agent-id.txt)
|
|
92
92
|
echo "Found interrupted agent: $INTERRUPTED_ID"
|
|
93
93
|
fi
|
|
94
94
|
```
|
|
@@ -121,14 +121,14 @@ Pattern B only (verify-only checkpoints). Skip for A/C.
|
|
|
121
121
|
|
|
122
122
|
<step name="load_prompt">
|
|
123
123
|
```bash
|
|
124
|
-
cat .
|
|
124
|
+
cat .ariadna_planning/phases/XX-name/{phase}-{plan}-PLAN.md
|
|
125
125
|
```
|
|
126
126
|
This IS the execution instructions. Follow exactly. If plan references CONTEXT.md: honor user's vision throughout.
|
|
127
127
|
</step>
|
|
128
128
|
|
|
129
129
|
<step name="previous_phase_check">
|
|
130
130
|
```bash
|
|
131
|
-
ls .
|
|
131
|
+
ls .ariadna_planning/phases/*/SUMMARY.md 2>/dev/null | sort -r | head -2 | tail -1
|
|
132
132
|
```
|
|
133
133
|
If previous SUMMARY has unresolved "Issues Encountered" or "Next Phase Readiness" blockers: AskUserQuestion(header="Previous Issues", options: "Proceed anyway" | "Address first" | "Review previous").
|
|
134
134
|
</step>
|
|
@@ -312,16 +312,27 @@ fi
|
|
|
312
312
|
|
|
313
313
|
<step name="generate_user_setup">
|
|
314
314
|
```bash
|
|
315
|
-
grep -A 50 "^user_setup:" .
|
|
315
|
+
grep -A 50 "^user_setup:" .ariadna_planning/phases/XX-name/{phase}-{plan}-PLAN.md | head -50
|
|
316
316
|
```
|
|
317
317
|
|
|
318
318
|
If user_setup exists: create `{phase}-USER-SETUP.md` using template `~/.claude/ariadna/templates/user-setup.md`. Per service: env vars table, account setup checklist, dashboard config, local dev notes, verification commands. Status "Incomplete". Set `USER_SETUP_CREATED=true`. If empty/missing: skip.
|
|
319
319
|
</step>
|
|
320
320
|
|
|
321
321
|
<step name="create_summary">
|
|
322
|
-
Create `{phase}-{plan}-SUMMARY.md` at `.
|
|
322
|
+
Create `{phase}-{plan}-SUMMARY.md` at `.ariadna_planning/phases/XX-name/`. Use `~/.claude/ariadna/templates/summary.md`.
|
|
323
323
|
|
|
324
|
-
**Frontmatter:** phase, plan, subsystem, tags | requires/provides/affects | tech-stack.added/patterns | key-files.created/modified | key-decisions | duration ($DURATION), completed ($PLAN_END_TIME date).
|
|
324
|
+
**Frontmatter:** phase, plan, subsystem, tags | requires/provides/affects | tech-stack.added/patterns | key-files.created/modified | key-decisions | requirements_covered | duration ($DURATION), completed ($PLAN_END_TIME date).
|
|
325
|
+
|
|
326
|
+
**Requirements traceability:** Cross-reference plan tasks against `requirements_content` (from INIT, or read `.ariadna_planning/REQUIREMENTS.md`). For each requirement mapped to this phase that was implemented by tasks in this plan, populate the `requirements_covered` frontmatter:
|
|
327
|
+
```yaml
|
|
328
|
+
requirements_covered:
|
|
329
|
+
- id: "AUTH-01"
|
|
330
|
+
description: "User can sign up with email and password"
|
|
331
|
+
evidence: "SessionsController#create + User model with has_secure_password"
|
|
332
|
+
```
|
|
333
|
+
Use the actual REQ-ID and description from REQUIREMENTS.md. Evidence should reference the specific file/class/method that implements the requirement. Omit the `requirements_covered` field entirely if no REQUIREMENTS.md exists or no requirements map to this plan.
|
|
334
|
+
|
|
335
|
+
Also populate the `## Requirements Covered` markdown section (after Accomplishments) with the same data in table format.
|
|
325
336
|
|
|
326
337
|
Title: `# Phase [X] Plan [Y]: [Name] Summary`
|
|
327
338
|
|
|
@@ -386,12 +397,12 @@ More plans → update plan count, keep "In progress". Last plan → mark phase "
|
|
|
386
397
|
Task code already committed per-task. Commit plan metadata:
|
|
387
398
|
|
|
388
399
|
```bash
|
|
389
|
-
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .
|
|
400
|
+
ariadna-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .ariadna_planning/STATE.md .ariadna_planning/ROADMAP.md
|
|
390
401
|
```
|
|
391
402
|
</step>
|
|
392
403
|
|
|
393
404
|
<step name="update_codebase_map">
|
|
394
|
-
If .
|
|
405
|
+
If .ariadna_planning/codebase/ doesn't exist: skip.
|
|
395
406
|
|
|
396
407
|
```bash
|
|
397
408
|
FIRST_TASK=$(git log --oneline --grep="feat({phase}-{plan}):" --grep="fix({phase}-{plan}):" --grep="test({phase}-{plan}):" --reverse | head -1 | cut -d' ' -f1)
|
|
@@ -401,7 +412,7 @@ git diff --name-only ${FIRST_TASK}^..HEAD 2>/dev/null
|
|
|
401
412
|
Update only structural changes: new src/ dir → STRUCTURE.md | deps → STACK.md | file pattern → CONVENTIONS.md | API client → INTEGRATIONS.md | config → STACK.md | renamed → update paths. Skip code-only/bugfix/content changes.
|
|
402
413
|
|
|
403
414
|
```bash
|
|
404
|
-
ariadna-tools commit "" --files .
|
|
415
|
+
ariadna-tools commit "" --files .ariadna_planning/codebase/*.md --amend
|
|
405
416
|
```
|
|
406
417
|
</step>
|
|
407
418
|
|
|
@@ -409,8 +420,8 @@ ariadna-tools commit "" --files .planning/codebase/*.md --amend
|
|
|
409
420
|
If `USER_SETUP_CREATED=true`: display `⚠️ USER SETUP REQUIRED` with path + env/config tasks at TOP.
|
|
410
421
|
|
|
411
422
|
```bash
|
|
412
|
-
ls -1 .
|
|
413
|
-
ls -1 .
|
|
423
|
+
ls -1 .ariadna_planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
424
|
+
ls -1 .ariadna_planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
414
425
|
```
|
|
415
426
|
|
|
416
427
|
| Condition | Route | Action |
|
|
@@ -38,7 +38,7 @@ One command takes you from idea to ready-for-planning:
|
|
|
38
38
|
- Requirements definition with v1/v2/out-of-scope scoping
|
|
39
39
|
- Roadmap creation with phase breakdown and success criteria
|
|
40
40
|
|
|
41
|
-
Creates all `.
|
|
41
|
+
Creates all `.ariadna_planning/` artifacts:
|
|
42
42
|
- `PROJECT.md` — vision and requirements
|
|
43
43
|
- `config.json` — workflow mode (interactive/yolo)
|
|
44
44
|
- `research/` — domain research (if selected)
|
|
@@ -52,7 +52,7 @@ Usage: `/ariadna:new-project`
|
|
|
52
52
|
Map an existing codebase for brownfield projects.
|
|
53
53
|
|
|
54
54
|
- Analyzes codebase with parallel Explore agents
|
|
55
|
-
- Creates `.
|
|
55
|
+
- Creates `.ariadna_planning/codebase/` with 7 focused documents
|
|
56
56
|
- Covers stack, architecture, structure, conventions, testing, integrations, concerns
|
|
57
57
|
- Use before `/ariadna:new-project` on existing codebases
|
|
58
58
|
|
|
@@ -91,13 +91,13 @@ Usage: `/ariadna:list-phase-assumptions 3`
|
|
|
91
91
|
**`/ariadna:plan-phase <number>`**
|
|
92
92
|
Create detailed execution plan for a specific phase.
|
|
93
93
|
|
|
94
|
-
- Generates `.
|
|
94
|
+
- Generates `.ariadna_planning/phases/XX-phase-name/XX-YY-PLAN.md`
|
|
95
95
|
- Breaks phase into concrete, actionable tasks
|
|
96
96
|
- Includes verification criteria and success measures
|
|
97
97
|
- Multiple plans per phase supported (XX-01, XX-02, etc.)
|
|
98
98
|
|
|
99
99
|
Usage: `/ariadna:plan-phase 1`
|
|
100
|
-
Result: Creates `.
|
|
100
|
+
Result: Creates `.ariadna_planning/phases/01-foundation/01-01-PLAN.md`
|
|
101
101
|
|
|
102
102
|
### Execution
|
|
103
103
|
|
|
@@ -118,13 +118,13 @@ Execute small, ad-hoc tasks with Ariadna guarantees but skip optional agents.
|
|
|
118
118
|
|
|
119
119
|
Quick mode uses the same system with a shorter path:
|
|
120
120
|
- Spawns planner + executor (skips researcher, checker, verifier)
|
|
121
|
-
- Quick tasks live in `.
|
|
121
|
+
- Quick tasks live in `.ariadna_planning/quick/` separate from planned phases
|
|
122
122
|
- Updates STATE.md tracking (not ROADMAP.md)
|
|
123
123
|
|
|
124
124
|
Use when you know exactly what to do and the task is small enough to not need research or verification.
|
|
125
125
|
|
|
126
126
|
Usage: `/ariadna:quick`
|
|
127
|
-
Result: Creates `.
|
|
127
|
+
Result: Creates `.ariadna_planning/quick/NNN-slug/PLAN.md`, `.ariadna_planning/quick/NNN-slug/SUMMARY.md`
|
|
128
128
|
|
|
129
129
|
### Roadmap Management
|
|
130
130
|
|
|
@@ -222,10 +222,10 @@ Usage: `/ariadna:pause-work`
|
|
|
222
222
|
Systematic debugging with persistent state across context resets.
|
|
223
223
|
|
|
224
224
|
- Gathers symptoms through adaptive questioning
|
|
225
|
-
- Creates `.
|
|
225
|
+
- Creates `.ariadna_planning/debug/[slug].md` to track investigation
|
|
226
226
|
- Investigates using scientific method (evidence → hypothesis → test)
|
|
227
227
|
- Survives `/clear` — run `/ariadna:debug` with no args to resume
|
|
228
|
-
- Archives resolved issues to `.
|
|
228
|
+
- Archives resolved issues to `.ariadna_planning/debug/resolved/`
|
|
229
229
|
|
|
230
230
|
Usage: `/ariadna:debug "login button doesn't work"`
|
|
231
231
|
Usage: `/ariadna:debug` (resume active session)
|
|
@@ -236,7 +236,7 @@ Usage: `/ariadna:debug` (resume active session)
|
|
|
236
236
|
Capture idea or task as todo from current conversation.
|
|
237
237
|
|
|
238
238
|
- Extracts context from conversation (or uses provided description)
|
|
239
|
-
- Creates structured todo file in `.
|
|
239
|
+
- Creates structured todo file in `.ariadna_planning/todos/pending/`
|
|
240
240
|
- Infers area from file paths for grouping
|
|
241
241
|
- Checks for duplicates before creating
|
|
242
242
|
- Updates STATE.md todo count
|
|
@@ -297,7 +297,7 @@ Configure workflow toggles and model profile interactively.
|
|
|
297
297
|
|
|
298
298
|
- Toggle researcher, plan checker, verifier agents
|
|
299
299
|
- Select model profile (quality/balanced/budget)
|
|
300
|
-
- Updates `.
|
|
300
|
+
- Updates `.ariadna_planning/config.json`
|
|
301
301
|
|
|
302
302
|
Usage: `/ariadna:settings`
|
|
303
303
|
|
|
@@ -337,7 +337,7 @@ Usage: `/ariadna:join-discord`
|
|
|
337
337
|
## Files & Structure
|
|
338
338
|
|
|
339
339
|
```
|
|
340
|
-
.
|
|
340
|
+
.ariadna_planning/
|
|
341
341
|
├── PROJECT.md # Project vision
|
|
342
342
|
├── ROADMAP.md # Current phase breakdown
|
|
343
343
|
├── STATE.md # Project memory & context
|
|
@@ -380,24 +380,24 @@ Set during `/ariadna:new-project`:
|
|
|
380
380
|
- Executes plans without confirmation
|
|
381
381
|
- Only stops for critical checkpoints
|
|
382
382
|
|
|
383
|
-
Change anytime by editing `.
|
|
383
|
+
Change anytime by editing `.ariadna_planning/config.json`
|
|
384
384
|
|
|
385
385
|
## Planning Configuration
|
|
386
386
|
|
|
387
|
-
Configure how planning artifacts are managed in `.
|
|
387
|
+
Configure how planning artifacts are managed in `.ariadna_planning/config.json`:
|
|
388
388
|
|
|
389
389
|
**`planning.commit_docs`** (default: `true`)
|
|
390
390
|
- `true`: Planning artifacts committed to git (standard workflow)
|
|
391
391
|
- `false`: Planning artifacts kept local-only, not committed
|
|
392
392
|
|
|
393
393
|
When `commit_docs: false`:
|
|
394
|
-
- Add `.
|
|
394
|
+
- Add `.ariadna_planning/` to your `.gitignore`
|
|
395
395
|
- Useful for OSS contributions, client projects, or keeping planning private
|
|
396
396
|
- All planning files still work normally, just not tracked in git
|
|
397
397
|
|
|
398
398
|
**`planning.search_gitignored`** (default: `false`)
|
|
399
399
|
- `true`: Add `--no-ignore` to broad ripgrep searches
|
|
400
|
-
- Only needed when `.
|
|
400
|
+
- Only needed when `.ariadna_planning/` is gitignored and you want project-wide searches to include it
|
|
401
401
|
|
|
402
402
|
Example config:
|
|
403
403
|
```json
|
|
@@ -463,8 +463,8 @@ Example config:
|
|
|
463
463
|
|
|
464
464
|
## Getting Help
|
|
465
465
|
|
|
466
|
-
- Read `.
|
|
467
|
-
- Read `.
|
|
468
|
-
- Check `.
|
|
466
|
+
- Read `.ariadna_planning/PROJECT.md` for project vision
|
|
467
|
+
- Read `.ariadna_planning/STATE.md` for current context
|
|
468
|
+
- Check `.ariadna_planning/ROADMAP.md` for phase status
|
|
469
469
|
- Run `/ariadna:progress` to check where you're up to
|
|
470
470
|
</reference>
|
|
@@ -39,7 +39,7 @@ INIT=$(ariadna-tools init phase-op "${after_phase}")
|
|
|
39
39
|
|
|
40
40
|
Check `roadmap_exists` from init JSON. If false:
|
|
41
41
|
```
|
|
42
|
-
ERROR: No roadmap found (.
|
|
42
|
+
ERROR: No roadmap found (.ariadna_planning/ROADMAP.md)
|
|
43
43
|
```
|
|
44
44
|
Exit.
|
|
45
45
|
</step>
|
|
@@ -55,7 +55,7 @@ The CLI handles:
|
|
|
55
55
|
- Verifying target phase exists in ROADMAP.md
|
|
56
56
|
- Calculating next decimal phase number (checking existing decimals on disk)
|
|
57
57
|
- Generating slug from description
|
|
58
|
-
- Creating the phase directory (`.
|
|
58
|
+
- Creating the phase directory (`.ariadna_planning/phases/{N.M}-{slug}/`)
|
|
59
59
|
- Inserting the phase entry into ROADMAP.md after the target phase with (INSERTED) marker
|
|
60
60
|
|
|
61
61
|
Extract from result: `phase_number`, `after_phase`, `name`, `slug`, `directory`.
|
|
@@ -64,7 +64,7 @@ Extract from result: `phase_number`, `after_phase`, `name`, `slug`, `directory`.
|
|
|
64
64
|
<step name="update_project_state">
|
|
65
65
|
Update STATE.md to reflect the inserted phase:
|
|
66
66
|
|
|
67
|
-
1. Read `.
|
|
67
|
+
1. Read `.ariadna_planning/STATE.md`
|
|
68
68
|
2. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
|
|
69
69
|
```
|
|
70
70
|
- Phase {decimal_phase} inserted after Phase {after_phase}: {description} (URGENT)
|
|
@@ -79,12 +79,12 @@ Present completion summary:
|
|
|
79
79
|
```
|
|
80
80
|
Phase {decimal_phase} inserted after Phase {after_phase}:
|
|
81
81
|
- Description: {description}
|
|
82
|
-
- Directory: .
|
|
82
|
+
- Directory: .ariadna_planning/phases/{decimal-phase}-{slug}/
|
|
83
83
|
- Status: Not planned yet
|
|
84
84
|
- Marker: (INSERTED) - indicates urgent work
|
|
85
85
|
|
|
86
|
-
Roadmap updated: .
|
|
87
|
-
Project state updated: .
|
|
86
|
+
Roadmap updated: .ariadna_planning/ROADMAP.md
|
|
87
|
+
Project state updated: .ariadna_planning/STATE.md
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Orchestrate parallel codebase mapper agents to analyze codebase and produce structured documents in .
|
|
2
|
+
Orchestrate parallel codebase mapper agents to analyze codebase and produce structured documents in .ariadna_planning/codebase/
|
|
3
3
|
|
|
4
4
|
Each agent has fresh context, explores a specific focus area, and **writes documents directly**. The orchestrator only receives confirmation + line counts, then writes a summary.
|
|
5
5
|
|
|
6
|
-
Output: .
|
|
6
|
+
Output: .ariadna_planning/codebase/ folder with 7 structured documents about the codebase state.
|
|
7
7
|
</purpose>
|
|
8
8
|
|
|
9
9
|
<philosophy>
|
|
@@ -33,17 +33,17 @@ Extract from init JSON: `mapper_model`, `commit_docs`, `codebase_dir`, `existing
|
|
|
33
33
|
</step>
|
|
34
34
|
|
|
35
35
|
<step name="check_existing">
|
|
36
|
-
Check if .
|
|
36
|
+
Check if .ariadna_planning/codebase/ already exists using `has_maps` from init context.
|
|
37
37
|
|
|
38
38
|
If `codebase_dir_exists` is true:
|
|
39
39
|
```bash
|
|
40
|
-
ls -la .
|
|
40
|
+
ls -la .ariadna_planning/codebase/
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
**If exists:**
|
|
44
44
|
|
|
45
45
|
```
|
|
46
|
-
.
|
|
46
|
+
.ariadna_planning/codebase/ already exists with these documents:
|
|
47
47
|
[List files found]
|
|
48
48
|
|
|
49
49
|
What's next?
|
|
@@ -54,7 +54,7 @@ What's next?
|
|
|
54
54
|
|
|
55
55
|
Wait for user response.
|
|
56
56
|
|
|
57
|
-
If "Refresh": Delete .
|
|
57
|
+
If "Refresh": Delete .ariadna_planning/codebase/, continue to create_structure
|
|
58
58
|
If "Update": Ask which documents to update, continue to spawn_agents (filtered)
|
|
59
59
|
If "Skip": Exit workflow
|
|
60
60
|
|
|
@@ -63,10 +63,10 @@ Continue to create_structure.
|
|
|
63
63
|
</step>
|
|
64
64
|
|
|
65
65
|
<step name="create_structure">
|
|
66
|
-
Create .
|
|
66
|
+
Create .ariadna_planning/codebase/ directory:
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
mkdir -p .
|
|
69
|
+
mkdir -p .ariadna_planning/codebase
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
**Expected output files:**
|
|
@@ -104,7 +104,7 @@ Focus: tech
|
|
|
104
104
|
|
|
105
105
|
Analyze this codebase for technology stack and external integrations.
|
|
106
106
|
|
|
107
|
-
Write these documents to .
|
|
107
|
+
Write these documents to .ariadna_planning/codebase/:
|
|
108
108
|
- STACK.md - Languages, runtime, frameworks, dependencies, configuration
|
|
109
109
|
- INTEGRATIONS.md - External APIs, databases, auth providers, webhooks
|
|
110
110
|
|
|
@@ -127,7 +127,7 @@ Focus: arch
|
|
|
127
127
|
|
|
128
128
|
Analyze this codebase architecture and directory structure.
|
|
129
129
|
|
|
130
|
-
Write these documents to .
|
|
130
|
+
Write these documents to .ariadna_planning/codebase/:
|
|
131
131
|
- ARCHITECTURE.md - Pattern, layers, data flow, abstractions, entry points
|
|
132
132
|
- STRUCTURE.md - Directory layout, key locations, naming conventions
|
|
133
133
|
|
|
@@ -150,7 +150,7 @@ Focus: quality
|
|
|
150
150
|
|
|
151
151
|
Analyze this codebase for coding conventions and testing patterns.
|
|
152
152
|
|
|
153
|
-
Write these documents to .
|
|
153
|
+
Write these documents to .ariadna_planning/codebase/:
|
|
154
154
|
- CONVENTIONS.md - Code style, naming, patterns, error handling
|
|
155
155
|
- TESTING.md - Framework, structure, mocking, coverage
|
|
156
156
|
|
|
@@ -173,7 +173,7 @@ Focus: concerns
|
|
|
173
173
|
|
|
174
174
|
Analyze this codebase for technical debt, known issues, and areas of concern.
|
|
175
175
|
|
|
176
|
-
Write this document to .
|
|
176
|
+
Write this document to .ariadna_planning/codebase/:
|
|
177
177
|
- CONCERNS.md - Tech debt, bugs, security, performance, fragile areas
|
|
178
178
|
|
|
179
179
|
Explore thoroughly. Write document directly using template. Return confirmation only.
|
|
@@ -193,8 +193,8 @@ Read each agent's output file to collect confirmations.
|
|
|
193
193
|
|
|
194
194
|
**Focus:** {focus}
|
|
195
195
|
**Documents written:**
|
|
196
|
-
- `.
|
|
197
|
-
- `.
|
|
196
|
+
- `.ariadna_planning/codebase/{DOC1}.md` ({N} lines)
|
|
197
|
+
- `.ariadna_planning/codebase/{DOC2}.md` ({N} lines)
|
|
198
198
|
|
|
199
199
|
Ready for orchestrator summary.
|
|
200
200
|
```
|
|
@@ -210,8 +210,8 @@ Continue to verify_output.
|
|
|
210
210
|
Verify all documents created successfully:
|
|
211
211
|
|
|
212
212
|
```bash
|
|
213
|
-
ls -la .
|
|
214
|
-
wc -l .
|
|
213
|
+
ls -la .ariadna_planning/codebase/
|
|
214
|
+
wc -l .ariadna_planning/codebase/*.md
|
|
215
215
|
```
|
|
216
216
|
|
|
217
217
|
**Verification checklist:**
|
|
@@ -230,7 +230,7 @@ Run secret pattern detection:
|
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
232
|
# Check for common API key patterns in generated docs
|
|
233
|
-
grep -E '(sk-[a-zA-Z0-9]{20,}|sk_live_[a-zA-Z0-9]+|sk_test_[a-zA-Z0-9]+|ghp_[a-zA-Z0-9]{36}|gho_[a-zA-Z0-9]{36}|glpat-[a-zA-Z0-9_-]+|AKIA[A-Z0-9]{16}|xox[baprs]-[a-zA-Z0-9-]+|-----BEGIN.*PRIVATE KEY|eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+\.)' .
|
|
233
|
+
grep -E '(sk-[a-zA-Z0-9]{20,}|sk_live_[a-zA-Z0-9]+|sk_test_[a-zA-Z0-9]+|ghp_[a-zA-Z0-9]{36}|gho_[a-zA-Z0-9]{36}|glpat-[a-zA-Z0-9_-]+|AKIA[A-Z0-9]{16}|xox[baprs]-[a-zA-Z0-9-]+|-----BEGIN.*PRIVATE KEY|eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+\.)' .ariadna_planning/codebase/*.md 2>/dev/null && SECRETS_FOUND=true || SECRETS_FOUND=false
|
|
234
234
|
```
|
|
235
235
|
|
|
236
236
|
**If SECRETS_FOUND=true:**
|
|
@@ -262,7 +262,7 @@ Continue to commit_codebase_map.
|
|
|
262
262
|
Commit the codebase map:
|
|
263
263
|
|
|
264
264
|
```bash
|
|
265
|
-
ariadna-tools commit "docs: map existing codebase" --files .
|
|
265
|
+
ariadna-tools commit "docs: map existing codebase" --files .ariadna_planning/codebase/*.md
|
|
266
266
|
```
|
|
267
267
|
|
|
268
268
|
Continue to offer_next.
|
|
@@ -273,7 +273,7 @@ Present completion summary and next steps.
|
|
|
273
273
|
|
|
274
274
|
**Get line counts:**
|
|
275
275
|
```bash
|
|
276
|
-
wc -l .
|
|
276
|
+
wc -l .ariadna_planning/codebase/*.md
|
|
277
277
|
```
|
|
278
278
|
|
|
279
279
|
**Output format:**
|
|
@@ -281,7 +281,7 @@ wc -l .planning/codebase/*.md
|
|
|
281
281
|
```
|
|
282
282
|
Codebase mapping complete.
|
|
283
283
|
|
|
284
|
-
Created .
|
|
284
|
+
Created .ariadna_planning/codebase/:
|
|
285
285
|
- STACK.md ([N] lines) - Technologies and dependencies
|
|
286
286
|
- ARCHITECTURE.md ([N] lines) - System design and patterns
|
|
287
287
|
- STRUCTURE.md ([N] lines) - Directory layout and organization
|
|
@@ -305,7 +305,7 @@ Created .planning/codebase/:
|
|
|
305
305
|
|
|
306
306
|
**Also available:**
|
|
307
307
|
- Re-run mapping: `/ariadna:map-codebase`
|
|
308
|
-
- Review specific file: `cat .
|
|
308
|
+
- Review specific file: `cat .ariadna_planning/codebase/STACK.md`
|
|
309
309
|
- Edit any document before proceeding
|
|
310
310
|
|
|
311
311
|
---
|
|
@@ -317,7 +317,7 @@ End workflow.
|
|
|
317
317
|
</process>
|
|
318
318
|
|
|
319
319
|
<success_criteria>
|
|
320
|
-
- .
|
|
320
|
+
- .ariadna_planning/codebase/ directory created
|
|
321
321
|
- 4 parallel ariadna-codebase-mapper agents spawned with run_in_background=true
|
|
322
322
|
- Agents write documents directly (orchestrator doesn't receive document contents)
|
|
323
323
|
- Read agent output files to collect confirmations
|