aether-colony 5.0.0 → 5.1.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 (312) hide show
  1. package/.aether/aether-utils.sh +3150 -3349
  2. package/.aether/agents-claude/aether-ambassador.md +265 -0
  3. package/.aether/agents-claude/aether-archaeologist.md +327 -0
  4. package/.aether/agents-claude/aether-architect.md +236 -0
  5. package/.aether/agents-claude/aether-auditor.md +271 -0
  6. package/.aether/agents-claude/aether-builder.md +224 -0
  7. package/.aether/agents-claude/aether-chaos.md +269 -0
  8. package/.aether/agents-claude/aether-chronicler.md +305 -0
  9. package/.aether/agents-claude/aether-gatekeeper.md +330 -0
  10. package/.aether/agents-claude/aether-includer.md +374 -0
  11. package/.aether/agents-claude/aether-keeper.md +272 -0
  12. package/.aether/agents-claude/aether-measurer.md +322 -0
  13. package/.aether/agents-claude/aether-oracle.md +237 -0
  14. package/.aether/agents-claude/aether-probe.md +211 -0
  15. package/.aether/agents-claude/aether-queen.md +330 -0
  16. package/.aether/agents-claude/aether-route-setter.md +178 -0
  17. package/.aether/agents-claude/aether-sage.md +418 -0
  18. package/.aether/agents-claude/aether-scout.md +179 -0
  19. package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
  20. package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
  21. package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
  22. package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
  23. package/.aether/agents-claude/aether-tracker.md +270 -0
  24. package/.aether/agents-claude/aether-watcher.md +280 -0
  25. package/.aether/agents-claude/aether-weaver.md +248 -0
  26. package/.aether/commands/archaeology.yaml +653 -0
  27. package/.aether/commands/build.yaml +1221 -0
  28. package/.aether/commands/chaos.yaml +653 -0
  29. package/.aether/commands/colonize.yaml +438 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +304 -0
  32. package/.aether/commands/data-clean.yaml +80 -0
  33. package/.aether/commands/dream.yaml +275 -0
  34. package/.aether/commands/entomb.yaml +863 -0
  35. package/.aether/commands/export-signals.yaml +64 -0
  36. package/.aether/commands/feedback.yaml +158 -0
  37. package/.aether/commands/flag.yaml +160 -0
  38. package/.aether/commands/flags.yaml +177 -0
  39. package/.aether/commands/focus.yaml +112 -0
  40. package/.aether/commands/help.yaml +167 -0
  41. package/.aether/commands/history.yaml +137 -0
  42. package/.aether/commands/import-signals.yaml +79 -0
  43. package/.aether/commands/init.yaml +469 -0
  44. package/.aether/commands/insert-phase.yaml +98 -0
  45. package/.aether/commands/interpret.yaml +285 -0
  46. package/.aether/commands/lay-eggs.yaml +224 -0
  47. package/.aether/commands/maturity.yaml +122 -0
  48. package/.aether/commands/memory-details.yaml +74 -0
  49. package/.aether/commands/migrate-state.yaml +174 -0
  50. package/.aether/commands/oracle.yaml +1224 -0
  51. package/.aether/commands/organize.yaml +446 -0
  52. package/.aether/commands/patrol.yaml +621 -0
  53. package/.aether/commands/pause-colony.yaml +424 -0
  54. package/.aether/commands/phase.yaml +124 -0
  55. package/.aether/commands/pheromones.yaml +153 -0
  56. package/.aether/commands/plan.yaml +1313 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/redirect.yaml +123 -0
  59. package/.aether/commands/resume-colony.yaml +373 -0
  60. package/.aether/commands/resume.yaml +398 -0
  61. package/.aether/commands/run.yaml +193 -0
  62. package/.aether/commands/seal.yaml +1205 -0
  63. package/.aether/commands/skill-create.yaml +337 -0
  64. package/.aether/commands/status.yaml +364 -0
  65. package/.aether/commands/swarm.yaml +352 -0
  66. package/.aether/commands/tunnels.yaml +814 -0
  67. package/.aether/commands/update.yaml +131 -0
  68. package/.aether/commands/verify-castes.yaml +159 -0
  69. package/.aether/commands/watch.yaml +454 -0
  70. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  71. package/.aether/docs/QUEEN-SYSTEM.md +11 -11
  72. package/.aether/docs/README.md +32 -2
  73. package/.aether/docs/command-playbooks/README.md +23 -0
  74. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  75. package/.aether/docs/command-playbooks/build-context.md +282 -0
  76. package/.aether/docs/command-playbooks/build-full.md +1682 -0
  77. package/.aether/docs/command-playbooks/build-prep.md +283 -0
  78. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  79. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  80. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  81. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  82. package/.aether/docs/command-playbooks/continue-full.md +1724 -0
  83. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  84. package/.aether/docs/command-playbooks/continue-verify.md +406 -0
  85. package/.aether/docs/context-continuity.md +84 -0
  86. package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
  87. package/.aether/docs/error-codes.md +1 -1
  88. package/.aether/docs/known-issues.md +34 -173
  89. package/.aether/docs/pheromones.md +86 -6
  90. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  91. package/.aether/docs/queen-commands.md +10 -9
  92. package/.aether/docs/source-of-truth-map.md +132 -0
  93. package/.aether/docs/xml-utilities.md +47 -0
  94. package/.aether/rules/aether-colony.md +23 -13
  95. package/.aether/scripts/incident-test-add.sh +47 -0
  96. package/.aether/scripts/weekly-audit.sh +79 -0
  97. package/.aether/skills/.index.json +649 -0
  98. package/.aether/skills/colony/.manifest.json +16 -0
  99. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  100. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  101. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  102. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  103. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  104. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  105. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  106. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  107. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  108. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  109. package/.aether/skills/domain/.manifest.json +24 -0
  110. package/.aether/skills/domain/README.md +33 -0
  111. package/.aether/skills/domain/django/SKILL.md +49 -0
  112. package/.aether/skills/domain/docker/SKILL.md +52 -0
  113. package/.aether/skills/domain/golang/SKILL.md +52 -0
  114. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  115. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  116. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  117. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  118. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  119. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  120. package/.aether/skills/domain/python/SKILL.md +50 -0
  121. package/.aether/skills/domain/rails/SKILL.md +52 -0
  122. package/.aether/skills/domain/react/SKILL.md +45 -0
  123. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  124. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  125. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  126. package/.aether/skills/domain/testing/SKILL.md +53 -0
  127. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  128. package/.aether/skills/domain/vue/SKILL.md +49 -0
  129. package/.aether/templates/QUEEN.md.template +23 -41
  130. package/.aether/templates/colony-state-reset.jq.template +1 -0
  131. package/.aether/templates/colony-state.template.json +4 -0
  132. package/.aether/templates/learning-observations.template.json +6 -0
  133. package/.aether/templates/midden.template.json +13 -0
  134. package/.aether/templates/pheromones.template.json +6 -0
  135. package/.aether/templates/session.template.json +9 -0
  136. package/.aether/utils/atomic-write.sh +63 -17
  137. package/.aether/utils/chamber-utils.sh +145 -2
  138. package/.aether/utils/emoji-audit.sh +166 -0
  139. package/.aether/utils/error-handler.sh +21 -7
  140. package/.aether/utils/file-lock.sh +182 -27
  141. package/.aether/utils/flag.sh +267 -0
  142. package/.aether/utils/hive.sh +572 -0
  143. package/.aether/utils/learning.sh +1928 -0
  144. package/.aether/utils/midden.sh +342 -0
  145. package/.aether/utils/oracle/oracle.md +168 -0
  146. package/.aether/utils/oracle/oracle.sh +1023 -0
  147. package/.aether/utils/pheromone.sh +2029 -0
  148. package/.aether/utils/queen.sh +1698 -0
  149. package/.aether/utils/scan.sh +860 -0
  150. package/.aether/utils/semantic-cli.sh +10 -8
  151. package/.aether/utils/session.sh +552 -0
  152. package/.aether/utils/skills.sh +509 -0
  153. package/.aether/utils/spawn-tree.sh +103 -271
  154. package/.aether/utils/spawn.sh +260 -0
  155. package/.aether/utils/state-api.sh +199 -0
  156. package/.aether/utils/state-loader.sh +8 -6
  157. package/.aether/utils/suggest.sh +611 -0
  158. package/.aether/utils/swarm-display.sh +10 -1
  159. package/.aether/utils/swarm.sh +1004 -0
  160. package/.aether/utils/watch-spawn-tree.sh +11 -2
  161. package/.aether/utils/xml-compose.sh +2 -2
  162. package/.aether/utils/xml-convert.sh +9 -5
  163. package/.aether/utils/xml-core.sh +5 -9
  164. package/.aether/utils/xml-query.sh +4 -4
  165. package/.aether/workers.md +86 -67
  166. package/.claude/agents/ant/aether-ambassador.md +2 -1
  167. package/.claude/agents/ant/aether-archaeologist.md +6 -1
  168. package/.claude/agents/ant/aether-architect.md +236 -0
  169. package/.claude/agents/ant/aether-auditor.md +6 -1
  170. package/.claude/agents/ant/aether-builder.md +38 -1
  171. package/.claude/agents/ant/aether-chaos.md +2 -1
  172. package/.claude/agents/ant/aether-chronicler.md +1 -0
  173. package/.claude/agents/ant/aether-gatekeeper.md +6 -1
  174. package/.claude/agents/ant/aether-includer.md +1 -0
  175. package/.claude/agents/ant/aether-keeper.md +1 -0
  176. package/.claude/agents/ant/aether-measurer.md +6 -1
  177. package/.claude/agents/ant/aether-oracle.md +237 -0
  178. package/.claude/agents/ant/aether-probe.md +2 -1
  179. package/.claude/agents/ant/aether-queen.md +6 -1
  180. package/.claude/agents/ant/aether-route-setter.md +6 -1
  181. package/.claude/agents/ant/aether-sage.md +68 -3
  182. package/.claude/agents/ant/aether-scout.md +38 -1
  183. package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
  184. package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
  185. package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
  186. package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
  187. package/.claude/agents/ant/aether-tracker.md +6 -1
  188. package/.claude/agents/ant/aether-watcher.md +37 -1
  189. package/.claude/agents/ant/aether-weaver.md +2 -1
  190. package/.claude/commands/ant/archaeology.md +1 -8
  191. package/.claude/commands/ant/build.md +43 -1159
  192. package/.claude/commands/ant/chaos.md +1 -14
  193. package/.claude/commands/ant/colonize.md +1 -14
  194. package/.claude/commands/ant/continue.md +40 -1026
  195. package/.claude/commands/ant/council.md +9 -16
  196. package/.claude/commands/ant/data-clean.md +81 -0
  197. package/.claude/commands/ant/dream.md +12 -9
  198. package/.claude/commands/ant/entomb.md +62 -87
  199. package/.claude/commands/ant/export-signals.md +57 -0
  200. package/.claude/commands/ant/feedback.md +18 -0
  201. package/.claude/commands/ant/flag.md +12 -0
  202. package/.claude/commands/ant/flags.md +22 -8
  203. package/.claude/commands/ant/focus.md +18 -0
  204. package/.claude/commands/ant/help.md +40 -8
  205. package/.claude/commands/ant/history.md +3 -0
  206. package/.claude/commands/ant/import-signals.md +71 -0
  207. package/.claude/commands/ant/init.md +316 -191
  208. package/.claude/commands/ant/insert-phase.md +101 -0
  209. package/.claude/commands/ant/interpret.md +11 -0
  210. package/.claude/commands/ant/lay-eggs.md +167 -158
  211. package/.claude/commands/ant/maturity.md +22 -11
  212. package/.claude/commands/ant/memory-details.md +77 -0
  213. package/.claude/commands/ant/migrate-state.md +6 -0
  214. package/.claude/commands/ant/oracle.md +317 -62
  215. package/.claude/commands/ant/organize.md +10 -5
  216. package/.claude/commands/ant/patrol.md +620 -0
  217. package/.claude/commands/ant/pause-colony.md +8 -22
  218. package/.claude/commands/ant/phase.md +26 -37
  219. package/.claude/commands/ant/pheromones.md +156 -0
  220. package/.claude/commands/ant/plan.md +175 -52
  221. package/.claude/commands/ant/preferences.md +65 -0
  222. package/.claude/commands/ant/redirect.md +18 -0
  223. package/.claude/commands/ant/resume-colony.md +34 -20
  224. package/.claude/commands/ant/resume.md +51 -7
  225. package/.claude/commands/ant/run.md +195 -0
  226. package/.claude/commands/ant/seal.md +497 -78
  227. package/.claude/commands/ant/skill-create.md +286 -0
  228. package/.claude/commands/ant/status.md +127 -1
  229. package/.claude/commands/ant/swarm.md +11 -23
  230. package/.claude/commands/ant/tunnels.md +1 -0
  231. package/.claude/commands/ant/update.md +58 -135
  232. package/.claude/commands/ant/verify-castes.md +90 -42
  233. package/.claude/commands/ant/watch.md +1 -0
  234. package/.opencode/agents/aether-ambassador.md +1 -1
  235. package/.opencode/agents/aether-architect.md +133 -0
  236. package/.opencode/agents/aether-builder.md +3 -3
  237. package/.opencode/agents/aether-oracle.md +137 -0
  238. package/.opencode/agents/aether-queen.md +1 -1
  239. package/.opencode/agents/aether-route-setter.md +1 -1
  240. package/.opencode/agents/aether-scout.md +1 -1
  241. package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
  242. package/.opencode/agents/aether-surveyor-nest.md +6 -1
  243. package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
  244. package/.opencode/agents/aether-surveyor-provisions.md +6 -1
  245. package/.opencode/agents/aether-tracker.md +1 -1
  246. package/.opencode/agents/aether-watcher.md +1 -1
  247. package/.opencode/agents/aether-weaver.md +1 -1
  248. package/.opencode/commands/ant/archaeology.md +7 -14
  249. package/.opencode/commands/ant/build.md +54 -88
  250. package/.opencode/commands/ant/chaos.md +7 -24
  251. package/.opencode/commands/ant/colonize.md +8 -17
  252. package/.opencode/commands/ant/continue.md +595 -66
  253. package/.opencode/commands/ant/council.md +11 -22
  254. package/.opencode/commands/ant/data-clean.md +77 -0
  255. package/.opencode/commands/ant/dream.md +15 -17
  256. package/.opencode/commands/ant/entomb.md +28 -18
  257. package/.opencode/commands/ant/export-signals.md +54 -0
  258. package/.opencode/commands/ant/feedback.md +24 -5
  259. package/.opencode/commands/ant/flag.md +16 -4
  260. package/.opencode/commands/ant/flags.md +24 -10
  261. package/.opencode/commands/ant/focus.md +22 -5
  262. package/.opencode/commands/ant/help.md +41 -8
  263. package/.opencode/commands/ant/history.md +9 -0
  264. package/.opencode/commands/ant/import-signals.md +68 -0
  265. package/.opencode/commands/ant/init.md +365 -156
  266. package/.opencode/commands/ant/insert-phase.md +107 -0
  267. package/.opencode/commands/ant/interpret.md +16 -0
  268. package/.opencode/commands/ant/lay-eggs.md +184 -112
  269. package/.opencode/commands/ant/maturity.md +18 -2
  270. package/.opencode/commands/ant/memory-details.md +83 -0
  271. package/.opencode/commands/ant/migrate-state.md +12 -0
  272. package/.opencode/commands/ant/oracle.md +322 -67
  273. package/.opencode/commands/ant/organize.md +14 -12
  274. package/.opencode/commands/ant/patrol.md +626 -0
  275. package/.opencode/commands/ant/pause-colony.md +12 -29
  276. package/.opencode/commands/ant/phase.md +30 -40
  277. package/.opencode/commands/ant/pheromones.md +162 -0
  278. package/.opencode/commands/ant/plan.md +184 -56
  279. package/.opencode/commands/ant/preferences.md +71 -0
  280. package/.opencode/commands/ant/redirect.md +22 -5
  281. package/.opencode/commands/ant/resume-colony.md +38 -27
  282. package/.opencode/commands/ant/resume.md +71 -20
  283. package/.opencode/commands/ant/run.md +201 -0
  284. package/.opencode/commands/ant/seal.md +230 -25
  285. package/.opencode/commands/ant/skill-create.md +63 -0
  286. package/.opencode/commands/ant/status.md +124 -31
  287. package/.opencode/commands/ant/swarm.md +3 -345
  288. package/.opencode/commands/ant/tunnels.md +3 -9
  289. package/.opencode/commands/ant/update.md +63 -127
  290. package/.opencode/commands/ant/verify-castes.md +96 -42
  291. package/.opencode/commands/ant/watch.md +7 -0
  292. package/CHANGELOG.md +278 -1
  293. package/README.md +188 -340
  294. package/bin/cli.js +236 -429
  295. package/bin/generate-commands.js +186 -0
  296. package/bin/generate-commands.sh +128 -89
  297. package/bin/lib/spawn-logger.js +0 -15
  298. package/bin/lib/update-transaction.js +285 -35
  299. package/bin/npx-install.js +178 -0
  300. package/bin/validate-package.sh +85 -3
  301. package/package.json +7 -3
  302. package/.aether/CONTEXT.md +0 -160
  303. package/.aether/docs/QUEEN.md +0 -84
  304. package/.aether/exchange/colony-registry.xml +0 -11
  305. package/.aether/exchange/pheromones.xml +0 -87
  306. package/.aether/exchange/queen-wisdom.xml +0 -14
  307. package/.aether/model-profiles.yaml +0 -100
  308. package/.aether/utils/spawn-with-model.sh +0 -56
  309. package/bin/lib/model-profiles.js +0 -445
  310. package/bin/lib/model-verify.js +0 -288
  311. package/bin/lib/proxy-health.js +0 -253
  312. package/bin/lib/telemetry.js +0 -441
@@ -1,18 +1,19 @@
1
+ <!-- Generated from .aether/commands/phase.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:phase
3
4
  description: "📝🐜📍🐜📝 Show phase details - Queen reviews phase status, tasks, and caste assignment"
4
5
  ---
5
6
 
6
- You are the **Queen Ant Colony**. Display phase details from the project plan.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen Ant Colony**. Display phase details from the project plan.
14
+
15
+ ## Instructions
16
+
16
17
  The argument is: `$normalized_args`
17
18
 
18
19
  ### Step 1: Read State
@@ -40,11 +41,13 @@ Find the phase by ID in `plan.phases`.
40
41
 
41
42
  Output this header:
42
43
 
44
+
45
+
43
46
  ```
44
47
  📝🐜📍🐜📝 ═══════════════════════════════════════════════════
45
48
  P H A S E {id} D E T A I L S
46
49
  ═══════════════════════════════════════════════════ 📝🐜📍🐜📝
47
- ```
50
+
48
51
 
49
52
  Then display:
50
53
 
@@ -61,63 +64,50 @@ Then display:
61
64
  ✅ Success Criteria:
62
65
  • <criterion>
63
66
 
64
- ─────────────────────────────────────────────────────
67
+ ───────────────────────────────────────────────────
68
+
69
+
65
70
  🐜 Next Steps:
71
+
72
+ ───────────────────────────────────────────────────
66
73
  /ant:build <id> 🔨 Phase <id>: <phase_name>
67
74
  /ant:phase <next_id> 📋 Phase <next_id>: <next_phase_name> (only if not last phase)
68
75
  /ant:status 📊 Colony status
69
76
  ```
70
77
 
78
+
79
+
71
80
  Status icons: `[ ]` pending, `[~]` in_progress, `[✓]` completed
72
81
 
73
82
  ### Step 3b: List View
74
83
 
75
84
  Output this header:
76
85
 
86
+
87
+
77
88
  ```
78
89
  📝🐜📍🐜📝 ═══════════════════════════════════════════════════
79
90
  A L L P H A S E S
80
91
  ═══════════════════════════════════════════════════ 📝🐜📍🐜📝
81
- ```
82
92
 
83
- Then display all phases as a summary:
84
93
 
94
+ For each phase in `plan.phases`, display:
85
95
  ```
86
- 👑 Goal: "<goal>"
87
-
88
- {icon} Phase <id>: <name>
89
- <completed>/<total> tasks | <status>
90
-
91
- (repeat for each phase)
92
-
93
- ─────────────────────────────────────────────────────
94
- Legend: [✓] completed [~] in progress [ ] pending
95
-
96
- 🐜 /ant:phase <id> for details
96
+ [{id}] {name} [{status}]
97
+ {short_description}
97
98
  ```
98
99
 
99
- ### Step 4: Update Handoff (Optional)
100
-
101
- After displaying phase details, offer to update the handoff document with review notes:
102
-
103
- Use AskUserQuestion:
100
+ Display phases grouped by status:
104
101
  ```
105
- Update handoff with phase review notes?
106
-
107
- 1. Yes — add notes about blockers or decisions
108
- 2. No — continue without updating
102
+ Completed
103
+ [{id}] {name}
104
+ ~ In Progress
105
+ [{id}] {name}
106
+ [ ] Pending
107
+ [{id}] {name}
109
108
  ```
110
109
 
111
- If option 1 selected:
112
- Use AskUserQuestion to collect notes, then append to handoff:
113
-
114
- ```bash
115
- cat >> .aether/HANDOFF.md << 'HANDOFF_EOF'
116
-
117
- ## Phase {id} Review Notes
118
- - Reviewed: $(date -u +%Y-%m-%dT%H:%M:%SZ)
119
- - Notes: {user_notes}
120
- HANDOFF_EOF
110
+ Display completion progress:
111
+ ```
112
+ 📊 Overall: {completed_count}/{total_count} phases complete
121
113
  ```
122
-
123
- Display: `Handoff updated with review notes.`
@@ -0,0 +1,162 @@
1
+ <!-- Generated from .aether/commands/pheromones.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:pheromones
4
+ description: "🎯🐜🚫🐜💬 View and manage active pheromone signals"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen**. Display and manage the colony's pheromone signals.
14
+
15
+ ## Instructions
16
+
17
+ Parse `$normalized_args`:
18
+ - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
19
+ - Otherwise: set `visual_mode = true`
20
+
21
+ Extract subcommand from `$normalized_args`:
22
+ - No argument or `all`: Show all active pheromones
23
+ - `focus`: Show only FOCUS signals
24
+ - `redirect`: Show only REDIRECT signals
25
+ - `feedback`: Show only FEEDBACK signals
26
+ - `clear`: Clear expired/inactive signals
27
+ - `expire <id>`: Expire a specific signal by ID
28
+
29
+ ### Step 1: Read Colony State
30
+
31
+ Read `.aether/data/COLONY_STATE.json`.
32
+
33
+ If file missing or `goal: null`:
34
+ ```
35
+ No colony initialized. Run /ant:init first.
36
+ ```
37
+ Stop here.
38
+
39
+ ### Step 2: Handle Subcommands
40
+
41
+ **If subcommand is `clear`:**
42
+
43
+ Run using the Bash tool:
44
+ ```bash
45
+ # Count signals before
46
+ before_count=$(jq '[.signals[] | select(.active == true)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
47
+
48
+ # Mark expired/inactive signals as inactive
49
+ now=$(date +%s)
50
+ jq --argjson now "$now" '
51
+ def to_epoch(ts):
52
+ if ts == null or ts == "" or ts == "phase_end" then null
53
+ else
54
+ (ts | split("T")) as $parts |
55
+ ($parts[0] | split("-")) as $d |
56
+ ($parts[1] | rtrimstr("Z") | split(":")) as $t |
57
+ (($d[0] | tonumber) - 1970) * 365 * 86400 +
58
+ (($d[1] | tonumber) - 1) * 30 * 86400 +
59
+ (($d[2] | tonumber) - 1) * 86400 +
60
+ ($t[0] | tonumber) * 3600 +
61
+ ($t[1] | tonumber) * 60 +
62
+ ($t[2] | rtrimstr("Z") | tonumber)
63
+ end;
64
+
65
+ def decay_days(t):
66
+ if t == "FOCUS" then 30
67
+ elif t == "REDIRECT" then 60
68
+ else 90
69
+ end;
70
+
71
+ .signals = [.signals[] |
72
+ (to_epoch(.created_at)) as $created_epoch |
73
+ (if $created_epoch != null then ($now - $created_epoch) / 86400 else 0 end) as $elapsed_days |
74
+ (decay_days(.type)) as $dd |
75
+ ((.strength // 0.8) * (1 - ($elapsed_days / $dd))) as $eff_raw |
76
+ (if $eff_raw < 0 then 0 else $eff_raw end) as $eff |
77
+ if $eff < 0.1 then . + {active: false} else . end
78
+ ]
79
+ ' .aether/data/pheromones.json > .aether/data/pheromones.json.tmp && mv .aether/data/pheromones.json.tmp .aether/data/pheromones.json
80
+
81
+ # Count signals after
82
+ after_count=$(jq '[.signals[] | select(.active == true)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
83
+ cleared=$((before_count - after_count))
84
+
85
+ echo "before=$before_count after=$after_count cleared=$cleared"
86
+ ```
87
+
88
+ Display:
89
+ ```
90
+ 🧹 Pheromone Cleanup
91
+
92
+ Before: {before_count} active signals
93
+ After: {after_count} active signals
94
+ Cleared: {cleared} expired signal(s)
95
+
96
+ Run /ant:pheromones to see remaining signals.
97
+ ```
98
+ Stop here.
99
+
100
+ **If subcommand is `expire <id>`:**
101
+
102
+ Extract the signal ID from arguments.
103
+ Run using the Bash tool:
104
+ ```bash
105
+ signal_id="{extracted_id}"
106
+ jq --arg id "$signal_id" '.signals = [.signals[] | if .id == $id then . + {active: false} else . end]' .aether/data/pheromones.json > .aether/data/pheromones.json.tmp && mv .aether/data/pheromones.json.tmp .aether/data/pheromones.json && echo "expired=$signal_id"
107
+ ```
108
+
109
+ Display:
110
+ ```
111
+ ✓ Signal expired: {signal_id}
112
+
113
+ Run /ant:pheromones to see remaining signals.
114
+ ```
115
+ Stop here.
116
+
117
+ ### Step 3: Display Active Pheromones (default or filter)
118
+
119
+ Run using the Bash tool with description "Displaying pheromones...":
120
+ ```bash
121
+ bash .aether/aether-utils.sh pheromone-display "{subcommand or 'all'}"
122
+ ```
123
+
124
+ The output will be the formatted pheromone table.
125
+
126
+ ### Step 4: Summary and Next Steps
127
+
128
+ Display guidance:
129
+ ```
130
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
131
+
132
+ 💡 Managing Pheromones
133
+
134
+ /ant:focus "area" 🎯 Guide attention
135
+ /ant:redirect "avoid" 🚫 Set hard constraint
136
+ /ant:feedback "note" 💬 Provide guidance
137
+ /ant:pheromones clear 🧹 Clear expired signals
138
+
139
+ 🐜 Signals decay over time: FOCUS 30d, REDIRECT 60d, FEEDBACK 90d
140
+ ```
141
+
142
+ ### Edge Cases
143
+
144
+ **No pheromones file:**
145
+ ```
146
+ No pheromones active. Colony has no signals.
147
+
148
+ Inject signals with:
149
+ /ant:focus "area" - Guide attention
150
+ /ant:redirect "avoid" - Set hard constraint
151
+ /ant:feedback "note" - Provide guidance
152
+ ```
153
+
154
+ **No active signals of filtered type:**
155
+ ```
156
+ No active {type} signals found.
157
+
158
+ Try: /ant:pheromones (to see all)
159
+ ```
160
+
161
+ **Invalid subcommand:**
162
+ Display help showing valid subcommands.
@@ -1,41 +1,25 @@
1
+ <!-- Generated from .aether/commands/plan.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:plan
3
4
  description: "📊🐜🗺️🐜📊 Show project plan or generate project-specific phases"
4
5
  ---
5
6
 
6
- You are the **Queen**. Orchestrate research and planning until 80% confidence (maximum 4 iterations).
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
16
- Parse `$normalized_args`:
17
- - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
18
- - Otherwise: set `visual_mode = true`
19
-
20
- ### Step 0: Initialize Visual Mode (if enabled)
21
13
 
22
- If `visual_mode` is true:
23
- ```bash
24
- # Generate session ID
25
- plan_id="plan-$(date +%s)"
14
+ You are the **Queen**. Orchestrate research and planning until the selected confidence target is reached within the selected iteration budget.
26
15
 
27
- # Initialize swarm display
28
- bash .aether/aether-utils.sh swarm-display-init "$plan_id"
29
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Generating colony plan" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
30
- ```
31
-
32
- ### Step 0.5: Version Check (Non-blocking)
33
-
34
- Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
16
+ ## Instructions
35
17
 
36
- If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
18
+ Parse `$normalized_args`:
19
+ - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
20
+ - Otherwise: set `visual_mode = true`
37
21
 
38
- ### Step 1: Read State + Version Check
22
+ ### Step 1: Read State
39
23
 
40
24
  Read `.aether/data/COLONY_STATE.json`.
41
25
 
@@ -86,6 +70,33 @@ Parse `$normalized_args`:
86
70
  - If contains `--accept`: Set `force_accept = true` (accept current plan regardless of confidence)
87
71
  - Otherwise: `force_accept = false`
88
72
 
73
+ Select planning depth (prompt user if not explicitly provided):
74
+ - Presets:
75
+ - `fast`: `target_confidence = 80`, `max_iterations = 4`
76
+ - `balanced`: `target_confidence = 90`, `max_iterations = 6`
77
+ - `deep`: `target_confidence = 95`, `max_iterations = 8`
78
+ - `exhaustive`: `target_confidence = 99`, `max_iterations = 12`
79
+ - Preset selectors:
80
+ - `--fast`, `--balanced`, `--deep`, `--exhaustive`
81
+ - `--quality fast|balanced|deep|exhaustive`
82
+ - CLI overrides:
83
+ - `--target <70-99>` to set `target_confidence`
84
+ - `--max-iterations <2-12>` to set `max_iterations`
85
+ - If no preset/overrides are provided, ask:
86
+ `Planning depth? 1) Fast 2) Balanced 3) Deep (recommended) 4) Exhaustive`
87
+ - Map user choice to a preset, default to `deep` on unclear input.
88
+ - If overrides are out of range, clamp to valid ranges and continue.
89
+
90
+ ### Step 2.5: Load Compact Context Capsule
91
+
92
+ Run using the Bash tool with description "Loading compact planning context...":
93
+ ```bash
94
+ bash .aether/aether-utils.sh context-capsule --compact --json 2>/dev/null
95
+ ```
96
+
97
+ If JSON is valid and `.ok == true`, extract `.result.prompt_section` into `context_capsule_prompt`.
98
+ If command fails or returns invalid JSON, set `context_capsule_prompt = ""` and continue.
99
+
89
100
  ### Step 3: Initialize Planning State
90
101
 
91
102
  Update watch files for tmux visibility:
@@ -98,7 +109,7 @@ AETHER COLONY :: PLANNING
98
109
  State: PLANNING
99
110
  Phase: 0/0 (generating plan)
100
111
  Confidence: 0%
101
- Iteration: 0/4
112
+ Iteration: 0/{max_iterations}
102
113
 
103
114
  Active Workers:
104
115
  [Research] Starting...
@@ -115,17 +126,12 @@ Progress
115
126
 
116
127
  [ ] 0%
117
128
 
118
- Target: 80% confidence
129
+ Target: {target_confidence}% confidence
119
130
 
120
- Iteration: 0/4
131
+ Iteration: 0/{max_iterations}
121
132
  Gaps: (analyzing...)
122
133
  ```
123
134
 
124
- Log start:
125
- ```bash
126
- bash .aether/aether-utils.sh activity-log "PLAN_START" "queen" "Iterative planning loop initiated for goal"
127
- ```
128
-
129
135
  ### Step 3.5: Load Territory Survey
130
136
 
131
137
  Check if territory survey exists before research:
@@ -160,6 +166,129 @@ ls .aether/data/survey/*.md 2>/dev/null
160
166
 
161
167
  **If no survey:** Continue without survey context (scouts will do fresh exploration)
162
168
 
169
+ ### Step 3.6: Phase Domain Research
170
+
171
+ Investigate domain knowledge for each phase before the planning loop begins. This runs every time `/ant:plan` generates a new plan -- no skip flag.
172
+
173
+ **1. Retrieve hive wisdom for research priming:**
174
+
175
+ ```bash
176
+ hive_context=$(bash .aether/aether-utils.sh hive-read --limit 5 --format text 2>/dev/null)
177
+ ```
178
+
179
+ Parse the JSON result to extract `.result.text` as `hive_text`. If command fails or returns empty, set `hive_text = ""`.
180
+
181
+ **2. Clean any previous research for this phase:**
182
+
183
+ ```bash
184
+ research_dir=".aether/data/phase-research"
185
+ mkdir -p "$research_dir"
186
+ rm -f "$research_dir/phase-{phase_number}-research.md"
187
+ ```
188
+
189
+ Re-running /ant:plan always re-researches from scratch.
190
+
191
+ **3. Spawn Research Scout** via Task tool with `subagent_type="aether-scout"`:
192
+
193
+ FALLBACK: If "Agent type not found", use general-purpose and inject role: "You are a Scout Ant performing Phase Domain Research."
194
+
195
+ ```
196
+ You are a Scout Ant performing Phase Domain Research.
197
+
198
+ --- MISSION ---
199
+ Investigate the domain knowledge needed for Phase {phase_number}: {phase_name}
200
+ Goal: "{goal}"
201
+ Phase description: "{phase_description}"
202
+
203
+ {context_capsule_prompt}
204
+
205
+ --- PRE-EXISTING COLONY WISDOM ---
206
+ {hive_text}
207
+
208
+ --- RESEARCH AREAS ---
209
+ 1. Key patterns in the existing codebase relevant to this phase
210
+ 2. External library/API documentation if the phase involves external tools
211
+ 3. Common gotchas and pitfalls in this domain
212
+ 4. Recommended implementation approach based on findings
213
+
214
+ --- SCOPE CONSTRAINTS ---
215
+ - Maximum 5 key patterns
216
+ - Maximum 3 gotchas
217
+ - Maximum 1 recommended approach paragraph
218
+ - Total output under 3000 words
219
+ - Prioritize actionable guidance over exhaustive documentation
220
+ - Check hive wisdom above first -- do not re-discover known patterns
221
+
222
+ --- TOOLS ---
223
+ Use: Glob, Grep, Read, WebSearch, WebFetch
224
+ Do NOT use: Task, Write, Edit
225
+
226
+ --- OUTPUT FORMAT ---
227
+ Return JSON:
228
+ {
229
+ "hive_wisdom_used": ["list of hive entries that were relevant"],
230
+ "key_patterns": [
231
+ {"pattern": "description", "source": "file path or URL", "relevance": "why it matters for this phase"}
232
+ ],
233
+ "external_context": [
234
+ {"topic": "what", "finding": "description", "source": "URL or doc reference"}
235
+ ],
236
+ "gotchas": [
237
+ {"issue": "what can go wrong", "prevention": "how to avoid it", "source": "evidence"}
238
+ ],
239
+ "recommended_approach": "synthesis paragraph",
240
+ "files_to_study": ["path1", "path2"]
241
+ }
242
+ ```
243
+
244
+ **4. Wait for scout to complete** (blocking -- direct Task return).
245
+
246
+ **5. Parse scout JSON output and write RESEARCH.md to disk.** The Queen (plan.md orchestrator) writes the file -- scout is read-only. Write to: `.aether/data/phase-research/phase-{phase_number}-research.md`
247
+
248
+ RESEARCH.md format (6 fixed sections):
249
+
250
+ ```markdown
251
+ # Phase {N} Research: {Phase Name}
252
+
253
+ **Generated:** {ISO-8601 timestamp}
254
+ **Phase:** {N} - {Phase Name}
255
+ **Research scope:** {brief summary of what was investigated}
256
+
257
+ ## Hive Wisdom (Pre-existing Knowledge)
258
+ {Format hive_wisdom_used entries, or "No relevant hive wisdom found" if empty}
259
+
260
+ ## Key Patterns
261
+ {Format each key_patterns entry as: **{pattern}:** {relevance} (Source: {source})}
262
+
263
+ ## External Context
264
+ {Format each external_context entry as: **{topic}:** {finding} (Source: {source})}
265
+ {If empty: "No external research needed for this phase"}
266
+
267
+ ## Gotchas
268
+ {Format each gotchas entry as: **{issue}:** {prevention} (Source: {source})}
269
+
270
+ ## Recommended Approach
271
+ {recommended_approach text}
272
+
273
+ ## Files to Study
274
+ {Format as bullet list of file paths}
275
+ ```
276
+
277
+ **6. Store research findings** in a variable `research_findings_summary` for injection into the Route-Setter prompt in Step 4. This is a compact summary (not the full RESEARCH.md):
278
+
279
+ ```
280
+ Key Patterns: {bullet list of pattern names}
281
+ Gotchas: {bullet list of gotcha titles}
282
+ Recommended: {recommended_approach, first sentence only}
283
+ Files: {comma-separated file paths}
284
+ ```
285
+
286
+ **7. Display completion:**
287
+
288
+ ```
289
+ Research complete: phase-{phase_number}-research.md ({word_count} words)
290
+ ```
291
+
163
292
  ### Step 4: Research and Planning Loop
164
293
 
165
294
  Initialize tracking:
@@ -170,15 +299,15 @@ Initialize tracking:
170
299
  - `last_confidence = 0`
171
300
  - `stall_count = 0` (consecutive iterations with < 5% improvement)
172
301
 
173
- **Loop (max 4 iterations, 2 agents per iteration: 1 scout + 1 planner):**
302
+ **Loop (max {max_iterations} iterations, 2 agents per iteration: 1 scout + 1 planner):**
174
303
 
175
304
  ```
176
- while iteration < 4 AND confidence < 80:
305
+ while iteration < max_iterations AND confidence < target_confidence:
177
306
  iteration += 1
178
307
 
179
308
  # === AUTO-BREAK CHECKS (no user prompt needed) ===
180
309
  if iteration > 1:
181
- if confidence >= 80:
310
+ if confidence >= target_confidence:
182
311
  Log: "Confidence threshold reached ({confidence}%), finalizing plan"
183
312
  break
184
313
  if stall_count >= 2:
@@ -190,7 +319,7 @@ while iteration < 4 AND confidence < 80:
190
319
  if iteration == 1:
191
320
 
192
321
  # Broad exploration on first pass
193
- Spawn Research Scout via Task tool with subagent_type="general-purpose":
322
+ Spawn Research Scout via Task tool with subagent_type="aether-scout":
194
323
 
195
324
  """
196
325
  You are a Scout Ant in the Aether Colony.
@@ -199,7 +328,9 @@ while iteration < 4 AND confidence < 80:
199
328
  Research the codebase to understand what exists and how it works.
200
329
 
201
330
  Goal: "{goal}"
202
- Iteration: {iteration}/4
331
+ Iteration: {iteration}/{max_iterations}
332
+
333
+ {context_capsule_prompt}
203
334
 
204
335
  --- EXPLORATION AREAS ---
205
336
  Cover ALL of these in a single pass:
@@ -234,7 +365,7 @@ while iteration < 4 AND confidence < 80:
234
365
  else:
235
366
 
236
367
  # Gap-focused research on subsequent passes
237
- Spawn Gap-Focused Scout via Task tool with subagent_type="general-purpose":
368
+ Spawn Gap-Focused Scout via Task tool with subagent_type="aether-scout":
238
369
 
239
370
  """
240
371
  You are a Scout Ant in the Aether Colony (gap-focused research).
@@ -243,7 +374,9 @@ while iteration < 4 AND confidence < 80:
243
374
  Investigate ONLY these specific knowledge gaps. Do not explore broadly.
244
375
 
245
376
  Goal: "{goal}"
246
- Iteration: {iteration}/4
377
+ Iteration: {iteration}/{max_iterations}
378
+
379
+ {context_capsule_prompt}
247
380
 
248
381
  --- GAPS TO INVESTIGATE ---
249
382
  {for each gap in gaps:}
@@ -276,12 +409,10 @@ while iteration < 4 AND confidence < 80:
276
409
  # Wait for scout to complete.
277
410
  # Update gaps list from scout results.
278
411
 
279
- Log: `bash .aether/aether-utils.sh activity-log "RESEARCH" "scout" "Iteration {iteration}: {scout.findings.length} findings, {scout.gaps_remaining.length} gaps"`
280
-
281
412
  # === PLANNING PHASE (always runs — 1 planner per iteration) ===
282
413
 
283
- Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="general-purpose":
284
- # NOTE: Claude Code uses aether-route-setter; OpenCode uses general-purpose with role injection
414
+ Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="aether-route-setter":
415
+ # NOTE: Claude Code uses aether-route-setter; OpenCode now uses same specialist agent
285
416
 
286
417
  """
287
418
  You are a Route-Setter Ant in the Aether Colony.
@@ -290,7 +421,9 @@ while iteration < 4 AND confidence < 80:
290
421
  Create or refine a project plan based on research findings.
291
422
 
292
423
  Goal: "{goal}"
293
- Iteration: {iteration}/4
424
+ Iteration: {iteration}/{max_iterations}
425
+
426
+ {context_capsule_prompt}
294
427
 
295
428
  --- PLANNING DISCIPLINE ---
296
429
  Read .aether/planning.md for full reference.
@@ -329,6 +462,9 @@ while iteration < 4 AND confidence < 80:
329
462
  --- RESEARCH FINDINGS ---
330
463
  {scout.findings formatted — compact, max 5 items}
331
464
 
465
+ --- PHASE DOMAIN RESEARCH (from Step 3.6) ---
466
+ {research_findings_summary if available, otherwise omit this section}
467
+
332
468
  Remaining Gaps:
333
469
  {gaps formatted — compact, max 3 items}
334
470
 
@@ -390,8 +526,6 @@ while iteration < 4 AND confidence < 80:
390
526
 
391
527
  Parse planning results. Update plan_draft and confidence.
392
528
 
393
- Log: `bash .aether/aether-utils.sh activity-log "PLANNING" "route-setter" "Confidence: {confidence}% (+{delta}%)"`
394
-
395
529
  # === UPDATE WATCH FILES ===
396
530
 
397
531
  Update `.aether/data/watch-status.txt` with current state.
@@ -423,7 +557,7 @@ Proceed directly to Step 5. No user confirmation needed — the plan auto-finali
423
557
 
424
558
  ### Step 5: Finalize Plan
425
559
 
426
- Once loop exits (confidence >= 80, max iterations reached, or stall detected):
560
+ Once loop exits (confidence >= {target_confidence}, max iterations reached, or stall detected):
427
561
 
428
562
  Read current COLONY_STATE.json, then update:
429
563
  - Set `plan.phases` to the final phases array
@@ -433,7 +567,7 @@ Read current COLONY_STATE.json, then update:
433
567
 
434
568
  Write COLONY_STATE.json.
435
569
 
436
- Log: `bash .aether/aether-utils.sh activity-log "PLAN_COMPLETE" "queen" "Plan finalized with {confidence}% confidence"`
570
+ Log plan completion: `bash .aether/aether-utils.sh activity-log "PLAN_COMPLETE" "queen" "Plan finalized with {confidence}% confidence"`
437
571
 
438
572
  Update watch-status.txt:
439
573
  ```
@@ -449,12 +583,6 @@ Ready to build.
449
583
 
450
584
  ### Step 6: Display Plan
451
585
 
452
- **If visual_mode is true, render final swarm display:**
453
- ```bash
454
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Plan generated" "Colony" '{"read":8,"grep":4,"edit":2,"bash":1}' 100 "fungus_garden" 100
455
- bash .aether/aether-utils.sh swarm-display-render "$plan_id"
456
- ```
457
-
458
586
  Read `plan.phases` from COLONY_STATE.json and display:
459
587
 
460
588
  ```
@@ -510,7 +638,7 @@ Each dimension rated 0-100%:
510
638
 
511
639
  **Overall** = weighted average (knowledge 25%, requirements 25%, risks 20%, dependencies 15%, effort 15%)
512
640
 
513
- **Target: 80%** - Sufficient confidence for autonomous execution. Higher confidence is achieved during builds as gaps are resolved.
641
+ **Target:** Use the selected planning depth target. Higher targets trade latency for stronger up-front plan quality.
514
642
 
515
643
  ---
516
644
 
@@ -518,9 +646,9 @@ Each dimension rated 0-100%:
518
646
 
519
647
  The planning loop terminates automatically without requiring user input:
520
648
 
521
- 1. **Confidence Threshold**: Loop exits when overall confidence reaches 80%
649
+ 1. **Confidence Threshold**: Loop exits when overall confidence reaches `{target_confidence}%`
522
650
 
523
- 2. **Hard Iteration Cap**: Maximum 4 iterations (8 subagents total: 1 scout + 1 planner per iteration)
651
+ 2. **Hard Iteration Cap**: Maximum `{max_iterations}` iterations (2 subagents per iteration: 1 scout + 1 planner)
524
652
 
525
653
  3. **Stall Detection**: If confidence improves < 5% for 2 consecutive iterations, auto-finalize current plan
526
654