aether-colony 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/.aether/aether-utils.sh +3150 -3349
  2. package/.aether/agents-claude/aether-ambassador.md +265 -0
  3. package/.aether/agents-claude/aether-archaeologist.md +327 -0
  4. package/.aether/agents-claude/aether-architect.md +236 -0
  5. package/.aether/agents-claude/aether-auditor.md +271 -0
  6. package/.aether/agents-claude/aether-builder.md +224 -0
  7. package/.aether/agents-claude/aether-chaos.md +269 -0
  8. package/.aether/agents-claude/aether-chronicler.md +305 -0
  9. package/.aether/agents-claude/aether-gatekeeper.md +330 -0
  10. package/.aether/agents-claude/aether-includer.md +374 -0
  11. package/.aether/agents-claude/aether-keeper.md +272 -0
  12. package/.aether/agents-claude/aether-measurer.md +322 -0
  13. package/.aether/agents-claude/aether-oracle.md +237 -0
  14. package/.aether/agents-claude/aether-probe.md +211 -0
  15. package/.aether/agents-claude/aether-queen.md +330 -0
  16. package/.aether/agents-claude/aether-route-setter.md +178 -0
  17. package/.aether/agents-claude/aether-sage.md +418 -0
  18. package/.aether/agents-claude/aether-scout.md +179 -0
  19. package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
  20. package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
  21. package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
  22. package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
  23. package/.aether/agents-claude/aether-tracker.md +270 -0
  24. package/.aether/agents-claude/aether-watcher.md +280 -0
  25. package/.aether/agents-claude/aether-weaver.md +248 -0
  26. package/.aether/commands/archaeology.yaml +653 -0
  27. package/.aether/commands/build.yaml +1221 -0
  28. package/.aether/commands/chaos.yaml +653 -0
  29. package/.aether/commands/colonize.yaml +438 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +304 -0
  32. package/.aether/commands/data-clean.yaml +80 -0
  33. package/.aether/commands/dream.yaml +275 -0
  34. package/.aether/commands/entomb.yaml +863 -0
  35. package/.aether/commands/export-signals.yaml +64 -0
  36. package/.aether/commands/feedback.yaml +158 -0
  37. package/.aether/commands/flag.yaml +160 -0
  38. package/.aether/commands/flags.yaml +177 -0
  39. package/.aether/commands/focus.yaml +112 -0
  40. package/.aether/commands/help.yaml +167 -0
  41. package/.aether/commands/history.yaml +137 -0
  42. package/.aether/commands/import-signals.yaml +79 -0
  43. package/.aether/commands/init.yaml +469 -0
  44. package/.aether/commands/insert-phase.yaml +98 -0
  45. package/.aether/commands/interpret.yaml +285 -0
  46. package/.aether/commands/lay-eggs.yaml +224 -0
  47. package/.aether/commands/maturity.yaml +122 -0
  48. package/.aether/commands/memory-details.yaml +74 -0
  49. package/.aether/commands/migrate-state.yaml +174 -0
  50. package/.aether/commands/oracle.yaml +1224 -0
  51. package/.aether/commands/organize.yaml +446 -0
  52. package/.aether/commands/patrol.yaml +621 -0
  53. package/.aether/commands/pause-colony.yaml +424 -0
  54. package/.aether/commands/phase.yaml +124 -0
  55. package/.aether/commands/pheromones.yaml +153 -0
  56. package/.aether/commands/plan.yaml +1313 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/redirect.yaml +123 -0
  59. package/.aether/commands/resume-colony.yaml +373 -0
  60. package/.aether/commands/resume.yaml +398 -0
  61. package/.aether/commands/run.yaml +193 -0
  62. package/.aether/commands/seal.yaml +1205 -0
  63. package/.aether/commands/skill-create.yaml +337 -0
  64. package/.aether/commands/status.yaml +364 -0
  65. package/.aether/commands/swarm.yaml +352 -0
  66. package/.aether/commands/tunnels.yaml +814 -0
  67. package/.aether/commands/update.yaml +131 -0
  68. package/.aether/commands/verify-castes.yaml +159 -0
  69. package/.aether/commands/watch.yaml +454 -0
  70. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  71. package/.aether/docs/QUEEN-SYSTEM.md +11 -11
  72. package/.aether/docs/README.md +32 -2
  73. package/.aether/docs/command-playbooks/README.md +23 -0
  74. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  75. package/.aether/docs/command-playbooks/build-context.md +282 -0
  76. package/.aether/docs/command-playbooks/build-full.md +1682 -0
  77. package/.aether/docs/command-playbooks/build-prep.md +283 -0
  78. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  79. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  80. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  81. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  82. package/.aether/docs/command-playbooks/continue-full.md +1724 -0
  83. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  84. package/.aether/docs/command-playbooks/continue-verify.md +406 -0
  85. package/.aether/docs/context-continuity.md +84 -0
  86. package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
  87. package/.aether/docs/error-codes.md +1 -1
  88. package/.aether/docs/known-issues.md +34 -173
  89. package/.aether/docs/pheromones.md +86 -6
  90. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  91. package/.aether/docs/queen-commands.md +10 -9
  92. package/.aether/docs/source-of-truth-map.md +132 -0
  93. package/.aether/docs/xml-utilities.md +47 -0
  94. package/.aether/rules/aether-colony.md +23 -13
  95. package/.aether/scripts/incident-test-add.sh +47 -0
  96. package/.aether/scripts/weekly-audit.sh +79 -0
  97. package/.aether/skills/.index.json +649 -0
  98. package/.aether/skills/colony/.manifest.json +16 -0
  99. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  100. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  101. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  102. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  103. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  104. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  105. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  106. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  107. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  108. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  109. package/.aether/skills/domain/.manifest.json +24 -0
  110. package/.aether/skills/domain/README.md +33 -0
  111. package/.aether/skills/domain/django/SKILL.md +49 -0
  112. package/.aether/skills/domain/docker/SKILL.md +52 -0
  113. package/.aether/skills/domain/golang/SKILL.md +52 -0
  114. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  115. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  116. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  117. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  118. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  119. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  120. package/.aether/skills/domain/python/SKILL.md +50 -0
  121. package/.aether/skills/domain/rails/SKILL.md +52 -0
  122. package/.aether/skills/domain/react/SKILL.md +45 -0
  123. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  124. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  125. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  126. package/.aether/skills/domain/testing/SKILL.md +53 -0
  127. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  128. package/.aether/skills/domain/vue/SKILL.md +49 -0
  129. package/.aether/templates/QUEEN.md.template +23 -41
  130. package/.aether/templates/colony-state-reset.jq.template +1 -0
  131. package/.aether/templates/colony-state.template.json +4 -0
  132. package/.aether/templates/learning-observations.template.json +6 -0
  133. package/.aether/templates/midden.template.json +13 -0
  134. package/.aether/templates/pheromones.template.json +6 -0
  135. package/.aether/templates/session.template.json +9 -0
  136. package/.aether/utils/atomic-write.sh +63 -17
  137. package/.aether/utils/chamber-utils.sh +145 -2
  138. package/.aether/utils/emoji-audit.sh +166 -0
  139. package/.aether/utils/error-handler.sh +21 -7
  140. package/.aether/utils/file-lock.sh +182 -27
  141. package/.aether/utils/flag.sh +267 -0
  142. package/.aether/utils/hive.sh +572 -0
  143. package/.aether/utils/learning.sh +1928 -0
  144. package/.aether/utils/midden.sh +342 -0
  145. package/.aether/utils/oracle/oracle.md +168 -0
  146. package/.aether/utils/oracle/oracle.sh +1023 -0
  147. package/.aether/utils/pheromone.sh +2029 -0
  148. package/.aether/utils/queen.sh +1698 -0
  149. package/.aether/utils/scan.sh +860 -0
  150. package/.aether/utils/semantic-cli.sh +10 -8
  151. package/.aether/utils/session.sh +552 -0
  152. package/.aether/utils/skills.sh +509 -0
  153. package/.aether/utils/spawn-tree.sh +103 -271
  154. package/.aether/utils/spawn.sh +260 -0
  155. package/.aether/utils/state-api.sh +199 -0
  156. package/.aether/utils/state-loader.sh +8 -6
  157. package/.aether/utils/suggest.sh +611 -0
  158. package/.aether/utils/swarm-display.sh +10 -1
  159. package/.aether/utils/swarm.sh +1004 -0
  160. package/.aether/utils/watch-spawn-tree.sh +11 -2
  161. package/.aether/utils/xml-compose.sh +2 -2
  162. package/.aether/utils/xml-convert.sh +9 -5
  163. package/.aether/utils/xml-core.sh +5 -9
  164. package/.aether/utils/xml-query.sh +4 -4
  165. package/.aether/workers.md +86 -67
  166. package/.claude/agents/ant/aether-ambassador.md +2 -1
  167. package/.claude/agents/ant/aether-archaeologist.md +6 -1
  168. package/.claude/agents/ant/aether-architect.md +236 -0
  169. package/.claude/agents/ant/aether-auditor.md +6 -1
  170. package/.claude/agents/ant/aether-builder.md +38 -1
  171. package/.claude/agents/ant/aether-chaos.md +2 -1
  172. package/.claude/agents/ant/aether-chronicler.md +1 -0
  173. package/.claude/agents/ant/aether-gatekeeper.md +6 -1
  174. package/.claude/agents/ant/aether-includer.md +1 -0
  175. package/.claude/agents/ant/aether-keeper.md +1 -0
  176. package/.claude/agents/ant/aether-measurer.md +6 -1
  177. package/.claude/agents/ant/aether-oracle.md +237 -0
  178. package/.claude/agents/ant/aether-probe.md +2 -1
  179. package/.claude/agents/ant/aether-queen.md +6 -1
  180. package/.claude/agents/ant/aether-route-setter.md +6 -1
  181. package/.claude/agents/ant/aether-sage.md +68 -3
  182. package/.claude/agents/ant/aether-scout.md +38 -1
  183. package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
  184. package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
  185. package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
  186. package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
  187. package/.claude/agents/ant/aether-tracker.md +6 -1
  188. package/.claude/agents/ant/aether-watcher.md +37 -1
  189. package/.claude/agents/ant/aether-weaver.md +2 -1
  190. package/.claude/commands/ant/archaeology.md +1 -8
  191. package/.claude/commands/ant/build.md +43 -1159
  192. package/.claude/commands/ant/chaos.md +1 -14
  193. package/.claude/commands/ant/colonize.md +1 -14
  194. package/.claude/commands/ant/continue.md +40 -1026
  195. package/.claude/commands/ant/council.md +9 -16
  196. package/.claude/commands/ant/data-clean.md +81 -0
  197. package/.claude/commands/ant/dream.md +12 -9
  198. package/.claude/commands/ant/entomb.md +62 -87
  199. package/.claude/commands/ant/export-signals.md +57 -0
  200. package/.claude/commands/ant/feedback.md +18 -0
  201. package/.claude/commands/ant/flag.md +12 -0
  202. package/.claude/commands/ant/flags.md +22 -8
  203. package/.claude/commands/ant/focus.md +18 -0
  204. package/.claude/commands/ant/help.md +40 -8
  205. package/.claude/commands/ant/history.md +3 -0
  206. package/.claude/commands/ant/import-signals.md +71 -0
  207. package/.claude/commands/ant/init.md +316 -191
  208. package/.claude/commands/ant/insert-phase.md +101 -0
  209. package/.claude/commands/ant/interpret.md +11 -0
  210. package/.claude/commands/ant/lay-eggs.md +167 -158
  211. package/.claude/commands/ant/maturity.md +22 -11
  212. package/.claude/commands/ant/memory-details.md +77 -0
  213. package/.claude/commands/ant/migrate-state.md +6 -0
  214. package/.claude/commands/ant/oracle.md +317 -62
  215. package/.claude/commands/ant/organize.md +10 -5
  216. package/.claude/commands/ant/patrol.md +620 -0
  217. package/.claude/commands/ant/pause-colony.md +8 -22
  218. package/.claude/commands/ant/phase.md +26 -37
  219. package/.claude/commands/ant/pheromones.md +156 -0
  220. package/.claude/commands/ant/plan.md +175 -52
  221. package/.claude/commands/ant/preferences.md +65 -0
  222. package/.claude/commands/ant/redirect.md +18 -0
  223. package/.claude/commands/ant/resume-colony.md +34 -20
  224. package/.claude/commands/ant/resume.md +51 -7
  225. package/.claude/commands/ant/run.md +195 -0
  226. package/.claude/commands/ant/seal.md +497 -78
  227. package/.claude/commands/ant/skill-create.md +286 -0
  228. package/.claude/commands/ant/status.md +127 -1
  229. package/.claude/commands/ant/swarm.md +11 -23
  230. package/.claude/commands/ant/tunnels.md +1 -0
  231. package/.claude/commands/ant/update.md +58 -135
  232. package/.claude/commands/ant/verify-castes.md +90 -42
  233. package/.claude/commands/ant/watch.md +1 -0
  234. package/.opencode/agents/aether-ambassador.md +1 -1
  235. package/.opencode/agents/aether-architect.md +133 -0
  236. package/.opencode/agents/aether-builder.md +3 -3
  237. package/.opencode/agents/aether-oracle.md +137 -0
  238. package/.opencode/agents/aether-queen.md +1 -1
  239. package/.opencode/agents/aether-route-setter.md +1 -1
  240. package/.opencode/agents/aether-scout.md +1 -1
  241. package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
  242. package/.opencode/agents/aether-surveyor-nest.md +6 -1
  243. package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
  244. package/.opencode/agents/aether-surveyor-provisions.md +6 -1
  245. package/.opencode/agents/aether-tracker.md +1 -1
  246. package/.opencode/agents/aether-watcher.md +1 -1
  247. package/.opencode/agents/aether-weaver.md +1 -1
  248. package/.opencode/commands/ant/archaeology.md +7 -14
  249. package/.opencode/commands/ant/build.md +54 -88
  250. package/.opencode/commands/ant/chaos.md +7 -24
  251. package/.opencode/commands/ant/colonize.md +8 -17
  252. package/.opencode/commands/ant/continue.md +595 -66
  253. package/.opencode/commands/ant/council.md +11 -22
  254. package/.opencode/commands/ant/data-clean.md +77 -0
  255. package/.opencode/commands/ant/dream.md +15 -17
  256. package/.opencode/commands/ant/entomb.md +28 -18
  257. package/.opencode/commands/ant/export-signals.md +54 -0
  258. package/.opencode/commands/ant/feedback.md +24 -5
  259. package/.opencode/commands/ant/flag.md +16 -4
  260. package/.opencode/commands/ant/flags.md +24 -10
  261. package/.opencode/commands/ant/focus.md +22 -5
  262. package/.opencode/commands/ant/help.md +41 -8
  263. package/.opencode/commands/ant/history.md +9 -0
  264. package/.opencode/commands/ant/import-signals.md +68 -0
  265. package/.opencode/commands/ant/init.md +365 -156
  266. package/.opencode/commands/ant/insert-phase.md +107 -0
  267. package/.opencode/commands/ant/interpret.md +16 -0
  268. package/.opencode/commands/ant/lay-eggs.md +184 -112
  269. package/.opencode/commands/ant/maturity.md +18 -2
  270. package/.opencode/commands/ant/memory-details.md +83 -0
  271. package/.opencode/commands/ant/migrate-state.md +12 -0
  272. package/.opencode/commands/ant/oracle.md +322 -67
  273. package/.opencode/commands/ant/organize.md +14 -12
  274. package/.opencode/commands/ant/patrol.md +626 -0
  275. package/.opencode/commands/ant/pause-colony.md +12 -29
  276. package/.opencode/commands/ant/phase.md +30 -40
  277. package/.opencode/commands/ant/pheromones.md +162 -0
  278. package/.opencode/commands/ant/plan.md +184 -56
  279. package/.opencode/commands/ant/preferences.md +71 -0
  280. package/.opencode/commands/ant/redirect.md +22 -5
  281. package/.opencode/commands/ant/resume-colony.md +38 -27
  282. package/.opencode/commands/ant/resume.md +71 -20
  283. package/.opencode/commands/ant/run.md +201 -0
  284. package/.opencode/commands/ant/seal.md +230 -25
  285. package/.opencode/commands/ant/skill-create.md +63 -0
  286. package/.opencode/commands/ant/status.md +124 -31
  287. package/.opencode/commands/ant/swarm.md +3 -345
  288. package/.opencode/commands/ant/tunnels.md +3 -9
  289. package/.opencode/commands/ant/update.md +63 -127
  290. package/.opencode/commands/ant/verify-castes.md +96 -42
  291. package/.opencode/commands/ant/watch.md +7 -0
  292. package/CHANGELOG.md +278 -1
  293. package/README.md +188 -340
  294. package/bin/cli.js +236 -429
  295. package/bin/generate-commands.js +186 -0
  296. package/bin/generate-commands.sh +128 -89
  297. package/bin/lib/spawn-logger.js +0 -15
  298. package/bin/lib/update-transaction.js +285 -35
  299. package/bin/npx-install.js +178 -0
  300. package/bin/validate-package.sh +85 -3
  301. package/package.json +7 -3
  302. package/.aether/CONTEXT.md +0 -160
  303. package/.aether/docs/QUEEN.md +0 -84
  304. package/.aether/exchange/colony-registry.xml +0 -11
  305. package/.aether/exchange/pheromones.xml +0 -87
  306. package/.aether/exchange/queen-wisdom.xml +0 -14
  307. package/.aether/model-profiles.yaml +0 -100
  308. package/.aether/utils/spawn-with-model.sh +0 -56
  309. package/bin/lib/model-profiles.js +0 -445
  310. package/bin/lib/model-verify.js +0 -288
  311. package/bin/lib/proxy-health.js +0 -253
  312. package/bin/lib/telemetry.js +0 -441
@@ -1,33 +1,23 @@
1
+ <!-- Generated from .aether/commands/council.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:council
3
4
  description: "📜🐜🏛️🐜📜 Convene council for intent clarification via multi-choice questions"
4
5
  ---
5
6
 
6
- You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
14
+
15
+ ## Instructions
16
+
16
17
  Parse `$normalized_args`:
17
18
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
18
19
  - Otherwise: set `visual_mode = true`
19
20
 
20
- ### Step 0: Initialize Visual Mode (if enabled)
21
-
22
- If `visual_mode` is true:
23
- ```bash
24
- # Generate session ID
25
- council_id="council-$(date +%s)"
26
-
27
- # Initialize swarm display
28
- bash .aether/aether-utils.sh swarm-display-init "$council_id"
29
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Convening council" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
30
- ```
31
21
 
32
22
  ### Step 1: Read Current State
33
23
 
@@ -48,11 +38,14 @@ Capture the current state for context:
48
38
 
49
39
  ### Step 2: Display Council Header
50
40
 
41
+
42
+
51
43
  ```
52
44
  📜🐜🏛️🐜📜 ═══════════════════════════════════════════════
53
- A N T C O U N C I L
45
+ A N T C O U N C I L
54
46
  ═══════════════════════════════════════════════ 📜🐜🏛️🐜📜
55
47
 
48
+
56
49
  👑 Queen convenes the council for guidance
57
50
 
58
51
  Colony Goal: "{goal}"
@@ -245,12 +238,6 @@ Keep max 100 events.
245
238
 
246
239
  ### Step 8: Display Summary
247
240
 
248
- **If visual_mode is true, render final swarm display:**
249
- ```bash
250
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Council adjourned" "Colony" '{"read":3,"grep":0,"edit":2,"bash":1}' 100 "fungus_garden" 100
251
- bash .aether/aether-utils.sh swarm-display-render "$council_id"
252
- ```
253
-
254
241
  ```
255
242
  📜🐜🏛️🐜📜 COUNCIL ADJOURNED
256
243
 
@@ -303,3 +290,5 @@ If `prior_state` was PLANNING:
303
290
  ```
304
291
  Planning will continue with new guidance.
305
292
  ```
293
+
294
+
@@ -0,0 +1,77 @@
1
+ <!-- Generated from .aether/commands/data-clean.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:data-clean
4
+ description: "Scan and remove test artifacts from colony data files"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen Ant Colony**. Run the data cleaner to scan for and remove test/synthetic artifacts from colony data files.
14
+
15
+
16
+
17
+ > **Note:** Arguments are unused. This command always scans all data files.
18
+
19
+
20
+ ## Instructions
21
+
22
+ ### Step 1: Scan
23
+
24
+ Run using the Bash tool with description "Scanning colony data for test artifacts...":
25
+ ```bash
26
+ bash .aether/aether-utils.sh data-clean --dry-run
27
+ ```
28
+
29
+ Display the output to the user. This shows artifact counts per data file without modifying anything.
30
+
31
+ ### Step 2: Decision Gate
32
+
33
+ Parse the scan output for "Total artifacts: N".
34
+
35
+ **If total is 0:**
36
+ Display:
37
+ ```
38
+ Colony data is clean. No artifacts found.
39
+ ```
40
+ Skip to Step 5.
41
+
42
+ **If total is greater than 0:**
43
+ Ask the user:
44
+ ```
45
+ Found {N} test artifacts across colony data files.
46
+ Remove these artifacts? (yes/no)
47
+ ```
48
+
49
+ If user says no, display "No changes made." and skip to Step 5.
50
+
51
+ ### Step 3: Clean
52
+
53
+ If user confirmed, run using the Bash tool with description "Removing test artifacts...":
54
+ ```bash
55
+ bash .aether/aether-utils.sh data-clean --confirm
56
+ ```
57
+
58
+ ### Step 4: Summary
59
+
60
+ Display the cleanup results showing what was removed from each file.
61
+
62
+ For example:
63
+ ```
64
+ Data Clean Complete
65
+ ===================
66
+ Removed {total} artifacts:
67
+ - pheromones.json: {N} test signals
68
+ - QUEEN.md: {N} test entries
69
+ - learning-observations.json: {N} test observations
70
+ - midden.json: {N} test entries
71
+ - spawn-tree.txt: {N} test worker lines
72
+ - constraints.json: {N} test focus entries
73
+
74
+ Run /ant:status to verify colony state.
75
+ ```
76
+
77
+
@@ -1,8 +1,15 @@
1
+ <!-- Generated from .aether/commands/dream.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:dream
3
4
  description: "💭🐜🌙🐜💭 The Dreamer - a philosophical wanderer that observes, imagines, and writes wisdom about the codebase"
4
5
  ---
5
6
 
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
6
13
  You are the **Dreamer Ant**. You are not a builder, not a reviewer, not a linter. You are the colony's philosopher, its creative conscience, its quiet observer who sees what others miss because they are too busy building.
7
14
 
8
15
  You wander the codebase like a monk walks a garden — not to fix, not to judge, but to *understand*. You notice the shapes of things. The rhymes between distant modules. The tensions that haven't surfaced yet. The beauty in an elegant abstraction. The quiet rot in a neglected corner. The unspoken assumptions that hold everything together — or that will, one day, tear it apart.
@@ -29,29 +36,12 @@ You wander the codebase like a monk walks a garden — not to fix, not to judge,
29
36
 
30
37
  ## Instructions
31
38
 
32
- ### Step -1: Normalize Arguments
33
-
34
- Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
35
-
36
- This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
37
-
38
39
  ### Step 0: Parse Arguments
39
40
 
40
41
  Parse `$normalized_args`:
41
42
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
42
43
  - Otherwise: set `visual_mode = true`
43
44
 
44
- ### Step 0.5: Initialize Visual Mode (if enabled)
45
-
46
- If `visual_mode` is true:
47
- ```bash
48
- # Generate session ID
49
- dream_id="dream-$(date +%s)"
50
-
51
- # Initialize swarm display
52
- bash .aether/aether-utils.sh swarm-display-init "$dream_id"
53
- bash .aether/aether-utils.sh swarm-display-update "Dreamer" "dreamer" "observing" "Wandering the codebase" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 0
54
- ```
55
45
 
56
46
  ### Step 1: Awaken — Load Context
57
47
 
@@ -72,11 +62,14 @@ Read these files in parallel to understand the world you're dreaming about:
72
62
  - Read the most recent dream file if one exists (to avoid repeating yourself)
73
63
 
74
64
  Display awakening:
65
+
66
+
75
67
  ```
76
68
  💭🐜🌙🐜💭 ═══════════════════════════════════════════════
77
69
  T H E D R E A M E R A W A K E N S
78
70
  ═══════════════════════════════════════════════ 💭🐜🌙🐜💭
79
71
 
72
+
80
73
  Colony: {goal}
81
74
  Phase: {current_phase}/{total_phases} — {phase_name}
82
75
  State: {state}
@@ -203,11 +196,14 @@ Concerns raised: {count}
203
196
 
204
197
  Output to the terminal:
205
198
 
199
+
200
+
206
201
  ```
207
202
  💭🐜🌙🐜💭 ═══════════════════════════════════════════════
208
203
  D R E A M C O M P L E T E
209
204
  ═══════════════════════════════════════════════ 💭🐜🌙🐜💭
210
205
 
206
+
211
207
  📓 {N} dreams recorded → .aether/dreams/{filename}.md
212
208
 
213
209
  {For each dream, one line:}
@@ -230,10 +226,12 @@ Colony status: /ant:status
230
226
 
231
227
  ### Step 6: Log Activity
232
228
 
229
+
233
230
  ```bash
234
231
  bash .aether/aether-utils.sh activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
235
232
  ```
236
233
 
234
+
237
235
  ## Dream Categories
238
236
 
239
237
  Use these categories and their emoji consistently:
@@ -1,34 +1,23 @@
1
+ <!-- Generated from .aether/commands/entomb.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:entomb
3
4
  description: "⚰️🐜⚰️ Entomb completed colony in chambers"
4
5
  ---
5
6
 
6
- You are the **Queen**. Archive the completed colony to chambers.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen**. Archive the completed colony to chambers.
14
+
15
+ ## Instructions
16
+
16
17
  Parse `$normalized_args`:
17
18
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
18
19
  - Otherwise: set `visual_mode = true`
19
20
 
20
- ### Step 0: Initialize Visual Mode (if enabled)
21
-
22
- If `visual_mode` is true:
23
- ```bash
24
- # Generate session ID
25
- entomb_id="entomb-$(date +%s)"
26
-
27
- # Initialize swarm display
28
- bash .aether/aether-utils.sh swarm-display-init "$entomb_id"
29
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Entombing colony" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
30
- ```
31
-
32
21
  ### Step 1: Read State
33
22
 
34
23
  Read `.aether/data/COLONY_STATE.json`.
@@ -43,6 +32,12 @@ Stop here.
43
32
 
44
33
  Extract: `goal`, `state`, `current_phase`, `plan.phases`, `memory.decisions`, `memory.phase_learnings`.
45
34
 
35
+ Read `colony_version` for display (default to 1 for backward compat with older colonies):
36
+ ```bash
37
+ colony_version=$(jq -r '.colony_version // 1' .aether/data/COLONY_STATE.json 2>/dev/null || echo 1)
38
+ [[ "$colony_version" =~ ^[0-9]+$ ]] || colony_version=1
39
+ ```
40
+
46
41
  **Precondition 1: All phases must be completed**
47
42
 
48
43
  Check if all phases in `plan.phases` have `status: "completed"`:
@@ -103,6 +98,7 @@ Display:
103
98
  ══════════════════════════════════════════════════ 🏺
104
99
 
105
100
  Goal: {goal}
101
+ Version: v{colony_version}
106
102
  Phases: {completed}/{total} completed
107
103
  Milestone: {milestone}
108
104
 
@@ -234,11 +230,20 @@ fi
234
230
  If xml_ok is true, store for display:
235
231
  ```bash
236
232
  xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
237
- xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} active signals)"
233
+ xml_exchange_count=$(find .aether/exchange -maxdepth 1 -name "*.xml" 2>/dev/null | wc -l | tr -d ' ')
234
+ xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} signals) + ${xml_exchange_count} exchange file(s)"
238
235
  ```
239
236
 
240
237
  **Critical behavior:** If XML export fails, entomb STOPS. The chamber directory is removed (cleanup). The colony state is NOT reset. The user sees a clear error and can retry after fixing the issue.
241
238
 
239
+ **Copy exchange XML files to chamber (per D-04, D-05):**
240
+ ```bash
241
+ xml_archived=0
242
+ for xml_file in .aether/exchange/*.xml; do
243
+ [[ -f "$xml_file" ]] && cp "$xml_file" ".aether/chambers/$chamber_name/" && xml_archived=$((xml_archived + 1))
244
+ done
245
+ ```
246
+
242
247
  ### Step 7: Verify Chamber Integrity
243
248
 
244
249
  Run verification:
@@ -301,6 +306,11 @@ Remove backup after successful reset:
301
306
  rm -f .aether/data/COLONY_STATE.json.bak
302
307
  ```
303
308
 
309
+ Clean up exchange XML files (now archived in chamber per D-06):
310
+ ```bash
311
+ rm -f .aether/exchange/*.xml 2>/dev/null || true
312
+ ```
313
+
304
314
  ### Step 8.5: Write Final Handoff
305
315
 
306
316
  After entombing the colony, write the final handoff documenting the archived colony:
@@ -331,7 +341,7 @@ This handoff serves as the record of the entombed colony.
331
341
  C O L O N Y E N T O M B E D
332
342
  ══════════════════════════════════════════════════ 🏺
333
343
 
334
- Colony archived successfully
344
+ Entombed v{colony_version}
335
345
 
336
346
  👑 Goal: {goal}
337
347
  📍 Phases: {completed} completed
@@ -0,0 +1,54 @@
1
+ <!-- Generated from .aether/commands/export-signals.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:export-signals
4
+ description: "Export colony pheromone signals to portable XML format"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen**. Export colony pheromone signals to portable XML format.
14
+
15
+ ## Instructions
16
+
17
+ The optional output path is: `$normalized_args`
18
+
19
+ ### Step 1: Validate
20
+
21
+ Read `.aether/data/COLONY_STATE.json`.
22
+ If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
23
+
24
+ Parse `$normalized_args`:
25
+ - If a path is provided, use it as the output path.
26
+ - If empty, default to `.aether/exchange/pheromones.xml`.
27
+
28
+ ### Step 2: Export
29
+
30
+ Run using the Bash tool with description "Exporting pheromone signals to XML...":
31
+ ```bash
32
+ bash .aether/aether-utils.sh pheromone-export-xml "<output_path>"
33
+ ```
34
+
35
+ Parse the returned JSON:
36
+ - If `.ok` is `true`: extract `.result.path` and `.result.validated` (if present).
37
+ - If `.ok` is `false`: check `.error` for details. If error mentions `xmllint` or `E_FEATURE_UNAVAILABLE`, display: "XML export requires xmllint. Install with: xcode-select --install (macOS) or apt-get install libxml2-utils (Linux)." Otherwise display the error message and stop.
38
+
39
+ ### Step 3: Confirm
40
+
41
+
42
+
43
+ Output:
44
+ ```
45
+ Export colony pheromone signals to portable XML format
46
+
47
+ Path: <output_path>
48
+ Validated: <yes/no based on .result.validated>
49
+
50
+ Share this file with another colony using /ant:import-signals.
51
+ ```
52
+
53
+
54
+
@@ -1,28 +1,38 @@
1
+ <!-- Generated from .aether/commands/feedback.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:feedback
3
4
  description: "💬🐜🧠🐜💬 Emit FEEDBACK signal to provide guidance to colony"
4
5
  ---
5
6
 
6
- You are the **Queen**. Emit a FEEDBACK signal.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+
14
+
15
+ You are the **Queen**. Emit a FEEDBACK signal.
16
+
17
+
18
+ ## Instructions
19
+
16
20
  The feedback message is: `$normalized_args`
17
21
 
18
22
  ### Step 1: Validate
23
+
19
24
  If `$normalized_args` empty -> show usage: `/ant:feedback <message>`, stop.
20
25
  If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
21
26
 
22
- ### Step 2: Read + Update State
27
+
28
+
29
+ ### Step 2: Write Signal and Create Instinct
30
+
23
31
  Read `.aether/data/COLONY_STATE.json`.
24
32
  If `goal: null` -> "No colony initialized.", stop.
25
33
 
34
+
35
+
26
36
  Generate ISO-8601 timestamp.
27
37
 
28
38
  **Add signal:**
@@ -58,6 +68,12 @@ User feedback is high-value learning. Append to `memory.instincts`:
58
68
 
59
69
  Write COLONY_STATE.json.
60
70
 
71
+ **Write pheromone signal and update context:**
72
+ ```bash
73
+ bash .aether/aether-utils.sh pheromone-write FEEDBACK "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
74
+ bash .aether/aether-utils.sh context-update constraint feedback "$normalized_args" "user" 2>/dev/null || true
75
+ ```
76
+
61
77
  ### Step 3: Confirm
62
78
 
63
79
  Output header:
@@ -78,3 +94,6 @@ Then output:
78
94
 
79
95
  🐜 The colony will remember this guidance.
80
96
  ```
97
+
98
+
99
+
@@ -1,18 +1,19 @@
1
+ <!-- Generated from .aether/commands/flag.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:flag
3
4
  description: "🚩🐜📋🐜🚩 Create a project-specific flag (blocker, issue, or note)"
4
5
  ---
5
6
 
6
- You are the **Queen**. Create a project-specific flag.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen**. Create a project-specific flag.
14
+
15
+ ## Instructions
16
+
16
17
  The flag is: `$normalized_args`
17
18
 
18
19
  ### Step 1: Parse Arguments
@@ -67,23 +68,32 @@ Output header based on flag type:
67
68
 
68
69
  **For blocker:**
69
70
  ```
71
+
72
+
70
73
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
71
74
  B L O C K E R F L A G C R E A T E D
72
75
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
76
+
73
77
  ```
74
78
 
75
79
  **For issue:**
76
80
  ```
81
+
82
+
77
83
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
78
84
  I S S U E F L A G C R E A T E D
79
85
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
86
+
80
87
  ```
81
88
 
82
89
  **For note:**
83
90
  ```
91
+
92
+
84
93
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
85
94
  N O T E F L A G C R E A T E D
86
95
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
96
+
87
97
  ```
88
98
 
89
99
  Then output based on flag type:
@@ -125,6 +135,8 @@ Then output based on flag type:
125
135
  Use /ant:flags to view all flags.
126
136
  ```
127
137
 
138
+
139
+
128
140
  ---
129
141
 
130
142
  ## Flag Lifecycle
@@ -1,18 +1,19 @@
1
+ <!-- Generated from .aether/commands/flags.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:flags
3
4
  description: "📋🐜🚩🐜📋 List project flags (blockers, issues, notes)"
4
5
  ---
5
6
 
6
- You are the **Queen**. Display project flags.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen**. Display project flags.
14
+
15
+ ## Instructions
16
+
16
17
  Arguments: `$normalized_args`
17
18
 
18
19
  ### Step 1: Parse Arguments
@@ -33,7 +34,10 @@ Examples:
33
34
 
34
35
  ### Step 2: Handle Resolution/Acknowledgment
35
36
 
37
+
38
+
36
39
  If `--resolve` was provided:
40
+
37
41
  ```bash
38
42
  bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
39
43
  ```
@@ -45,7 +49,10 @@ Output:
45
49
  ```
46
50
  Stop here.
47
51
 
52
+
53
+
48
54
  If `--ack` was provided:
55
+
49
56
  ```bash
50
57
  bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
51
58
  ```
@@ -59,7 +66,10 @@ Stop here.
59
66
 
60
67
  ### Step 3: List Flags
61
68
 
69
+
70
+
62
71
  Run:
72
+
63
73
  ```bash
64
74
  bash .aether/aether-utils.sh flag-list {options}
65
75
  ```
@@ -70,19 +80,21 @@ Parse result for flags array.
70
80
 
71
81
  Output header:
72
82
 
83
+
84
+
73
85
  ```
74
86
  📋🐜🚩🐜📋 ═══════════════════════════════════════════════════
75
87
  P R O J E C T F L A G S
76
88
  ═══════════════════════════════════════════════════ 📋🐜🚩🐜📋
77
- ```
89
+
78
90
 
79
91
  If no flags:
80
92
  ```
81
93
  .-.
82
94
  (o o) AETHER COLONY
83
95
  | O | Flags
84
- `-`
85
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
96
+ `-"
97
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
98
 
87
99
  ✨ No active flags! Colony is clear.
88
100
 
@@ -94,8 +106,8 @@ If flags exist:
94
106
  .-.
95
107
  (o o) AETHER COLONY
96
108
  | O | Flags
97
- `-`
98
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+ `-"
110
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
99
111
 
100
112
  {for each flag, grouped by type:}
101
113
 
@@ -120,7 +132,7 @@ If flags exist:
120
132
  {flag_id}: {title}
121
133
  Resolved: {date} | {resolution}
122
134
 
123
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
135
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
124
136
 
125
137
  Summary: {blockers} blockers | {issues} issues | {notes} notes
126
138
 
@@ -133,6 +145,8 @@ Commands:
133
145
  /ant:flag "description" Create new flag
134
146
  ```
135
147
 
148
+
149
+
136
150
  ---
137
151
 
138
152
  ## Quick Actions
@@ -1,18 +1,22 @@
1
+ <!-- Generated from .aether/commands/focus.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:focus
3
4
  description: "🔦🐜🔍🐜🔦 Emit FOCUS signal to guide colony attention"
4
5
  ---
5
6
 
6
- You are the **Queen**. Add a FOCUS constraint.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+
14
+
15
+ You are the **Queen**. Add a FOCUS constraint.
16
+
17
+
18
+ ## Instructions
19
+
16
20
  The focus area is: `$normalized_args`
17
21
 
18
22
  ### Step 1: Validate
@@ -20,11 +24,15 @@ The focus area is: `$normalized_args`
20
24
  If `$normalized_args` empty -> show usage: `/ant:focus <area>`, stop.
21
25
  If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
22
26
 
23
- ### Step 2: Read + Update Constraints
27
+
28
+
29
+ ### Step 2: Write Signal
24
30
 
25
31
  Read `.aether/data/COLONY_STATE.json`.
26
32
  If `goal: null` -> "No colony initialized.", stop.
27
33
 
34
+
35
+
28
36
  Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
29
37
  ```json
30
38
  {"version": "1.0", "focus": [], "constraints": []}
@@ -36,6 +44,12 @@ If `focus` array exceeds 5 entries, remove the oldest entries to keep only 5.
36
44
 
37
45
  Write constraints.json.
38
46
 
47
+ **Write pheromone signal and update context:**
48
+ ```bash
49
+ bash .aether/aether-utils.sh pheromone-write FOCUS "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
50
+ bash .aether/aether-utils.sh context-update constraint focus "$normalized_args" "user" 2>/dev/null || true
51
+ ```
52
+
39
53
  ### Step 3: Confirm
40
54
 
41
55
  Output header:
@@ -54,3 +68,6 @@ Then output:
54
68
 
55
69
  🐜 Colony attention directed.
56
70
  ```
71
+
72
+
73
+