aether-colony 3.1.17 → 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 (378) hide show
  1. package/.aether/aether-utils.sh +5354 -0
  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 +211 -0
  72. package/.aether/docs/README.md +98 -0
  73. package/.aether/docs/caste-system.md +48 -0
  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 +1682 -0
  78. package/.aether/docs/command-playbooks/build-prep.md +283 -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 +1724 -0
  84. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  85. package/.aether/docs/command-playbooks/continue-verify.md +406 -0
  86. package/.aether/docs/context-continuity.md +84 -0
  87. package/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +13 -11
  88. package/.aether/docs/error-codes.md +268 -0
  89. package/.aether/docs/known-issues.md +94 -0
  90. package/{runtime → .aether}/docs/pheromones.md +86 -6
  91. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  92. package/.aether/docs/queen-commands.md +98 -0
  93. package/.aether/docs/source-of-truth-map.md +132 -0
  94. package/.aether/docs/xml-utilities.md +47 -0
  95. package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
  96. package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
  97. package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
  98. package/.aether/rules/aether-colony.md +144 -0
  99. package/.aether/schemas/example-prompt-builder.xml +234 -0
  100. package/.aether/scripts/incident-test-add.sh +47 -0
  101. package/.aether/scripts/weekly-audit.sh +79 -0
  102. package/.aether/skills/.index.json +649 -0
  103. package/.aether/skills/colony/.manifest.json +16 -0
  104. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  105. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  106. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  107. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  108. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  109. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  110. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  111. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  112. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  113. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  114. package/.aether/skills/domain/.manifest.json +24 -0
  115. package/.aether/skills/domain/README.md +33 -0
  116. package/.aether/skills/domain/django/SKILL.md +49 -0
  117. package/.aether/skills/domain/docker/SKILL.md +52 -0
  118. package/.aether/skills/domain/golang/SKILL.md +52 -0
  119. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  120. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  121. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  122. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  123. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  124. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  125. package/.aether/skills/domain/python/SKILL.md +50 -0
  126. package/.aether/skills/domain/rails/SKILL.md +52 -0
  127. package/.aether/skills/domain/react/SKILL.md +45 -0
  128. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  129. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  130. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  131. package/.aether/skills/domain/testing/SKILL.md +53 -0
  132. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  133. package/.aether/skills/domain/vue/SKILL.md +49 -0
  134. package/.aether/templates/QUEEN.md.template +61 -0
  135. package/.aether/templates/colony-state-reset.jq.template +23 -0
  136. package/.aether/templates/colony-state.template.json +39 -0
  137. package/.aether/templates/constraints.template.json +9 -0
  138. package/.aether/templates/crowned-anthill.template.md +36 -0
  139. package/.aether/templates/handoff-build-error.template.md +30 -0
  140. package/.aether/templates/handoff-build-success.template.md +39 -0
  141. package/.aether/templates/handoff.template.md +40 -0
  142. package/.aether/templates/learning-observations.template.json +6 -0
  143. package/.aether/templates/midden.template.json +13 -0
  144. package/.aether/templates/pheromones.template.json +6 -0
  145. package/.aether/templates/session.template.json +9 -0
  146. package/{runtime → .aether}/utils/atomic-write.sh +68 -22
  147. package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
  148. package/.aether/utils/chamber-utils.sh +440 -0
  149. package/.aether/utils/emoji-audit.sh +166 -0
  150. package/{runtime → .aether}/utils/error-handler.sh +34 -8
  151. package/.aether/utils/file-lock.sh +313 -0
  152. package/.aether/utils/flag.sh +267 -0
  153. package/.aether/utils/hive.sh +572 -0
  154. package/.aether/utils/learning.sh +1928 -0
  155. package/.aether/utils/midden.sh +342 -0
  156. package/.aether/utils/oracle/oracle.md +168 -0
  157. package/.aether/utils/oracle/oracle.sh +1023 -0
  158. package/.aether/utils/pheromone.sh +2029 -0
  159. package/.aether/utils/queen.sh +1698 -0
  160. package/.aether/utils/scan.sh +860 -0
  161. package/.aether/utils/semantic-cli.sh +415 -0
  162. package/.aether/utils/session.sh +552 -0
  163. package/.aether/utils/skills.sh +509 -0
  164. package/.aether/utils/spawn-tree.sh +260 -0
  165. package/.aether/utils/spawn.sh +260 -0
  166. package/.aether/utils/state-api.sh +199 -0
  167. package/{runtime → .aether}/utils/state-loader.sh +8 -6
  168. package/.aether/utils/suggest.sh +611 -0
  169. package/{runtime → .aether}/utils/swarm-display.sh +10 -1
  170. package/.aether/utils/swarm.sh +1004 -0
  171. package/{runtime → .aether}/utils/watch-spawn-tree.sh +11 -2
  172. package/{runtime → .aether}/utils/xml-compose.sh +9 -3
  173. package/.aether/utils/xml-convert.sh +277 -0
  174. package/{runtime → .aether}/utils/xml-core.sh +5 -9
  175. package/.aether/utils/xml-query.sh +201 -0
  176. package/.aether/utils/xml-utils.sh +110 -0
  177. package/{runtime → .aether}/workers.md +97 -81
  178. package/.claude/agents/ant/aether-ambassador.md +265 -0
  179. package/.claude/agents/ant/aether-archaeologist.md +327 -0
  180. package/.claude/agents/ant/aether-architect.md +236 -0
  181. package/.claude/agents/ant/aether-auditor.md +271 -0
  182. package/.claude/agents/ant/aether-builder.md +224 -0
  183. package/.claude/agents/ant/aether-chaos.md +269 -0
  184. package/.claude/agents/ant/aether-chronicler.md +305 -0
  185. package/.claude/agents/ant/aether-gatekeeper.md +330 -0
  186. package/.claude/agents/ant/aether-includer.md +374 -0
  187. package/.claude/agents/ant/aether-keeper.md +272 -0
  188. package/.claude/agents/ant/aether-measurer.md +322 -0
  189. package/.claude/agents/ant/aether-oracle.md +237 -0
  190. package/.claude/agents/ant/aether-probe.md +211 -0
  191. package/.claude/agents/ant/aether-queen.md +330 -0
  192. package/.claude/agents/ant/aether-route-setter.md +178 -0
  193. package/.claude/agents/ant/aether-sage.md +418 -0
  194. package/.claude/agents/ant/aether-scout.md +179 -0
  195. package/.claude/agents/ant/aether-surveyor-disciplines.md +417 -0
  196. package/.claude/agents/ant/aether-surveyor-nest.md +355 -0
  197. package/.claude/agents/ant/aether-surveyor-pathogens.md +289 -0
  198. package/.claude/agents/ant/aether-surveyor-provisions.md +360 -0
  199. package/.claude/agents/ant/aether-tracker.md +270 -0
  200. package/.claude/agents/ant/aether-watcher.md +280 -0
  201. package/.claude/agents/ant/aether-weaver.md +248 -0
  202. package/.claude/commands/ant/archaeology.md +16 -14
  203. package/.claude/commands/ant/build.md +43 -1028
  204. package/.claude/commands/ant/chaos.md +19 -23
  205. package/.claude/commands/ant/colonize.md +52 -31
  206. package/.claude/commands/ant/continue.md +40 -1016
  207. package/.claude/commands/ant/council.md +21 -18
  208. package/.claude/commands/ant/data-clean.md +81 -0
  209. package/.claude/commands/ant/dream.md +27 -15
  210. package/.claude/commands/ant/entomb.md +317 -225
  211. package/.claude/commands/ant/export-signals.md +57 -0
  212. package/.claude/commands/ant/feedback.md +48 -26
  213. package/.claude/commands/ant/flag.md +30 -10
  214. package/.claude/commands/ant/flags.md +34 -12
  215. package/.claude/commands/ant/focus.md +45 -19
  216. package/.claude/commands/ant/help.md +50 -8
  217. package/.claude/commands/ant/history.md +13 -0
  218. package/.claude/commands/ant/import-signals.md +71 -0
  219. package/.claude/commands/ant/init.md +345 -194
  220. package/.claude/commands/ant/insert-phase.md +101 -0
  221. package/.claude/commands/ant/interpret.md +26 -4
  222. package/.claude/commands/ant/lay-eggs.md +184 -127
  223. package/.claude/commands/ant/maturity.md +32 -11
  224. package/.claude/commands/ant/memory-details.md +77 -0
  225. package/.claude/commands/ant/migrate-state.md +20 -2
  226. package/.claude/commands/ant/oracle.md +337 -74
  227. package/.claude/commands/ant/organize.md +39 -25
  228. package/.claude/commands/ant/patrol.md +620 -0
  229. package/.claude/commands/ant/pause-colony.md +23 -27
  230. package/.claude/commands/ant/phase.md +40 -42
  231. package/.claude/commands/ant/pheromones.md +156 -0
  232. package/.claude/commands/ant/plan.md +185 -51
  233. package/.claude/commands/ant/preferences.md +65 -0
  234. package/.claude/commands/ant/redirect.md +45 -30
  235. package/.claude/commands/ant/resume-colony.md +51 -27
  236. package/.claude/commands/ant/resume.md +314 -94
  237. package/.claude/commands/ant/run.md +195 -0
  238. package/.claude/commands/ant/seal.md +650 -221
  239. package/.claude/commands/ant/skill-create.md +286 -0
  240. package/.claude/commands/ant/status.md +196 -31
  241. package/.claude/commands/ant/swarm.md +16 -46
  242. package/.claude/commands/ant/tunnels.md +280 -105
  243. package/.claude/commands/ant/update.md +73 -89
  244. package/.claude/commands/ant/verify-castes.md +100 -42
  245. package/.claude/commands/ant/watch.md +14 -12
  246. package/.opencode/agents/aether-ambassador.md +63 -20
  247. package/.opencode/agents/aether-archaeologist.md +29 -12
  248. package/.opencode/agents/aether-architect.md +103 -36
  249. package/.opencode/agents/aether-auditor.md +51 -18
  250. package/.opencode/agents/aether-builder.md +70 -20
  251. package/.opencode/agents/aether-chaos.md +29 -12
  252. package/.opencode/agents/aether-chronicler.md +60 -18
  253. package/.opencode/agents/aether-gatekeeper.md +27 -18
  254. package/.opencode/agents/aether-includer.md +27 -18
  255. package/.opencode/agents/aether-keeper.md +89 -18
  256. package/.opencode/agents/aether-measurer.md +27 -18
  257. package/.opencode/agents/aether-oracle.md +137 -0
  258. package/.opencode/agents/aether-probe.md +60 -18
  259. package/.opencode/agents/aether-queen.md +172 -24
  260. package/.opencode/agents/aether-route-setter.md +57 -12
  261. package/.opencode/agents/aether-sage.md +26 -18
  262. package/.opencode/agents/aether-scout.md +28 -20
  263. package/.opencode/agents/aether-surveyor-disciplines.md +59 -2
  264. package/.opencode/agents/aether-surveyor-nest.md +59 -2
  265. package/.opencode/agents/aether-surveyor-pathogens.md +57 -2
  266. package/.opencode/agents/aether-surveyor-provisions.md +59 -2
  267. package/.opencode/agents/aether-tracker.md +64 -18
  268. package/.opencode/agents/aether-watcher.md +66 -19
  269. package/.opencode/agents/aether-weaver.md +61 -18
  270. package/.opencode/commands/ant/archaeology.md +7 -14
  271. package/.opencode/commands/ant/build.md +437 -257
  272. package/.opencode/commands/ant/chaos.md +7 -24
  273. package/.opencode/commands/ant/colonize.md +8 -17
  274. package/.opencode/commands/ant/continue.md +661 -142
  275. package/.opencode/commands/ant/council.md +11 -22
  276. package/.opencode/commands/ant/data-clean.md +77 -0
  277. package/.opencode/commands/ant/dream.md +15 -17
  278. package/.opencode/commands/ant/entomb.md +133 -62
  279. package/.opencode/commands/ant/export-signals.md +54 -0
  280. package/.opencode/commands/ant/feedback.md +24 -5
  281. package/.opencode/commands/ant/flag.md +16 -4
  282. package/.opencode/commands/ant/flags.md +24 -10
  283. package/.opencode/commands/ant/focus.md +22 -5
  284. package/.opencode/commands/ant/help.md +41 -8
  285. package/.opencode/commands/ant/history.md +9 -0
  286. package/.opencode/commands/ant/import-signals.md +68 -0
  287. package/.opencode/commands/ant/init.md +374 -167
  288. package/.opencode/commands/ant/insert-phase.md +107 -0
  289. package/.opencode/commands/ant/interpret.md +16 -0
  290. package/.opencode/commands/ant/lay-eggs.md +184 -112
  291. package/.opencode/commands/ant/maturity.md +18 -2
  292. package/.opencode/commands/ant/memory-details.md +83 -0
  293. package/.opencode/commands/ant/migrate-state.md +12 -0
  294. package/.opencode/commands/ant/oracle.md +322 -67
  295. package/.opencode/commands/ant/organize.md +18 -16
  296. package/.opencode/commands/ant/patrol.md +626 -0
  297. package/.opencode/commands/ant/pause-colony.md +12 -29
  298. package/.opencode/commands/ant/phase.md +30 -40
  299. package/.opencode/commands/ant/pheromones.md +162 -0
  300. package/.opencode/commands/ant/plan.md +184 -56
  301. package/.opencode/commands/ant/preferences.md +71 -0
  302. package/.opencode/commands/ant/redirect.md +22 -5
  303. package/.opencode/commands/ant/resume-colony.md +38 -27
  304. package/.opencode/commands/ant/resume.md +385 -0
  305. package/.opencode/commands/ant/run.md +201 -0
  306. package/.opencode/commands/ant/seal.md +259 -45
  307. package/.opencode/commands/ant/skill-create.md +63 -0
  308. package/.opencode/commands/ant/status.md +135 -31
  309. package/.opencode/commands/ant/swarm.md +3 -345
  310. package/.opencode/commands/ant/tunnels.md +152 -9
  311. package/.opencode/commands/ant/update.md +70 -91
  312. package/.opencode/commands/ant/verify-castes.md +96 -42
  313. package/.opencode/commands/ant/watch.md +7 -0
  314. package/CHANGELOG.md +356 -0
  315. package/README.md +203 -573
  316. package/bin/cli.js +455 -527
  317. package/bin/generate-commands.js +186 -0
  318. package/bin/generate-commands.sh +127 -88
  319. package/bin/lib/init.js +13 -3
  320. package/bin/lib/spawn-logger.js +0 -15
  321. package/bin/lib/update-transaction.js +392 -140
  322. package/bin/npx-install.js +178 -0
  323. package/bin/sync-to-runtime.sh +5 -137
  324. package/bin/validate-package.sh +166 -0
  325. package/package.json +14 -7
  326. package/.opencode/agents/aether-guardian.md +0 -107
  327. package/.opencode/agents/workers.md +0 -1034
  328. package/bin/lib/model-profiles.js +0 -445
  329. package/bin/lib/model-verify.js +0 -288
  330. package/bin/lib/proxy-health.js +0 -253
  331. package/bin/lib/telemetry.js +0 -441
  332. package/runtime/CONTEXT.md +0 -160
  333. package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
  334. package/runtime/aether-utils.sh +0 -3879
  335. package/runtime/data/signatures.json +0 -41
  336. package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
  337. package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
  338. package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
  339. package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
  340. package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
  341. package/runtime/docs/README.md +0 -94
  342. package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
  343. package/runtime/docs/biological-reference.md +0 -272
  344. package/runtime/docs/codebase-review.md +0 -399
  345. package/runtime/docs/command-sync.md +0 -164
  346. package/runtime/docs/constraints.md +0 -116
  347. package/runtime/docs/implementation-learnings.md +0 -89
  348. package/runtime/docs/known-issues.md +0 -217
  349. package/runtime/docs/namespace.md +0 -148
  350. package/runtime/docs/pathogen-schema-example.json +0 -36
  351. package/runtime/docs/pathogen-schema.md +0 -111
  352. package/runtime/docs/planning-discipline.md +0 -159
  353. package/runtime/docs/progressive-disclosure.md +0 -184
  354. package/runtime/lib/queen-utils.sh +0 -729
  355. package/runtime/model-profiles.yaml +0 -100
  356. package/runtime/planning.md +0 -159
  357. package/runtime/recover.sh +0 -136
  358. package/runtime/templates/QUEEN.md.template +0 -79
  359. package/runtime/utils/chamber-utils.sh +0 -285
  360. package/runtime/utils/file-lock.sh +0 -122
  361. package/runtime/utils/spawn-tree.sh +0 -428
  362. package/runtime/utils/spawn-with-model.sh +0 -56
  363. package/runtime/utils/xml-utils.sh +0 -2196
  364. package/runtime/workers-new-castes.md +0 -516
  365. /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
  366. /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
  367. /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
  368. /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
  369. /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
  370. /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
  371. /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
  372. /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
  373. /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
  374. /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
  375. /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
  376. /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
  377. /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
  378. /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
@@ -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,25 +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
22
- bash .aether/aether-utils.sh swarm-display-init "$plan_id"
23
- 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
24
- ```
25
-
26
- ### Step 0.5: Version Check (Non-blocking)
27
-
28
- Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
29
-
30
- If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
31
-
32
- ### Step 1: Read State + Version Check
15
+ ### Step 1: Read State
33
16
 
34
17
  Read `.aether/data/COLONY_STATE.json`.
35
18
 
@@ -80,6 +63,33 @@ Parse `$ARGUMENTS`:
80
63
  - If contains `--accept`: Set `force_accept = true` (accept current plan regardless of confidence)
81
64
  - Otherwise: `force_accept = false`
82
65
 
66
+ Select planning depth (prompt user if not explicitly provided):
67
+ - Presets:
68
+ - `fast`: `target_confidence = 80`, `max_iterations = 4`
69
+ - `balanced`: `target_confidence = 90`, `max_iterations = 6`
70
+ - `deep`: `target_confidence = 95`, `max_iterations = 8`
71
+ - `exhaustive`: `target_confidence = 99`, `max_iterations = 12`
72
+ - Preset selectors:
73
+ - `--fast`, `--balanced`, `--deep`, `--exhaustive`
74
+ - `--quality fast|balanced|deep|exhaustive`
75
+ - CLI overrides:
76
+ - `--target <70-99>` to set `target_confidence`
77
+ - `--max-iterations <2-12>` to set `max_iterations`
78
+ - If no preset/overrides are provided, ask:
79
+ `Planning depth? 1) Fast 2) Balanced 3) Deep (recommended) 4) Exhaustive`
80
+ - Map user choice to a preset, default to `deep` on unclear input.
81
+ - If overrides are out of range, clamp to valid ranges and continue.
82
+
83
+ ### Step 2.5: Load Compact Context Capsule
84
+
85
+ Run using the Bash tool with description "Loading compact planning context...":
86
+ ```bash
87
+ bash .aether/aether-utils.sh context-capsule --compact --json 2>/dev/null
88
+ ```
89
+
90
+ If JSON is valid and `.ok == true`, extract `.result.prompt_section` into `context_capsule_prompt`.
91
+ If command fails or returns invalid JSON, set `context_capsule_prompt = ""` and continue.
92
+
83
93
  ### Step 3: Initialize Planning State
84
94
 
85
95
  Update watch files for tmux visibility:
@@ -92,7 +102,7 @@ AETHER COLONY :: PLANNING
92
102
  State: PLANNING
93
103
  Phase: 0/0 (generating plan)
94
104
  Confidence: 0%
95
- Iteration: 0/4
105
+ Iteration: 0/{max_iterations}
96
106
 
97
107
  Active Workers:
98
108
  [Research] Starting...
@@ -109,17 +119,12 @@ Progress
109
119
 
110
120
  [ ] 0%
111
121
 
112
- Target: 80% confidence
122
+ Target: {target_confidence}% confidence
113
123
 
114
- Iteration: 0/4
124
+ Iteration: 0/{max_iterations}
115
125
  Gaps: (analyzing...)
116
126
  ```
117
127
 
118
- Log start:
119
- ```bash
120
- bash .aether/aether-utils.sh activity-log "PLAN_START" "queen" "Iterative planning loop initiated for goal"
121
- ```
122
-
123
128
  ### Step 3.5: Load Territory Survey
124
129
 
125
130
  Check if territory survey exists before research:
@@ -154,6 +159,129 @@ ls .aether/data/survey/*.md 2>/dev/null
154
159
 
155
160
  **If no survey:** Continue without survey context (scouts will do fresh exploration)
156
161
 
162
+ ### Step 3.6: Phase Domain Research
163
+
164
+ Investigate domain knowledge for each phase before the planning loop begins. This runs every time `/ant:plan` generates a new plan -- no skip flag.
165
+
166
+ **1. Retrieve hive wisdom for research priming:**
167
+
168
+ ```bash
169
+ hive_context=$(bash .aether/aether-utils.sh hive-read --limit 5 --format text 2>/dev/null)
170
+ ```
171
+
172
+ Parse the JSON result to extract `.result.text` as `hive_text`. If command fails or returns empty, set `hive_text = ""`.
173
+
174
+ **2. Clean any previous research for this phase:**
175
+
176
+ ```bash
177
+ research_dir=".aether/data/phase-research"
178
+ mkdir -p "$research_dir"
179
+ rm -f "$research_dir/phase-{phase_number}-research.md"
180
+ ```
181
+
182
+ Re-running /ant:plan always re-researches from scratch.
183
+
184
+ **3. Spawn Research Scout** via Task tool with `subagent_type="aether-scout"`:
185
+
186
+ FALLBACK: If "Agent type not found", use general-purpose and inject role: "You are a Scout Ant performing Phase Domain Research."
187
+
188
+ ```
189
+ You are a Scout Ant performing Phase Domain Research.
190
+
191
+ --- MISSION ---
192
+ Investigate the domain knowledge needed for Phase {phase_number}: {phase_name}
193
+ Goal: "{goal}"
194
+ Phase description: "{phase_description}"
195
+
196
+ {context_capsule_prompt}
197
+
198
+ --- PRE-EXISTING COLONY WISDOM ---
199
+ {hive_text}
200
+
201
+ --- RESEARCH AREAS ---
202
+ 1. Key patterns in the existing codebase relevant to this phase
203
+ 2. External library/API documentation if the phase involves external tools
204
+ 3. Common gotchas and pitfalls in this domain
205
+ 4. Recommended implementation approach based on findings
206
+
207
+ --- SCOPE CONSTRAINTS ---
208
+ - Maximum 5 key patterns
209
+ - Maximum 3 gotchas
210
+ - Maximum 1 recommended approach paragraph
211
+ - Total output under 3000 words
212
+ - Prioritize actionable guidance over exhaustive documentation
213
+ - Check hive wisdom above first -- do not re-discover known patterns
214
+
215
+ --- TOOLS ---
216
+ Use: Glob, Grep, Read, WebSearch, WebFetch
217
+ Do NOT use: Task, Write, Edit
218
+
219
+ --- OUTPUT FORMAT ---
220
+ Return JSON:
221
+ {
222
+ "hive_wisdom_used": ["list of hive entries that were relevant"],
223
+ "key_patterns": [
224
+ {"pattern": "description", "source": "file path or URL", "relevance": "why it matters for this phase"}
225
+ ],
226
+ "external_context": [
227
+ {"topic": "what", "finding": "description", "source": "URL or doc reference"}
228
+ ],
229
+ "gotchas": [
230
+ {"issue": "what can go wrong", "prevention": "how to avoid it", "source": "evidence"}
231
+ ],
232
+ "recommended_approach": "synthesis paragraph",
233
+ "files_to_study": ["path1", "path2"]
234
+ }
235
+ ```
236
+
237
+ **4. Wait for scout to complete** (blocking -- direct Task return).
238
+
239
+ **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`
240
+
241
+ RESEARCH.md format (6 fixed sections):
242
+
243
+ ```markdown
244
+ # Phase {N} Research: {Phase Name}
245
+
246
+ **Generated:** {ISO-8601 timestamp}
247
+ **Phase:** {N} - {Phase Name}
248
+ **Research scope:** {brief summary of what was investigated}
249
+
250
+ ## Hive Wisdom (Pre-existing Knowledge)
251
+ {Format hive_wisdom_used entries, or "No relevant hive wisdom found" if empty}
252
+
253
+ ## Key Patterns
254
+ {Format each key_patterns entry as: **{pattern}:** {relevance} (Source: {source})}
255
+
256
+ ## External Context
257
+ {Format each external_context entry as: **{topic}:** {finding} (Source: {source})}
258
+ {If empty: "No external research needed for this phase"}
259
+
260
+ ## Gotchas
261
+ {Format each gotchas entry as: **{issue}:** {prevention} (Source: {source})}
262
+
263
+ ## Recommended Approach
264
+ {recommended_approach text}
265
+
266
+ ## Files to Study
267
+ {Format as bullet list of file paths}
268
+ ```
269
+
270
+ **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):
271
+
272
+ ```
273
+ Key Patterns: {bullet list of pattern names}
274
+ Gotchas: {bullet list of gotcha titles}
275
+ Recommended: {recommended_approach, first sentence only}
276
+ Files: {comma-separated file paths}
277
+ ```
278
+
279
+ **7. Display completion:**
280
+
281
+ ```
282
+ Research complete: phase-{phase_number}-research.md ({word_count} words)
283
+ ```
284
+
157
285
  ### Step 4: Research and Planning Loop
158
286
 
159
287
  Initialize tracking:
@@ -164,15 +292,15 @@ Initialize tracking:
164
292
  - `last_confidence = 0`
165
293
  - `stall_count = 0` (consecutive iterations with < 5% improvement)
166
294
 
167
- **Loop (max 4 iterations, 2 agents per iteration: 1 scout + 1 planner):**
295
+ **Loop (max {max_iterations} iterations, 2 agents per iteration: 1 scout + 1 planner):**
168
296
 
169
297
  ```
170
- while iteration < 4 AND confidence < 80:
298
+ while iteration < max_iterations AND confidence < target_confidence:
171
299
  iteration += 1
172
300
 
173
301
  # === AUTO-BREAK CHECKS (no user prompt needed) ===
174
302
  if iteration > 1:
175
- if confidence >= 80:
303
+ if confidence >= target_confidence:
176
304
  Log: "Confidence threshold reached ({confidence}%), finalizing plan"
177
305
  break
178
306
  if stall_count >= 2:
@@ -193,7 +321,9 @@ while iteration < 4 AND confidence < 80:
193
321
  Research the codebase to understand what exists and how it works.
194
322
 
195
323
  Goal: "{goal}"
196
- Iteration: {iteration}/4
324
+ Iteration: {iteration}/{max_iterations}
325
+
326
+ {context_capsule_prompt}
197
327
 
198
328
  --- EXPLORATION AREAS ---
199
329
  Cover ALL of these in a single pass:
@@ -237,7 +367,9 @@ while iteration < 4 AND confidence < 80:
237
367
  Investigate ONLY these specific knowledge gaps. Do not explore broadly.
238
368
 
239
369
  Goal: "{goal}"
240
- Iteration: {iteration}/4
370
+ Iteration: {iteration}/{max_iterations}
371
+
372
+ {context_capsule_prompt}
241
373
 
242
374
  --- GAPS TO INVESTIGATE ---
243
375
  {for each gap in gaps:}
@@ -270,8 +402,6 @@ while iteration < 4 AND confidence < 80:
270
402
  # Wait for scout to complete.
271
403
  # Update gaps list from scout results.
272
404
 
273
- Log: `bash .aether/aether-utils.sh activity-log "RESEARCH" "scout" "Iteration {iteration}: {scout.findings.length} findings, {scout.gaps_remaining.length} gaps"`
274
-
275
405
  # === PLANNING PHASE (always runs — 1 planner per iteration) ===
276
406
 
277
407
  Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="aether-route-setter":
@@ -284,10 +414,11 @@ while iteration < 4 AND confidence < 80:
284
414
  Create or refine a project plan based on research findings.
285
415
 
286
416
  Goal: "{goal}"
287
- Iteration: {iteration}/4
417
+ Iteration: {iteration}/{max_iterations}
418
+
419
+ {context_capsule_prompt}
288
420
 
289
421
  --- PLANNING DISCIPLINE ---
290
- Read .aether/planning.md for full reference.
291
422
 
292
423
  Key rules:
293
424
  - Bite-sized tasks (2-5 minutes each) - one action per task
@@ -323,6 +454,9 @@ while iteration < 4 AND confidence < 80:
323
454
  --- RESEARCH FINDINGS ---
324
455
  {scout.findings formatted — compact, max 5 items}
325
456
 
457
+ --- PHASE DOMAIN RESEARCH (from Step 3.6) ---
458
+ {research_findings_summary if available, otherwise omit this section}
459
+
326
460
  Remaining Gaps:
327
461
  {gaps formatted — compact, max 3 items}
328
462
 
@@ -384,8 +518,6 @@ while iteration < 4 AND confidence < 80:
384
518
 
385
519
  Parse planning results. Update plan_draft and confidence.
386
520
 
387
- Log: `bash .aether/aether-utils.sh activity-log "PLANNING" "route-setter" "Confidence: {confidence}% (+{delta}%)"`
388
-
389
521
  # === UPDATE WATCH FILES ===
390
522
 
391
523
  Update `.aether/data/watch-status.txt` with current state.
@@ -417,7 +549,7 @@ Proceed directly to Step 5. No user confirmation needed — the plan auto-finali
417
549
 
418
550
  ### Step 5: Finalize Plan
419
551
 
420
- Once loop exits (confidence >= 80, max iterations reached, or stall detected):
552
+ Once loop exits (confidence >= {target_confidence}, max iterations reached, or stall detected):
421
553
 
422
554
  Read current COLONY_STATE.json, then update:
423
555
  - Set `plan.phases` to the final phases array
@@ -451,18 +583,12 @@ bash .aether/aether-utils.sh session-update "/ant:plan" "/ant:build 1" "Plan gen
451
583
 
452
584
  ### Step 7: Display Plan
453
585
 
454
- **If visual_mode is true, render final swarm display:**
455
- ```bash
456
- 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
457
- bash .aether/aether-utils.sh swarm-display-inline "$plan_id"
458
- ```
459
-
460
586
  Read `plan.phases` from COLONY_STATE.json and display:
461
587
 
462
588
  ```
463
- 📊🐜🗺️🐜📊 ═══════════════════════════════════════════════════
589
+ 📊🐜🗺️🐜📊 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
464
590
  C O L O N Y P L A N
465
- ═══════════════════════════════════════════════════ 📊🐜🗺️🐜📊
591
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊🐜🗺️🐜📊
466
592
 
467
593
  👑 Goal: {goal}
468
594
 
@@ -496,6 +622,14 @@ Read `plan.phases` from COLONY_STATE.json and display:
496
622
 
497
623
  Status icons: pending = `[ ]`, in_progress = `[~]`, completed = `[✓]`
498
624
 
625
+ After displaying the plan, generate the state-based Next Up block:
626
+ ```bash
627
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
628
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
629
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
630
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
631
+ ```
632
+
499
633
  ---
500
634
 
501
635
  ## Confidence Scoring Reference
@@ -512,7 +646,7 @@ Each dimension rated 0-100%:
512
646
 
513
647
  **Overall** = weighted average (knowledge 25%, requirements 25%, risks 20%, dependencies 15%, effort 15%)
514
648
 
515
- **Target: 80%** - Sufficient confidence for autonomous execution. Higher confidence is achieved during builds as gaps are resolved.
649
+ **Target:** Use the selected planning depth target. Higher targets trade latency for stronger up-front plan quality.
516
650
 
517
651
  ---
518
652
 
@@ -520,9 +654,9 @@ Each dimension rated 0-100%:
520
654
 
521
655
  The planning loop terminates automatically without requiring user input:
522
656
 
523
- 1. **Confidence Threshold**: Loop exits when overall confidence reaches 80%
657
+ 1. **Confidence Threshold**: Loop exits when overall confidence reaches `{target_confidence}%`
524
658
 
525
- 2. **Hard Iteration Cap**: Maximum 4 iterations (8 subagents total: 1 scout + 1 planner per iteration)
659
+ 2. **Hard Iteration Cap**: Maximum `{max_iterations}` iterations (2 subagents per iteration: 1 scout + 1 planner)
526
660
 
527
661
  3. **Stall Detection**: If confidence improves < 5% for 2 consecutive iterations, auto-finalize current plan
528
662
 
@@ -0,0 +1,65 @@
1
+ <!-- Generated from .aether/commands/preferences.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:preferences
4
+ description: "Add or list user preferences in hub QUEEN.md"
5
+ ---
6
+
7
+ You are the **Queen**. Manage user preferences in the hub `~/.aether/QUEEN.md`.
8
+
9
+ ## Instructions
10
+
11
+ The input is: `$ARGUMENTS`
12
+
13
+ ### Step 1: Validate
14
+
15
+ If `$ARGUMENTS` empty -> show usage: `/ant:preferences "preference text"` or `/ant:preferences --list`, stop.
16
+
17
+ ### Step 2: Route
18
+
19
+ - `$ARGUMENTS` is `--list` -> **List mode**
20
+ - Otherwise -> **Add mode**
21
+
22
+ ### List Mode
23
+
24
+ Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
25
+
26
+ Find the `## User Preferences` section (with or without emoji). Extract bullet lines (`- ...`) between that heading and the next `---`.
27
+
28
+ If user-added bullets exist, output each. Otherwise:
29
+ ```
30
+ No user preferences set yet.
31
+ Add one with: /ant:preferences "your preference"
32
+ ```
33
+ Stop.
34
+
35
+ ### Add Mode
36
+
37
+ Set `PREF` to `$ARGUMENTS` (strip surrounding quotes).
38
+ If length > 500 chars -> "Preference too long (max 500 chars)", stop.
39
+
40
+ Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
41
+
42
+ **If `## User Preferences` section exists** (with or without emoji):
43
+ 1. Remove `*No user preferences recorded yet.*` placeholder if present
44
+ 2. Append `- $PREF` at end of section (before next `---`)
45
+
46
+ **If section missing** (migration case):
47
+ 1. Insert before `## Evolution Log` (with or without emoji):
48
+ ```
49
+ ## User Preferences
50
+
51
+ - $PREF
52
+
53
+ ---
54
+
55
+ ```
56
+
57
+ Update METADATA comment: increment `stats.total_user_prefs` by 1.
58
+
59
+ ### Confirm
60
+
61
+ Output (2 lines, no banners):
62
+ ```
63
+ Preference saved to hub QUEEN.md
64
+ "$PREF"
65
+ ```
@@ -1,9 +1,13 @@
1
+ <!-- Generated from .aether/commands/redirect.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:redirect
3
- description: "⚠️🐜🚧🐜⚠️ Emit REDIRECT signal to warn colony away from patterns"
4
+ description: "Emit REDIRECT signal to warn colony away from patterns"
4
5
  ---
5
6
 
6
- You are the **Queen**. Add an AVOID constraint.
7
+
8
+ You are the **Queen**. Emit a REDIRECT pheromone signal.
9
+
10
+
7
11
 
8
12
  ## Instructions
9
13
 
@@ -14,48 +18,59 @@ The pattern to avoid is: `$ARGUMENTS`
14
18
  If `$ARGUMENTS` empty -> show usage: `/ant:redirect <pattern to avoid>`, stop.
15
19
  If content > 500 chars -> "Redirect content too long (max 500 chars)", stop.
16
20
 
17
- ### Step 2: Read + Update Constraints
21
+
22
+ Parse optional flags from `$ARGUMENTS`:
23
+ - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
24
+ - Strip flags from content before using it as the pattern.
25
+
26
+
27
+ ### Step 2: Write Signal
18
28
 
19
29
  Read `.aether/data/COLONY_STATE.json`.
20
30
  If `goal: null` -> "No colony initialized.", stop.
21
31
 
22
- Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
23
- ```json
24
- {"version": "1.0", "focus": [], "constraints": []}
25
- ```
26
32
 
27
- Generate constraint ID: `c_<unix_timestamp_ms>`
28
-
29
- Append to `constraints` array:
30
- ```json
31
- {
32
- "id": "<generated_id>",
33
- "type": "AVOID",
34
- "content": "<pattern to avoid>",
35
- "source": "user:redirect",
36
- "created_at": "<ISO-8601 timestamp>"
37
- }
33
+ Run using the Bash tool with description "Setting colony redirect...":
34
+ ```bash
35
+ bash .aether/aether-utils.sh pheromone-write REDIRECT "<content>" --strength 0.9 --reason "User warned colony away from pattern" --ttl <ttl>
38
36
  ```
39
37
 
40
- If `constraints` array exceeds 10 entries, remove the oldest entries to keep only 10.
38
+ Parse the returned JSON for the signal ID.
41
39
 
42
- Write constraints.json.
40
+ ### Step 2.5: Update Context Document
43
41
 
44
- ### Step 3: Confirm
42
+ Run using the Bash tool with description "Updating context document...":
43
+ ```bash
44
+ bash .aether/aether-utils.sh context-update constraint redirect "<content>" "user" 2>/dev/null || true
45
+ ```
45
46
 
46
- Output header:
47
+ ### Step 3: Get Active Counts
47
48
 
49
+ Run using the Bash tool with description "Counting active signals...":
50
+ ```bash
51
+ bash .aether/aether-utils.sh pheromone-count
48
52
  ```
49
- ⚠️🐜🚧🐜⚠️ ═══════════════════════════════════════════════════
50
- R E D I R E C T S I G N A L
51
- ═══════════════════════════════════════════════════ ⚠️🐜🚧🐜⚠️
52
- ```
53
53
 
54
- Then output:
54
+ ### Step 4: Confirm
55
+
56
+ Output (3-4 lines, no banners):
55
57
  ```
56
- 🚫 REDIRECT signal emitted
58
+ REDIRECT signal emitted
59
+ Avoid: "<content truncated to 60 chars>"
60
+ Strength: 0.9 | Expires: <phase end or ttl value>
61
+ Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
62
+ ```
63
+
57
64
 
58
- Avoid: "{content preview}"
59
65
 
60
- 🐜 Colony warned away from this pattern.
66
+
67
+ ### Step 5: Next Up
68
+
69
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
70
+ ```bash
71
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
72
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
73
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
74
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
61
75
  ```
76
+
@@ -1,3 +1,4 @@
1
+ <!-- Generated from .aether/commands/resume-colony.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:resume-colony
3
4
  description: "🚦➡️🐜💨💨 Resume colony from saved session - restores all state"
@@ -13,25 +14,16 @@ Parse `$ARGUMENTS`:
13
14
 
14
15
  ### Step 0: Initialize Visual Mode (if enabled)
15
16
 
16
- If `visual_mode` is true:
17
- ```bash
18
- # Generate session ID
19
- resume_id="resume-$(date +%s)"
20
-
21
- # Initialize swarm display
22
- bash .aether/aether-utils.sh swarm-display-init "$resume_id"
23
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Resuming colony" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
24
- ```
25
-
17
+ If `visual_mode` is true, run using the Bash tool with description "Initializing resume display...":
26
18
  ### Step 0.5: Version Check (Non-blocking)
27
19
 
28
- Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
20
+ Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
29
21
 
30
22
  If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
31
23
 
32
24
  ### Step 1: Load State and Validate
33
25
 
34
- Run using Bash tool: `bash .aether/aether-utils.sh load-state`
26
+ Run using the Bash tool with description "Restoring colony session...": `bash .aether/aether-utils.sh load-state`
35
27
 
36
28
  If successful:
37
29
  1. Parse state from result
@@ -43,13 +35,35 @@ Keep state loaded (don't unload yet) - we'll need it for the full display.
43
35
 
44
36
  ### Step 2: Compute Active Signals
45
37
 
46
- Read active signals from COLONY_STATE.json `signals` array (already loaded in Step 1).
38
+ Run using the Bash tool with description "Loading active pheromones...":
39
+ ```bash
40
+ bash .aether/aether-utils.sh pheromone-read
41
+ ```
42
+
43
+ Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
44
+ If empty, treat as "no active pheromones."
47
45
 
48
- Filter signals where:
49
- - `expires_at` is null (permanent signals like INIT), OR
50
- - `expires_at` > current timestamp (not expired)
46
+ ### Step 2.5: Load Survey Context (Advisory)
47
+
48
+ Run using the Bash tool with description "Loading survey context...":
49
+ ```bash
50
+ survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
51
+ survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
52
+ if [[ -n "$survey_latest" ]]; then
53
+ now_epoch=$(date +%s)
54
+ modified_epoch=$(stat -f %m "$survey_latest" 2>/dev/null || stat -c %Y "$survey_latest" 2>/dev/null || echo 0)
55
+ survey_age_days=$(( (now_epoch - modified_epoch) / 86400 ))
56
+ else
57
+ survey_age_days=-1
58
+ fi
59
+ echo "survey_docs=$survey_docs"
60
+ echo "survey_age_days=$survey_age_days"
61
+ ```
51
62
 
52
- If `signals` array is empty or all expired, treat as "no active pheromones."
63
+ Interpretation:
64
+ - `survey_docs == 0` => survey missing
65
+ - `survey_age_days > 14` => survey stale
66
+ - otherwise survey fresh
53
67
 
54
68
  ### Step 3: Display Restored State
55
69
 
@@ -58,9 +72,9 @@ If `signals` array is empty or all expired, treat as "no active pheromones."
58
72
  Output header:
59
73
 
60
74
  ```
61
- 🚦➡️🐜💨💨 ═══════════════════════════════════════════════════
75
+ 🚦➡️🐜💨💨 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
62
76
  C O L O N Y R E S U M E D
63
- ═══════════════════════════════════════════════════ 🚦➡️🐜💨💨
77
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚦➡️🐜💨💨
64
78
  ```
65
79
 
66
80
  Read the .aether/HANDOFF.md for context about what was happening, then display:
@@ -87,18 +101,18 @@ PHASE PROGRESS
87
101
  Phase <id>: <name> [<status>]
88
102
  (list all phases from plan.phases)
89
103
 
104
+ SURVEY CONTEXT
105
+ Docs: <survey_docs>
106
+ Age: <survey_age_days> days
107
+ Status: <fresh|stale|missing>
108
+ Recommendation: <if missing or stale, suggest /ant:colonize --force-resurvey>
109
+
90
110
  CONTEXT FROM HANDOFF
91
111
  <summarize what was happening from .aether/HANDOFF.md>
92
112
 
93
113
  NEXT ACTIONS
94
114
  ```
95
115
 
96
- **If visual_mode is true, render final swarm display:**
97
- ```bash
98
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Colony resumed" "Colony" '{"read":3,"grep":0,"edit":2,"bash":1}' 100 "fungus_garden" 100
99
- bash .aether/aether-utils.sh swarm-display-inline "$resume_id"
100
- ```
101
-
102
116
  Route to next action based on state:
103
117
  - If state is `READY` and there's a pending phase -> suggest `/ant:build <phase>`
104
118
  - If state is `EXECUTING` -> note that a build was interrupted, suggest restarting with `/ant:build <phase>`
@@ -113,9 +127,19 @@ Use Write tool to update COLONY_STATE.json:
113
127
  - Update last_updated timestamp
114
128
  - Add event: `{timestamp, type: "colony_resumed", worker: "resume", details: "Session resumed"}`
115
129
 
116
- Use Bash tool to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
130
+ Use Bash tool with description "Cleaning up handoff file..." to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
117
131
 
118
- Run: `bash .aether/aether-utils.sh unload-state` to release lock.
132
+ Run using the Bash tool with description "Releasing colony lock...": `bash .aether/aether-utils.sh unload-state` to release lock.
133
+
134
+ ### Step 7: Next Up
135
+
136
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
137
+ ```bash
138
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
139
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
140
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
141
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
142
+ ```
119
143
 
120
144
  ---
121
145