gsd-opencode 1.22.1 → 1.33.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 (188) hide show
  1. package/agents/gsd-advisor-researcher.md +112 -0
  2. package/agents/gsd-assumptions-analyzer.md +110 -0
  3. package/agents/gsd-codebase-mapper.md +0 -2
  4. package/agents/gsd-debugger.md +117 -2
  5. package/agents/gsd-doc-verifier.md +207 -0
  6. package/agents/gsd-doc-writer.md +608 -0
  7. package/agents/gsd-executor.md +45 -4
  8. package/agents/gsd-integration-checker.md +0 -2
  9. package/agents/gsd-nyquist-auditor.md +0 -2
  10. package/agents/gsd-phase-researcher.md +191 -5
  11. package/agents/gsd-plan-checker.md +152 -5
  12. package/agents/gsd-planner.md +131 -157
  13. package/agents/gsd-project-researcher.md +28 -3
  14. package/agents/gsd-research-synthesizer.md +0 -2
  15. package/agents/gsd-roadmapper.md +29 -2
  16. package/agents/gsd-security-auditor.md +129 -0
  17. package/agents/gsd-ui-auditor.md +485 -0
  18. package/agents/gsd-ui-checker.md +305 -0
  19. package/agents/gsd-ui-researcher.md +368 -0
  20. package/agents/gsd-user-profiler.md +173 -0
  21. package/agents/gsd-verifier.md +207 -22
  22. package/commands/gsd/gsd-add-backlog.md +76 -0
  23. package/commands/gsd/gsd-analyze-dependencies.md +34 -0
  24. package/commands/gsd/gsd-audit-uat.md +24 -0
  25. package/commands/gsd/gsd-autonomous.md +45 -0
  26. package/commands/gsd/gsd-cleanup.md +5 -0
  27. package/commands/gsd/gsd-debug.md +29 -21
  28. package/commands/gsd/gsd-discuss-phase.md +15 -36
  29. package/commands/gsd/gsd-do.md +30 -0
  30. package/commands/gsd/gsd-docs-update.md +48 -0
  31. package/commands/gsd/gsd-execute-phase.md +24 -2
  32. package/commands/gsd/gsd-fast.md +30 -0
  33. package/commands/gsd/gsd-forensics.md +56 -0
  34. package/commands/gsd/gsd-help.md +2 -0
  35. package/commands/gsd/gsd-join-discord.md +2 -1
  36. package/commands/gsd/gsd-list-workspaces.md +19 -0
  37. package/commands/gsd/gsd-manager.md +40 -0
  38. package/commands/gsd/gsd-milestone-summary.md +51 -0
  39. package/commands/gsd/gsd-new-project.md +4 -0
  40. package/commands/gsd/gsd-new-workspace.md +44 -0
  41. package/commands/gsd/gsd-next.md +24 -0
  42. package/commands/gsd/gsd-note.md +34 -0
  43. package/commands/gsd/gsd-plan-phase.md +8 -1
  44. package/commands/gsd/gsd-plant-seed.md +28 -0
  45. package/commands/gsd/gsd-pr-branch.md +25 -0
  46. package/commands/gsd/gsd-profile-user.md +46 -0
  47. package/commands/gsd/gsd-quick.md +7 -3
  48. package/commands/gsd/gsd-reapply-patches.md +178 -45
  49. package/commands/gsd/gsd-remove-workspace.md +26 -0
  50. package/commands/gsd/gsd-research-phase.md +7 -12
  51. package/commands/gsd/gsd-review-backlog.md +62 -0
  52. package/commands/gsd/gsd-review.md +38 -0
  53. package/commands/gsd/gsd-secure-phase.md +35 -0
  54. package/commands/gsd/gsd-session-report.md +19 -0
  55. package/commands/gsd/gsd-set-profile.md +24 -23
  56. package/commands/gsd/gsd-ship.md +23 -0
  57. package/commands/gsd/gsd-stats.md +18 -0
  58. package/commands/gsd/gsd-thread.md +127 -0
  59. package/commands/gsd/gsd-ui-phase.md +34 -0
  60. package/commands/gsd/gsd-ui-review.md +32 -0
  61. package/commands/gsd/gsd-workstreams.md +71 -0
  62. package/get-shit-done/bin/gsd-tools.cjs +450 -90
  63. package/get-shit-done/bin/lib/commands.cjs +489 -24
  64. package/get-shit-done/bin/lib/config.cjs +329 -48
  65. package/get-shit-done/bin/lib/core.cjs +1143 -102
  66. package/get-shit-done/bin/lib/docs.cjs +267 -0
  67. package/get-shit-done/bin/lib/frontmatter.cjs +125 -43
  68. package/get-shit-done/bin/lib/init.cjs +918 -106
  69. package/get-shit-done/bin/lib/milestone.cjs +65 -33
  70. package/get-shit-done/bin/lib/model-profiles.cjs +70 -0
  71. package/get-shit-done/bin/lib/phase.cjs +434 -404
  72. package/get-shit-done/bin/lib/profile-output.cjs +1048 -0
  73. package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
  74. package/get-shit-done/bin/lib/roadmap.cjs +156 -101
  75. package/get-shit-done/bin/lib/schema-detect.cjs +238 -0
  76. package/get-shit-done/bin/lib/security.cjs +384 -0
  77. package/get-shit-done/bin/lib/state.cjs +711 -79
  78. package/get-shit-done/bin/lib/template.cjs +2 -2
  79. package/get-shit-done/bin/lib/uat.cjs +282 -0
  80. package/get-shit-done/bin/lib/verify.cjs +254 -42
  81. package/get-shit-done/bin/lib/workstream.cjs +495 -0
  82. package/get-shit-done/references/agent-contracts.md +79 -0
  83. package/get-shit-done/references/artifact-types.md +113 -0
  84. package/get-shit-done/references/checkpoints.md +12 -10
  85. package/get-shit-done/references/context-budget.md +49 -0
  86. package/get-shit-done/references/continuation-format.md +15 -15
  87. package/get-shit-done/references/decimal-phase-calculation.md +2 -3
  88. package/get-shit-done/references/domain-probes.md +125 -0
  89. package/get-shit-done/references/gate-prompts.md +100 -0
  90. package/get-shit-done/references/git-integration.md +47 -0
  91. package/get-shit-done/references/model-profile-resolution.md +2 -0
  92. package/get-shit-done/references/model-profiles.md +62 -16
  93. package/get-shit-done/references/phase-argument-parsing.md +2 -2
  94. package/get-shit-done/references/planner-gap-closure.md +62 -0
  95. package/get-shit-done/references/planner-reviews.md +39 -0
  96. package/get-shit-done/references/planner-revision.md +87 -0
  97. package/get-shit-done/references/planning-config.md +18 -1
  98. package/get-shit-done/references/revision-loop.md +97 -0
  99. package/get-shit-done/references/ui-brand.md +2 -2
  100. package/get-shit-done/references/universal-anti-patterns.md +58 -0
  101. package/get-shit-done/references/user-profiling.md +681 -0
  102. package/get-shit-done/references/workstream-flag.md +111 -0
  103. package/get-shit-done/templates/SECURITY.md +61 -0
  104. package/get-shit-done/templates/UAT.md +21 -3
  105. package/get-shit-done/templates/UI-SPEC.md +100 -0
  106. package/get-shit-done/templates/VALIDATION.md +3 -3
  107. package/get-shit-done/templates/claude-md.md +145 -0
  108. package/get-shit-done/templates/config.json +14 -3
  109. package/get-shit-done/templates/context.md +61 -6
  110. package/get-shit-done/templates/debug-subagent-prompt.md +2 -6
  111. package/get-shit-done/templates/dev-preferences.md +21 -0
  112. package/get-shit-done/templates/discussion-log.md +63 -0
  113. package/get-shit-done/templates/phase-prompt.md +46 -5
  114. package/get-shit-done/templates/planner-subagent-prompt.md +2 -10
  115. package/get-shit-done/templates/project.md +2 -0
  116. package/get-shit-done/templates/state.md +2 -2
  117. package/get-shit-done/templates/user-profile.md +146 -0
  118. package/get-shit-done/workflows/add-phase.md +4 -4
  119. package/get-shit-done/workflows/add-tests.md +4 -4
  120. package/get-shit-done/workflows/add-todo.md +4 -4
  121. package/get-shit-done/workflows/analyze-dependencies.md +96 -0
  122. package/get-shit-done/workflows/audit-milestone.md +20 -16
  123. package/get-shit-done/workflows/audit-uat.md +109 -0
  124. package/get-shit-done/workflows/autonomous.md +1036 -0
  125. package/get-shit-done/workflows/check-todos.md +4 -4
  126. package/get-shit-done/workflows/cleanup.md +4 -4
  127. package/get-shit-done/workflows/complete-milestone.md +22 -10
  128. package/get-shit-done/workflows/diagnose-issues.md +21 -7
  129. package/get-shit-done/workflows/discovery-phase.md +2 -2
  130. package/get-shit-done/workflows/discuss-phase-assumptions.md +671 -0
  131. package/get-shit-done/workflows/discuss-phase-power.md +291 -0
  132. package/get-shit-done/workflows/discuss-phase.md +558 -47
  133. package/get-shit-done/workflows/do.md +104 -0
  134. package/get-shit-done/workflows/docs-update.md +1093 -0
  135. package/get-shit-done/workflows/execute-phase.md +741 -58
  136. package/get-shit-done/workflows/execute-plan.md +77 -12
  137. package/get-shit-done/workflows/fast.md +105 -0
  138. package/get-shit-done/workflows/forensics.md +265 -0
  139. package/get-shit-done/workflows/health.md +28 -6
  140. package/get-shit-done/workflows/help.md +127 -7
  141. package/get-shit-done/workflows/insert-phase.md +4 -4
  142. package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
  143. package/get-shit-done/workflows/list-workspaces.md +56 -0
  144. package/get-shit-done/workflows/manager.md +363 -0
  145. package/get-shit-done/workflows/map-codebase.md +83 -44
  146. package/get-shit-done/workflows/milestone-summary.md +223 -0
  147. package/get-shit-done/workflows/new-milestone.md +133 -25
  148. package/get-shit-done/workflows/new-project.md +216 -54
  149. package/get-shit-done/workflows/new-workspace.md +237 -0
  150. package/get-shit-done/workflows/next.md +97 -0
  151. package/get-shit-done/workflows/node-repair.md +92 -0
  152. package/get-shit-done/workflows/note.md +156 -0
  153. package/get-shit-done/workflows/pause-work.md +132 -15
  154. package/get-shit-done/workflows/plan-milestone-gaps.md +6 -7
  155. package/get-shit-done/workflows/plan-phase.md +513 -62
  156. package/get-shit-done/workflows/plant-seed.md +169 -0
  157. package/get-shit-done/workflows/pr-branch.md +129 -0
  158. package/get-shit-done/workflows/profile-user.md +450 -0
  159. package/get-shit-done/workflows/progress.md +154 -29
  160. package/get-shit-done/workflows/quick.md +285 -111
  161. package/get-shit-done/workflows/remove-phase.md +2 -2
  162. package/get-shit-done/workflows/remove-workspace.md +90 -0
  163. package/get-shit-done/workflows/research-phase.md +13 -9
  164. package/get-shit-done/workflows/resume-project.md +37 -18
  165. package/get-shit-done/workflows/review.md +281 -0
  166. package/get-shit-done/workflows/secure-phase.md +154 -0
  167. package/get-shit-done/workflows/session-report.md +146 -0
  168. package/get-shit-done/workflows/set-profile.md +2 -2
  169. package/get-shit-done/workflows/settings.md +91 -11
  170. package/get-shit-done/workflows/ship.md +237 -0
  171. package/get-shit-done/workflows/stats.md +60 -0
  172. package/get-shit-done/workflows/transition.md +150 -23
  173. package/get-shit-done/workflows/ui-phase.md +292 -0
  174. package/get-shit-done/workflows/ui-review.md +183 -0
  175. package/get-shit-done/workflows/update.md +262 -30
  176. package/get-shit-done/workflows/validate-phase.md +14 -17
  177. package/get-shit-done/workflows/verify-phase.md +143 -11
  178. package/get-shit-done/workflows/verify-work.md +141 -39
  179. package/package.json +1 -1
  180. package/skills/gsd-audit-milestone/SKILL.md +29 -0
  181. package/skills/gsd-cleanup/SKILL.md +19 -0
  182. package/skills/gsd-complete-milestone/SKILL.md +131 -0
  183. package/skills/gsd-discuss-phase/SKILL.md +54 -0
  184. package/skills/gsd-execute-phase/SKILL.md +49 -0
  185. package/skills/gsd-plan-phase/SKILL.md +37 -0
  186. package/skills/gsd-ui-phase/SKILL.md +24 -0
  187. package/skills/gsd-ui-review/SKILL.md +24 -0
  188. package/skills/gsd-verify-work/SKILL.md +30 -0
@@ -1,6 +1,6 @@
1
- <purpose>
1
+ <objective>
2
2
  List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
3
- </purpose>
3
+ </objective>
4
4
 
5
5
  <required_reading>
6
6
  read all files referenced by the invoking prompt's execution_context before starting.
@@ -126,7 +126,7 @@ Use question:
126
126
  <step name="execute_action">
127
127
  **Work on it now:**
128
128
  ```bash
129
- mv ".planning/todos/pending/[filename]" ".planning/todos/done/"
129
+ mv ".planning/todos/pending/[filename]" ".planning/todos/completed/"
130
130
  ```
131
131
  Update STATE.md todo count. Present problem/solution context. Begin work or ask how to proceed.
132
132
 
@@ -155,7 +155,7 @@ If todo was moved to done/, commit the change:
155
155
 
156
156
  ```bash
157
157
  git rm --cached .planning/todos/pending/[filename] 2>/dev/null || true
158
- node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: start work on todo - [title]" --files .planning/todos/done/[filename] .planning/STATE.md
158
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: start work on todo - [title]" --files .planning/todos/completed/[filename] .planning/STATE.md
159
159
  ```
160
160
 
161
161
  Tool respects `commit_docs` config and gitignore automatically.
@@ -1,8 +1,8 @@
1
- <purpose>
1
+ <objective>
2
2
 
3
3
  Archive accumulated phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`. Identifies which phases belong to each completed milestone, shows a dry-run summary, and moves directories on confirmation.
4
4
 
5
- </purpose>
5
+ </objective>
6
6
 
7
7
  <required_reading>
8
8
 
@@ -27,7 +27,7 @@ Extract each milestone version (e.g., v1.0, v1.1, v2.0).
27
27
  Check which milestone archive dirs already exist:
28
28
 
29
29
  ```bash
30
- ls -d .planning/milestones/v*-phases 2>/dev/null
30
+ ls -d .planning/milestones/v*-phases 2>/dev/null || true
31
31
  ```
32
32
 
33
33
  Filter to milestones that do NOT already have a `-phases` archive directory.
@@ -55,7 +55,7 @@ Extract phase numbers and names from the archived roadmap (e.g., Phase 1: Founda
55
55
  Check which of those phase directories still exist in `.planning/phases/`:
56
56
 
57
57
  ```bash
58
- ls -d .planning/phases/*/ 2>/dev/null
58
+ ls -d .planning/phases/*/ 2>/dev/null || true
59
59
  ```
60
60
 
61
61
  Match phase directories to milestone membership. Only include directories that still exist in `.planning/phases/`.
@@ -1,8 +1,8 @@
1
- <purpose>
1
+ <objective>
2
2
 
3
3
  Mark a shipped version (v1.0, v1.1, v2.0) as complete. Creates historical record in MILESTONES.md, performs full PROJECT.md evolution review, reorganizes ROADMAP.md with milestone groupings, and tags the release in git.
4
4
 
5
- </purpose>
5
+ </objective>
6
6
 
7
7
  <required_reading>
8
8
 
@@ -24,6 +24,8 @@ When a milestone completes:
24
24
  4. Delete REQUIREMENTS.md (fresh one for next milestone)
25
25
  5. Perform full PROJECT.md evolution review
26
26
  6. Offer to create next milestone inline
27
+ 7. Archive UI artifacts (`*-UI-SPEC.md`, `*-UI-REVIEW.md`) alongside other phase documents
28
+ 8. Clean up `.planning/ui-reviews/` screenshot files (binary assets, never archived)
27
29
 
28
30
  **Context Efficiency:** Archives keep ROADMAP.md constant-size and REQUIREMENTS.md milestone-scoped.
29
31
 
@@ -88,7 +90,7 @@ If user selects "Proceed anyway": note incomplete requirements in MILESTONES.md
88
90
  <config-check>
89
91
 
90
92
  ```bash
91
- cat .planning/config.json 2>/dev/null
93
+ cat .planning/config.json 2>/dev/null || true
92
94
  ```
93
95
 
94
96
  </config-check>
@@ -127,7 +129,7 @@ Calculate milestone statistics:
127
129
  ```bash
128
130
  git log --oneline --grep="feat(" | head -20
129
131
  git diff --stat FIRST_COMMIT..LAST_COMMIT | tail -1
130
- find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null
132
+ find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null || true
131
133
  git log --format="%ai" FIRST_COMMIT | tail -1
132
134
  git log --format="%ai" LAST_COMMIT | head -1
133
135
  ```
@@ -154,7 +156,8 @@ Extract one-liners from SUMMARY.md files using summary-extract:
154
156
  ```bash
155
157
  # For each phase in milestone, extract one-liner
156
158
  for summary in .planning/phases/*-*/*-SUMMARY.md; do
157
- node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields one_liner | jq -r '.one_liner'
159
+ [ -e "$summary" ] || continue
160
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields one_liner --pick one_liner
158
161
  done
159
162
  ```
160
163
 
@@ -444,7 +447,7 @@ rm .planning/REQUIREMENTS.md
444
447
 
445
448
  Check for existing retrospective:
446
449
  ```bash
447
- ls .planning/RETROSPECTIVE.md 2>/dev/null
450
+ ls .planning/RETROSPECTIVE.md 2>/dev/null || true
448
451
  ```
449
452
 
450
453
  **If exists:** read the file, append new milestone section before the "## Cross-Milestone Trends" section.
@@ -534,6 +537,15 @@ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
534
537
 
535
538
  Extract `branching_strategy`, `phase_branch_template`, `milestone_branch_template`, and `commit_docs` from init JSON.
536
539
 
540
+ Detect base branch:
541
+ ```bash
542
+ BASE_BRANCH=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-get git.base_branch 2>/dev/null || echo "")
543
+ if [ -z "$BASE_BRANCH" ] || [ "$BASE_BRANCH" = "null" ]; then
544
+ BASE_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|^refs/remotes/origin/||')
545
+ BASE_BRANCH="${BASE_BRANCH:-main}"
546
+ fi
547
+ ```
548
+
537
549
  **If "none":** Skip to git_tag.
538
550
 
539
551
  **For "phase" strategy:**
@@ -572,7 +584,7 @@ question with options: Squash merge (Recommended), Merge with history, Delete wi
572
584
 
573
585
  ```bash
574
586
  CURRENT_BRANCH=$(git branch --show-current)
575
- git checkout main
587
+ git checkout ${BASE_BRANCH}
576
588
 
577
589
  if [ "$BRANCHING_STRATEGY" = "phase" ]; then
578
590
  for branch in $PHASE_BRANCHES; do
@@ -601,7 +613,7 @@ git checkout "$CURRENT_BRANCH"
601
613
 
602
614
  ```bash
603
615
  CURRENT_BRANCH=$(git branch --show-current)
604
- git checkout main
616
+ git checkout ${BASE_BRANCH}
605
617
 
606
618
  if [ "$BRANCHING_STRATEGY" = "phase" ]; then
607
619
  for branch in $PHASE_BRANCHES; do
@@ -707,9 +719,9 @@ Tag: v[X.Y]
707
719
 
708
720
  **Start Next Milestone** — questioning → research → requirements → roadmap
709
721
 
710
- `/gsd-new-milestone`
722
+ `/new` then:
711
723
 
712
- *`/new` first → fresh context window*
724
+ `/gsd-new-milestone`
713
725
 
714
726
  ---
715
727
  ```
@@ -1,10 +1,15 @@
1
- <purpose>
1
+ <objective>
2
2
  Orchestrate parallel debug agents to investigate UAT gaps and find root causes.
3
3
 
4
4
  After UAT finds gaps, spawn one debug agent per gap. Each agent investigates autonomously with symptoms pre-filled from UAT. Collect root causes, update UAT.md gaps with diagnosis, then hand off to plan-phase --gaps with actual diagnoses.
5
5
 
6
6
  Orchestrator stays lean: parse gaps, spawn agents, collect results, update UAT.
7
- </purpose>
7
+ </objective>
8
+
9
+ <available_agent_types>
10
+ Valid GSD subagent types (use exact names — do not fall back to 'general'):
11
+ - gsd-debugger — Diagnoses and fixes issues
12
+ </available_agent_types>
8
13
 
9
14
  <paths>
10
15
  DEBUG_DIR=.planning/debug
@@ -50,6 +55,12 @@ gaps = [
50
55
  </step>
51
56
 
52
57
  <step name="report_plan">
58
+ **read worktree config:**
59
+
60
+ ```bash
61
+ USE_WORKTREES=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-get workflow.use_worktrees 2>/dev/null || echo "true")
62
+ ```
63
+
53
64
  **Report diagnosis plan to user:**
54
65
 
55
66
  ```
@@ -73,16 +84,19 @@ This runs in parallel - all gaps investigated simultaneously.
73
84
  </step>
74
85
 
75
86
  <step name="spawn_agents">
87
+ **Load agent skills:**
88
+
89
+ ```bash
90
+ AGENT_SKILLS_DEBUGGER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-debugger 2>/dev/null)
91
+ EXPECTED_BASE=$(git rev-parse HEAD)
92
+ ```
93
+
76
94
  **Spawn debug agents in parallel:**
77
95
 
78
96
  For each gap, fill the debug-subagent-prompt template and spawn:
79
97
 
80
98
  ```
81
- task(
82
- prompt=filled_debug_subagent_prompt + "\n\n<files_to_read>\n- {phase_dir}/{phase_num}-UAT.md\n- .planning/STATE.md\n</files_to_read>",
83
- subagent_type="gsd-debugger",
84
- description="Debug: {truth_short}"
85
- )
99
+ @gsd-debugger filled_debug_subagent_prompt + "\n\n<worktree_branch_check>\nFIRST ACTION: run git merge-base HEAD {EXPECTED_BASE} — if result differs from {EXPECTED_BASE}, run git reset --soft {EXPECTED_BASE} to correct the branch base (fixes Windows EnterWorktree creating branches from main).\n</worktree_branch_check>\n\n<files_to_read>\n- {phase_dir}/{phase_num}-UAT.md\n- .planning/STATE.md\n</files_to_read>\n${AGENT_SKILLS_DEBUGGER}"
86
100
  ```
87
101
 
88
102
  **All agents spawn in single message** (parallel execution).
@@ -1,11 +1,11 @@
1
- <purpose>
1
+ <objective>
2
2
  Execute discovery at the appropriate depth level.
3
3
  Produces DISCOVERY.md (for Level 2-3) that informs PLAN.md creation.
4
4
 
5
5
  Called from plan-phase.md's mandatory_discovery step with a depth parameter.
6
6
 
7
7
  NOTE: For comprehensive ecosystem research ("how do experts build this"), use /gsd-research-phase instead, which produces RESEARCH.md.
8
- </purpose>
8
+ </objective>
9
9
 
10
10
  <depth_levels>
11
11
  **This workflow supports three depth levels:**