aether-colony 5.0.0 → 5.2.1

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