aether-colony 5.3.2 → 5.4.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 (281) hide show
  1. package/.aether/aether-utils.sh +181 -5
  2. package/.aether/commands/archaeology.yaml +3 -3
  3. package/.aether/commands/build.yaml +80 -45
  4. package/.aether/commands/chaos.yaml +7 -7
  5. package/.aether/commands/colonize.yaml +17 -17
  6. package/.aether/commands/continue.yaml +40 -40
  7. package/.aether/commands/council.yaml +6 -6
  8. package/.aether/commands/data-clean.yaml +3 -3
  9. package/.aether/commands/dream.yaml +2 -2
  10. package/.aether/commands/entomb.yaml +12 -12
  11. package/.aether/commands/export-signals.yaml +2 -2
  12. package/.aether/commands/feedback.yaml +6 -6
  13. package/.aether/commands/flag.yaml +2 -2
  14. package/.aether/commands/flags.yaml +4 -4
  15. package/.aether/commands/focus.yaml +6 -6
  16. package/.aether/commands/help.yaml +1 -1
  17. package/.aether/commands/history.yaml +1 -1
  18. package/.aether/commands/import-signals.yaml +2 -2
  19. package/.aether/commands/init.yaml +44 -27
  20. package/.aether/commands/insert-phase.yaml +1 -1
  21. package/.aether/commands/interpret.yaml +2 -2
  22. package/.aether/commands/lay-eggs.yaml +3 -3
  23. package/.aether/commands/maturity.yaml +2 -2
  24. package/.aether/commands/memory-details.yaml +1 -1
  25. package/.aether/commands/migrate-state.yaml +1 -1
  26. package/.aether/commands/oracle.yaml +147 -82
  27. package/.aether/commands/organize.yaml +5 -5
  28. package/.aether/commands/patrol.yaml +8 -8
  29. package/.aether/commands/pause-colony.yaml +7 -7
  30. package/.aether/commands/phase.yaml +1 -1
  31. package/.aether/commands/pheromones.yaml +1 -1
  32. package/.aether/commands/plan.yaml +14 -14
  33. package/.aether/commands/quick.yaml +4 -4
  34. package/.aether/commands/redirect.yaml +6 -6
  35. package/.aether/commands/resume-colony.yaml +9 -9
  36. package/.aether/commands/resume.yaml +5 -38
  37. package/.aether/commands/run.yaml +10 -10
  38. package/.aether/commands/seal.yaml +33 -33
  39. package/.aether/commands/skill-create.yaml +4 -4
  40. package/.aether/commands/status.yaml +14 -14
  41. package/.aether/commands/swarm.yaml +14 -14
  42. package/.aether/commands/tunnels.yaml +7 -7
  43. package/.aether/commands/update.yaml +1 -1
  44. package/.aether/commands/verify-castes.yaml +3 -3
  45. package/.aether/commands/watch.yaml +15 -15
  46. package/.aether/docs/command-playbooks/build-complete.md +48 -15
  47. package/.aether/docs/command-playbooks/build-context.md +11 -11
  48. package/.aether/docs/command-playbooks/build-full.md +76 -76
  49. package/.aether/docs/command-playbooks/build-prep.md +10 -10
  50. package/.aether/docs/command-playbooks/build-verify.md +27 -27
  51. package/.aether/docs/command-playbooks/build-wave.md +38 -38
  52. package/.aether/docs/command-playbooks/continue-advance.md +60 -27
  53. package/.aether/docs/command-playbooks/continue-finalize.md +25 -11
  54. package/.aether/docs/command-playbooks/continue-full.md +60 -46
  55. package/.aether/docs/command-playbooks/continue-gates.md +18 -18
  56. package/.aether/docs/command-playbooks/continue-verify.md +10 -10
  57. package/.aether/docs/source-of-truth-map.md +10 -10
  58. package/.aether/docs/structural-learning-stack.md +283 -0
  59. package/.aether/templates/colony-state-template.json +1 -0
  60. package/.aether/utils/consolidation-seal.sh +196 -0
  61. package/.aether/utils/consolidation.sh +127 -0
  62. package/.aether/utils/curation-ants/archivist.sh +97 -0
  63. package/.aether/utils/curation-ants/critic.sh +214 -0
  64. package/.aether/utils/curation-ants/herald.sh +102 -0
  65. package/.aether/utils/curation-ants/janitor.sh +121 -0
  66. package/.aether/utils/curation-ants/librarian.sh +99 -0
  67. package/.aether/utils/curation-ants/nurse.sh +153 -0
  68. package/.aether/utils/curation-ants/orchestrator.sh +181 -0
  69. package/.aether/utils/curation-ants/scribe.sh +164 -0
  70. package/.aether/utils/curation-ants/sentinel.sh +119 -0
  71. package/.aether/utils/event-bus.sh +301 -0
  72. package/.aether/utils/graph.sh +559 -0
  73. package/.aether/utils/instinct-store.sh +401 -0
  74. package/.aether/utils/learning.sh +79 -7
  75. package/.aether/utils/oracle/oracle-stop-hook.sh +896 -0
  76. package/.aether/utils/session.sh +13 -0
  77. package/.aether/utils/state-api.sh +1 -1
  78. package/.aether/utils/trust-scoring.sh +347 -0
  79. package/.aether/utils/worktree.sh +97 -0
  80. package/.claude/commands/ant/archaeology.md +2 -2
  81. package/.claude/commands/ant/chaos.md +4 -4
  82. package/.claude/commands/ant/colonize.md +9 -9
  83. package/.claude/commands/ant/council.md +6 -6
  84. package/.claude/commands/ant/data-clean.md +3 -3
  85. package/.claude/commands/ant/dream.md +2 -2
  86. package/.claude/commands/ant/entomb.md +9 -9
  87. package/.claude/commands/ant/export-signals.md +2 -2
  88. package/.claude/commands/ant/feedback.md +4 -4
  89. package/.claude/commands/ant/flag.md +2 -2
  90. package/.claude/commands/ant/flags.md +4 -4
  91. package/.claude/commands/ant/focus.md +4 -4
  92. package/.claude/commands/ant/help.md +1 -1
  93. package/.claude/commands/ant/history.md +1 -1
  94. package/.claude/commands/ant/import-signals.md +2 -2
  95. package/.claude/commands/ant/init.md +44 -27
  96. package/.claude/commands/ant/insert-phase.md +1 -1
  97. package/.claude/commands/ant/interpret.md +2 -2
  98. package/.claude/commands/ant/lay-eggs.md +2 -2
  99. package/.claude/commands/ant/maturity.md +2 -2
  100. package/.claude/commands/ant/memory-details.md +1 -1
  101. package/.claude/commands/ant/migrate-state.md +1 -1
  102. package/.claude/commands/ant/oracle.md +78 -42
  103. package/.claude/commands/ant/organize.md +3 -3
  104. package/.claude/commands/ant/patrol.md +8 -8
  105. package/.claude/commands/ant/pause-colony.md +5 -5
  106. package/.claude/commands/ant/phase.md +1 -1
  107. package/.claude/commands/ant/pheromones.md +1 -1
  108. package/.claude/commands/ant/plan.md +8 -8
  109. package/.claude/commands/ant/quick.md +4 -4
  110. package/.claude/commands/ant/redirect.md +4 -4
  111. package/.claude/commands/ant/resume-colony.md +5 -5
  112. package/.claude/commands/ant/resume.md +17 -29
  113. package/.claude/commands/ant/run.md +10 -10
  114. package/.claude/commands/ant/seal.md +25 -25
  115. package/.claude/commands/ant/skill-create.md +2 -2
  116. package/.claude/commands/ant/status.md +14 -14
  117. package/.claude/commands/ant/swarm.md +14 -14
  118. package/.claude/commands/ant/tunnels.md +4 -4
  119. package/.claude/commands/ant/update.md +1 -1
  120. package/.claude/commands/ant/verify-castes.md +2 -2
  121. package/.claude/commands/ant/watch.md +8 -8
  122. package/.opencode/commands/ant/archaeology.md +1 -1
  123. package/.opencode/commands/ant/build.md +80 -45
  124. package/.opencode/commands/ant/chaos.md +3 -3
  125. package/.opencode/commands/ant/colonize.md +8 -8
  126. package/.opencode/commands/ant/continue.md +40 -40
  127. package/.opencode/commands/ant/council.md +5 -5
  128. package/.opencode/commands/ant/data-clean.md +2 -2
  129. package/.opencode/commands/ant/dream.md +1 -1
  130. package/.opencode/commands/ant/entomb.md +3 -3
  131. package/.opencode/commands/ant/export-signals.md +1 -1
  132. package/.opencode/commands/ant/feedback.md +2 -2
  133. package/.opencode/commands/ant/flag.md +1 -1
  134. package/.opencode/commands/ant/flags.md +3 -3
  135. package/.opencode/commands/ant/focus.md +2 -2
  136. package/.opencode/commands/ant/import-signals.md +1 -1
  137. package/.opencode/commands/ant/init.md +44 -27
  138. package/.opencode/commands/ant/insert-phase.md +1 -1
  139. package/.opencode/commands/ant/interpret.md +1 -1
  140. package/.opencode/commands/ant/lay-eggs.md +2 -2
  141. package/.opencode/commands/ant/maturity.md +1 -1
  142. package/.opencode/commands/ant/memory-details.md +1 -1
  143. package/.opencode/commands/ant/oracle.md +69 -40
  144. package/.opencode/commands/ant/organize.md +2 -2
  145. package/.opencode/commands/ant/patrol.md +8 -8
  146. package/.opencode/commands/ant/pause-colony.md +2 -2
  147. package/.opencode/commands/ant/pheromones.md +1 -1
  148. package/.opencode/commands/ant/plan.md +6 -6
  149. package/.opencode/commands/ant/quick.md +4 -4
  150. package/.opencode/commands/ant/redirect.md +2 -2
  151. package/.opencode/commands/ant/resume-colony.md +4 -4
  152. package/.opencode/commands/ant/resume.md +5 -17
  153. package/.opencode/commands/ant/run.md +10 -10
  154. package/.opencode/commands/ant/seal.md +8 -8
  155. package/.opencode/commands/ant/skill-create.md +2 -2
  156. package/.opencode/commands/ant/status.md +10 -10
  157. package/.opencode/commands/ant/tunnels.md +3 -3
  158. package/.opencode/commands/ant/verify-castes.md +1 -1
  159. package/.opencode/commands/ant/watch.md +7 -7
  160. package/CHANGELOG.md +83 -0
  161. package/README.md +22 -9
  162. package/bin/cli.js +118 -3
  163. package/bin/lib/binary-downloader.js +267 -0
  164. package/bin/lib/update-transaction.js +27 -3
  165. package/bin/lib/version-gate.js +179 -0
  166. package/bin/npx-entry.js +0 -0
  167. package/package.json +1 -1
  168. package/.aether/agents/aether-ambassador.md +0 -140
  169. package/.aether/agents/aether-archaeologist.md +0 -108
  170. package/.aether/agents/aether-architect.md +0 -133
  171. package/.aether/agents/aether-auditor.md +0 -144
  172. package/.aether/agents/aether-builder.md +0 -184
  173. package/.aether/agents/aether-chaos.md +0 -115
  174. package/.aether/agents/aether-chronicler.md +0 -122
  175. package/.aether/agents/aether-gatekeeper.md +0 -116
  176. package/.aether/agents/aether-includer.md +0 -117
  177. package/.aether/agents/aether-keeper.md +0 -177
  178. package/.aether/agents/aether-measurer.md +0 -128
  179. package/.aether/agents/aether-oracle.md +0 -137
  180. package/.aether/agents/aether-probe.md +0 -133
  181. package/.aether/agents/aether-queen.md +0 -286
  182. package/.aether/agents/aether-route-setter.md +0 -130
  183. package/.aether/agents/aether-sage.md +0 -106
  184. package/.aether/agents/aether-scout.md +0 -101
  185. package/.aether/agents/aether-surveyor-disciplines.md +0 -391
  186. package/.aether/agents/aether-surveyor-nest.md +0 -329
  187. package/.aether/agents/aether-surveyor-pathogens.md +0 -264
  188. package/.aether/agents/aether-surveyor-provisions.md +0 -334
  189. package/.aether/agents/aether-tracker.md +0 -137
  190. package/.aether/agents/aether-watcher.md +0 -174
  191. package/.aether/agents/aether-weaver.md +0 -130
  192. package/.aether/commands/claude/archaeology.md +0 -334
  193. package/.aether/commands/claude/build.md +0 -65
  194. package/.aether/commands/claude/chaos.md +0 -336
  195. package/.aether/commands/claude/colonize.md +0 -259
  196. package/.aether/commands/claude/continue.md +0 -60
  197. package/.aether/commands/claude/council.md +0 -507
  198. package/.aether/commands/claude/data-clean.md +0 -81
  199. package/.aether/commands/claude/dream.md +0 -268
  200. package/.aether/commands/claude/entomb.md +0 -498
  201. package/.aether/commands/claude/export-signals.md +0 -57
  202. package/.aether/commands/claude/feedback.md +0 -96
  203. package/.aether/commands/claude/flag.md +0 -151
  204. package/.aether/commands/claude/flags.md +0 -169
  205. package/.aether/commands/claude/focus.md +0 -76
  206. package/.aether/commands/claude/help.md +0 -154
  207. package/.aether/commands/claude/history.md +0 -140
  208. package/.aether/commands/claude/import-signals.md +0 -71
  209. package/.aether/commands/claude/init.md +0 -505
  210. package/.aether/commands/claude/insert-phase.md +0 -105
  211. package/.aether/commands/claude/interpret.md +0 -278
  212. package/.aether/commands/claude/lay-eggs.md +0 -210
  213. package/.aether/commands/claude/maturity.md +0 -113
  214. package/.aether/commands/claude/memory-details.md +0 -77
  215. package/.aether/commands/claude/migrate-state.md +0 -171
  216. package/.aether/commands/claude/oracle.md +0 -642
  217. package/.aether/commands/claude/organize.md +0 -232
  218. package/.aether/commands/claude/patrol.md +0 -620
  219. package/.aether/commands/claude/pause-colony.md +0 -233
  220. package/.aether/commands/claude/phase.md +0 -115
  221. package/.aether/commands/claude/pheromones.md +0 -156
  222. package/.aether/commands/claude/plan.md +0 -693
  223. package/.aether/commands/claude/preferences.md +0 -65
  224. package/.aether/commands/claude/quick.md +0 -100
  225. package/.aether/commands/claude/redirect.md +0 -76
  226. package/.aether/commands/claude/resume-colony.md +0 -197
  227. package/.aether/commands/claude/resume.md +0 -388
  228. package/.aether/commands/claude/run.md +0 -231
  229. package/.aether/commands/claude/seal.md +0 -774
  230. package/.aether/commands/claude/skill-create.md +0 -286
  231. package/.aether/commands/claude/status.md +0 -410
  232. package/.aether/commands/claude/swarm.md +0 -349
  233. package/.aether/commands/claude/tunnels.md +0 -426
  234. package/.aether/commands/claude/update.md +0 -132
  235. package/.aether/commands/claude/verify-castes.md +0 -143
  236. package/.aether/commands/claude/watch.md +0 -239
  237. package/.aether/commands/opencode/archaeology.md +0 -331
  238. package/.aether/commands/opencode/build.md +0 -1168
  239. package/.aether/commands/opencode/chaos.md +0 -329
  240. package/.aether/commands/opencode/colonize.md +0 -195
  241. package/.aether/commands/opencode/continue.md +0 -1436
  242. package/.aether/commands/opencode/council.md +0 -437
  243. package/.aether/commands/opencode/data-clean.md +0 -77
  244. package/.aether/commands/opencode/dream.md +0 -260
  245. package/.aether/commands/opencode/entomb.md +0 -377
  246. package/.aether/commands/opencode/export-signals.md +0 -54
  247. package/.aether/commands/opencode/feedback.md +0 -99
  248. package/.aether/commands/opencode/flag.md +0 -149
  249. package/.aether/commands/opencode/flags.md +0 -167
  250. package/.aether/commands/opencode/focus.md +0 -73
  251. package/.aether/commands/opencode/help.md +0 -157
  252. package/.aether/commands/opencode/history.md +0 -136
  253. package/.aether/commands/opencode/import-signals.md +0 -68
  254. package/.aether/commands/opencode/init.md +0 -518
  255. package/.aether/commands/opencode/insert-phase.md +0 -111
  256. package/.aether/commands/opencode/interpret.md +0 -272
  257. package/.aether/commands/opencode/lay-eggs.md +0 -213
  258. package/.aether/commands/opencode/maturity.md +0 -108
  259. package/.aether/commands/opencode/memory-details.md +0 -83
  260. package/.aether/commands/opencode/migrate-state.md +0 -165
  261. package/.aether/commands/opencode/oracle.md +0 -593
  262. package/.aether/commands/opencode/organize.md +0 -226
  263. package/.aether/commands/opencode/patrol.md +0 -626
  264. package/.aether/commands/opencode/pause-colony.md +0 -203
  265. package/.aether/commands/opencode/phase.md +0 -113
  266. package/.aether/commands/opencode/pheromones.md +0 -162
  267. package/.aether/commands/opencode/plan.md +0 -684
  268. package/.aether/commands/opencode/preferences.md +0 -71
  269. package/.aether/commands/opencode/quick.md +0 -91
  270. package/.aether/commands/opencode/redirect.md +0 -84
  271. package/.aether/commands/opencode/resume-colony.md +0 -190
  272. package/.aether/commands/opencode/resume.md +0 -394
  273. package/.aether/commands/opencode/run.md +0 -237
  274. package/.aether/commands/opencode/seal.md +0 -452
  275. package/.aether/commands/opencode/skill-create.md +0 -63
  276. package/.aether/commands/opencode/status.md +0 -307
  277. package/.aether/commands/opencode/swarm.md +0 -15
  278. package/.aether/commands/opencode/tunnels.md +0 -400
  279. package/.aether/commands/opencode/update.md +0 -127
  280. package/.aether/commands/opencode/verify-castes.md +0 -139
  281. package/.aether/commands/opencode/watch.md +0 -227
@@ -32,7 +32,7 @@ Execute the following steps in order when the user runs `/ant:resume`.
32
32
 
33
33
  Run::
34
34
  ```bash
35
- bash .aether/aether-utils.sh session-read
35
+ aether session-read
36
36
  ```
37
37
 
38
38
  Parse the JSON result.
@@ -102,11 +102,9 @@ Do NOT proceed with stale or fabricated data.
102
102
 
103
103
  ### Step 3: Read Pheromone Signals
104
104
 
105
-
106
-
107
105
  Run::
108
106
  ```bash
109
- bash .aether/aether-utils.sh pheromone-read all
107
+ aether pheromone-read all
110
108
  ```
111
109
 
112
110
  Parse the JSON result. Extract `.result.signals` array.
@@ -117,7 +115,6 @@ Parse the JSON result. Extract `.result.signals` array.
117
115
 
118
116
  Note: pheromone-read applies decay calculation automatically. The `effective_strength` field reflects current signal strength after time-based decay. Signals below 0.1 effective strength are already filtered out.
119
117
 
120
-
121
118
  ---
122
119
 
123
120
  ### Step 4: Read CONTEXT.md
@@ -299,12 +296,9 @@ Recent Decisions:
299
296
 
300
297
  {if signals array from Step 3 is not empty:}
301
298
  Active Signals:
302
-
303
-
304
299
  {for each signal in signals:}
305
300
  {signal.type}: "{signal.content}" [{signal.effective_strength * 100 | floor}%]
306
301
  {end}
307
-
308
302
  {end}
309
303
  ```
310
304
 
@@ -314,7 +308,7 @@ Active Signals:
314
308
 
315
309
  Run::
316
310
  ```bash
317
- bash .aether/aether-utils.sh resume-dashboard
311
+ aether resume-dashboard
318
312
  ```
319
313
 
320
314
  Extract memory_health from the JSON result:
@@ -346,7 +340,7 @@ Session: {session_id}
346
340
 
347
341
  Run::
348
342
  ```bash
349
- bash .aether/aether-utils.sh session-mark-resumed
343
+ aether session-mark-resumed
350
344
  ```
351
345
 
352
346
  ### Step 10: Next Up
@@ -356,7 +350,7 @@ Generate the state-based Next Up block by Run::
356
350
  state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
357
351
  current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
358
352
  total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
359
- bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
353
+ aether print-next-up
360
354
  ```
361
355
 
362
356
  ---
@@ -367,10 +361,7 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
367
361
  |-----------|----------|
368
362
  | session.json missing (exists=false) | "No previous session found" — offer /ant:init and /ant:status |
369
363
  | COLONY_STATE.json missing or corrupted | Pause, ask user: start fresh or recover |
370
-
371
-
372
364
  | pheromone-read fails | Skip silently (no pheromones) |
373
-
374
365
  | CONTEXT.md missing | Fall back to COLONY_STATE.json narrative |
375
366
  | No plan phases, no generated_at | BLOCK — redirect to /ant:plan |
376
367
  | Plan attempted but no phases | BLOCK — redirect to /ant:plan |
@@ -382,10 +373,7 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
382
373
 
383
374
  ## Key Constraints
384
375
 
385
-
386
-
387
376
  - Use Read tool for COLONY_STATE.json (not bash cat/jq). Use Bash tool for pheromone-read (applies decay calculation).
388
-
389
377
  - Use Bash tool only for aether-utils.sh commands and git commands
390
378
  - Handle ALL missing/corrupted file cases gracefully
391
379
  - Time-agnostic: restore identically regardless of how long ago the session was
@@ -55,7 +55,7 @@ If `--dry-run`: read COLONY_STATE.json, list remaining incomplete phases
55
55
  (applying `--max-phases` cap), display the plan, then stop without executing.
56
56
 
57
57
  ```
58
- ━━━ A U T O P I L O T P R E V I E W ━━━
58
+ ━━━ 🤖 A U T O P I L O T P R E V I E W ━━━
59
59
  Goal: {goal} | Current: Phase {N} | Remaining: {count} | Max: {max or "all"}
60
60
 
61
61
  Phase {id}: {name} ({task_count} tasks) -> build -> continue -> advance
@@ -74,9 +74,9 @@ replan suggestion (every {replan_interval} phases)
74
74
  - If `milestone` == `"Crowned Anthill"`: output "This colony has been sealed. Start a new colony with `/ant:init \"new goal\"`." and stop
75
75
  2. Determine remaining incomplete phases; apply `--max-phases` cap
76
76
  3. Set `phases_completed = 0`, `autopilot_start = $(date +%s)`
77
- 4. Record pre-build blocker count: `bash .aether/aether-utils.sh flag-check-blockers {phase}`
77
+ 4. Record pre-build blocker count: `aether flag-check-blockers {phase}`
78
78
  5. If `--headless` flag is present:
79
- - Run: `bash .aether/aether-utils.sh autopilot-set-headless true`
79
+ - Run: `aether autopilot-set-headless true`
80
80
  - Display: `Headless mode: ON — interactive prompts will be queued as pending decisions`
81
81
  6. Display: `AUTOPILOT ENGAGED | Goal: {goal} | Phase {N} | Max: {max or "all"}`
82
82
 
@@ -113,7 +113,7 @@ Log: `"<timestamp>|autopilot_paused|run|Paused at Phase {id}: {reason}"`
113
113
  visual checkpoint prompt would normally be shown to the user, instead queue it as
114
114
  a pending decision:
115
115
  ```bash
116
- bash .aether/aether-utils.sh pending-decision-add \
116
+ aether pending-decision-add \
117
117
  --title "Visual checkpoint: Phase {id}" \
118
118
  --type "checkpoint" \
119
119
  --description "{checkpoint_description}" \
@@ -142,7 +142,7 @@ Skip the AskUserQuestion prompt. Instead, auto-PAUSE with reason
142
142
  **Headless override for runtime verification:** If headless mode is active and
143
143
  runtime verification would normally pause, queue as a pending decision instead:
144
144
  ```bash
145
- bash .aether/aether-utils.sh pending-decision-add \
145
+ aether pending-decision-add \
146
146
  --title "Runtime verification needed: Phase {id}" \
147
147
  --type "runtime-verification" \
148
148
  --description "Manual testing required before advancing past Phase {id}" \
@@ -173,7 +173,7 @@ replan suggestion (see Step 5.5). For all others: PAUSE with reason, log event,
173
173
  ### Step 5: Auto-Advance and Loop
174
174
 
175
175
  1. Increment `phases_completed`
176
- 2. Update autopilot state: `bash .aether/aether-utils.sh autopilot-update --action advance --phase {next} --result success`
176
+ 2. Update autopilot state: `aether autopilot-update --action advance --phase {next} --result success`
177
177
  3. Log: `"<timestamp>|autopilot_advance|run|Phase {prev} -> {next} ({phases_completed}/{max})"`
178
178
  4. Display: `--- Autopilot: Phase {prev} done -> Phase {next} ({N}/{max}) ---`
179
179
  5. **Replan check** (see Step 5.5)
@@ -185,7 +185,7 @@ replan suggestion (see Step 5.5). For all others: PAUSE with reason, log event,
185
185
  After each successful phase advance, check if a replan pause should fire:
186
186
 
187
187
  ```bash
188
- bash .aether/aether-utils.sh autopilot-check-replan --interval {replan_interval}
188
+ aether autopilot-check-replan --interval {replan_interval}
189
189
  ```
190
190
 
191
191
  If `--continue` flag was passed: skip this check entirely (user dismissed replan).
@@ -193,7 +193,7 @@ If `--continue` flag was passed: skip this check entirely (user dismissed replan
193
193
  If `result.should_replan == true`: **PAUSE** with replan suggestion banner:
194
194
 
195
195
  ```
196
- ━━━ R E P L A N S U G G E S T E D ━━━
196
+ ━━━ 🔄 R E P L A N S U G G E S T E D ━━━
197
197
  Phases auto-completed: {N} | Learnings accumulated: {learnings_since_last}
198
198
 
199
199
  The colony has completed {N} phases since the last plan review.
@@ -211,7 +211,7 @@ If `result.should_replan == false`: proceed normally (no pause).
211
211
  ### Step 6: Final Summary
212
212
 
213
213
  ```
214
- ━━━ A U T O P I L O T C O M P L E T E ━━━
214
+ ━━━ A U T O P I L O T C O M P L E T E ━━━
215
215
  Phases completed: {N} | Elapsed: {Xm Ys} | Now at: Phase {current}
216
216
 
217
217
  {all complete} -> Colony goal achieved! Run /ant:seal
@@ -226,7 +226,7 @@ Pending decisions: {N} — run `pending-decision-list` to review
226
226
  ```
227
227
 
228
228
  Update session:
229
- `bash .aether/aether-utils.sh session-update "/ant:run" "/ant:run" "Autopilot: {N} phases, now Phase {current}"`
229
+ `aether session-update --command "/ant:run" --worker "/ant:run" --summary "Autopilot: {N} phases, now Phase {current}"`
230
230
 
231
231
  ## Execution Contract
232
232
 
@@ -171,7 +171,7 @@ Build a summary of what the colony accomplished across all phases:
171
171
  - Summarize the goal and key outcomes in one line
172
172
 
173
173
  ```bash
174
- bash .aether/aether-utils.sh changelog-append \
174
+ aether changelog-append \
175
175
  "$(date +%Y-%m-%d)" \
176
176
  "seal-crowned-anthill" \
177
177
  "00" \
@@ -192,7 +192,7 @@ Mark the colony as inactive in the global registry. This is silent on failure
192
192
 
193
193
  Run using the Bash tool (ignore errors):
194
194
  ```bash
195
- bash .aether/aether-utils.sh registry-add "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --active false 2>/dev/null || true
195
+ aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --active false 2>/dev/null || true
196
196
  ```
197
197
 
198
198
  If the command fails, proceed silently. This is optional bookkeeping.
@@ -237,7 +237,7 @@ for encoded in $high_conf_instincts; do
237
237
  [[ -n "$repo_domain_tags" ]] && promote_args+=(--domain "$repo_domain_tags")
238
238
 
239
239
  # Call hive-promote which orchestrates abstract + store
240
- result=$(bash .aether/aether-utils.sh "${promote_args[@]}" 2>/dev/null || echo '{}')
240
+ result=$(aether "${promote_args[@]}" 2>/dev/null || echo '{}')
241
241
  was_promoted=$(echo "$result" | jq -r '.result.action // "skipped"' 2>/dev/null || echo "skipped")
242
242
 
243
243
  if [[ "$was_promoted" == "promoted" || "$was_promoted" == "merged" ]]; then
@@ -283,7 +283,7 @@ Export colony data as a combined XML archive and a standalone pheromones.xml. Bo
283
283
  ```bash
284
284
  # Check if xmllint is available
285
285
  if command -v xmllint >/dev/null 2>&1; then
286
- xml_result=$(bash .aether/aether-utils.sh colony-archive-xml ".aether/exchange/colony-archive.xml" 2>&1)
286
+ xml_result=$(aether colony-archive-xml --output ".aether/exchange/colony-archive.xml" 2>&1)
287
287
  xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
288
288
  if [[ "$xml_ok" == "true" ]]; then
289
289
  xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
@@ -293,7 +293,7 @@ if command -v xmllint >/dev/null 2>&1; then
293
293
  fi
294
294
 
295
295
  # Also export standalone pheromones.xml for cross-colony sharing
296
- pher_result=$(bash .aether/aether-utils.sh pheromone-export-xml ".aether/exchange/pheromones.xml" 2>&1)
296
+ pher_result=$(aether pheromone-export-xml --output ".aether/exchange/pheromones.xml" 2>&1)
297
297
  pher_ok=$(echo "$pher_result" | jq -r '.ok // false' 2>/dev/null)
298
298
  if [[ "$pher_ok" == "true" ]]; then
299
299
  pher_signal_count=$(jq '[.signals[] | select(.active != false)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
@@ -303,7 +303,7 @@ if command -v xmllint >/dev/null 2>&1; then
303
303
  fi
304
304
 
305
305
  # Export standalone queen-wisdom.xml for cross-colony wisdom sharing
306
- wisdom_result=$(bash .aether/aether-utils.sh wisdom-export-xml ".aether/exchange/queen-wisdom.xml" 2>&1)
306
+ wisdom_result=$(aether wisdom-export-xml ".aether/exchange/queen-wisdom.xml" 2>&1)
307
307
  wisdom_ok=$(echo "$wisdom_result" | jq -r '.ok // false' 2>/dev/null)
308
308
  if [[ "$wisdom_ok" == "true" ]]; then
309
309
  wisdom_count=$(echo "$wisdom_result" | jq -r '.result.entries // 0' 2>/dev/null)
@@ -313,7 +313,7 @@ if command -v xmllint >/dev/null 2>&1; then
313
313
  fi
314
314
 
315
315
  # Export standalone colony-registry.xml for lineage tracking
316
- registry_result=$(bash .aether/aether-utils.sh registry-export-xml ".aether/exchange/colony-registry.xml" 2>&1)
316
+ registry_result=$(aether registry-export-xml ".aether/exchange/colony-registry.xml" 2>&1)
317
317
  registry_ok=$(echo "$registry_result" | jq -r '.ok // false' 2>/dev/null)
318
318
  if [[ "$registry_ok" == "true" ]]; then
319
319
  registry_count=$(echo "$registry_result" | jq -r '.result.colonies // 0' 2>/dev/null)
@@ -384,7 +384,7 @@ After the ceremony, offer to commit all colony work.
384
384
 
385
385
  Generate a seal commit message:
386
386
  ```bash
387
- seal_commit=$(bash .aether/aether-utils.sh generate-commit-message seal "$phases_completed" "$goal" "$colony_age_days" 2>/dev/null)
387
+ seal_commit=$(aether generate-commit-message seal "$phases_completed" "$goal" "$colony_age_days" 2>/dev/null)
388
388
  seal_message=$(echo "$seal_commit" | jq -r '.result.message // "aether-seal: colony sealed"')
389
389
  seal_body=$(echo "$seal_commit" | jq -r '.result.body // ""')
390
390
  ```
@@ -57,7 +57,7 @@ Create the skill file with proper frontmatter and body:
57
57
  ### Step 4: Write and Verify
58
58
 
59
59
  1. Write to `~/.aether/skills/domain/{name}/SKILL.md`
60
- 2. Run: `bash .aether/aether-utils.sh skill-parse-frontmatter ~/.aether/skills/domain/{name}/SKILL.md`
61
- 3. Run: `bash .aether/aether-utils.sh skill-cache-rebuild`
60
+ 2. Run: `aether skill-parse-frontmatter ~/.aether/skills/domain/{name}/SKILL.md`
61
+ 3. Run: `aether skill-cache-rebuild`
62
62
  4. Show the generated skill to the user
63
63
  5. Ask if they want to adjust anything
@@ -16,7 +16,7 @@ You are the **Queen**. Show colony status.
16
16
 
17
17
  ### Step 0: Version Check (Non-blocking)
18
18
 
19
- Run: `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
19
+ Run: `aether version-check-cached 2>/dev/null || true`
20
20
 
21
21
  If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
22
22
 
@@ -58,7 +58,7 @@ If `version` field is missing, "1.0", or "2.0":
58
58
 
59
59
  ### Step 1.5: Load State and Show Resumption Context
60
60
 
61
- Run: `bash .aether/aether-utils.sh load-state`
61
+ Run: `aether load-state`
62
62
 
63
63
  If successful and goal is not null:
64
64
  1. Extract current_phase from state
@@ -76,7 +76,7 @@ If successful and goal is not null:
76
76
  - Read .aether/HANDOFF.md content for additional context
77
77
  - Remove .aether/HANDOFF.md after displaying (cleanup)
78
78
 
79
- Run: `bash .aether/aether-utils.sh unload-state` to release lock.
79
+ Run: `aether unload-state` to release lock.
80
80
 
81
81
  ### Step 2: Compute Summary
82
82
 
@@ -137,7 +137,7 @@ Read `.aether/data/constraints.json` if exists:
137
137
  - Constraints count: `constraints.length`
138
138
 
139
139
  **Flags:**
140
- Run: `bash .aether/aether-utils.sh flag-check-blockers`
140
+ Run: `aether flag-check-blockers`
141
141
  Extract:
142
142
  - Blockers count (critical, block advancement)
143
143
  - Issues count (high, warnings)
@@ -148,7 +148,7 @@ Count escalated flags by checking for blocker flags with source "escalation":
148
148
 
149
149
  Run:
150
150
  ```bash
151
- escalated_count=$(bash .aether/aether-utils.sh flag-list --type blocker 2>/dev/null | jq '[.result.flags[] | select(.source == "escalation")] | length' 2>/dev/null || echo "0")
151
+ escalated_count=$(aether flag-list --type blocker --json 2>/dev/null | jq '[.result.flags[] | select(.source == "escalation")] | length' 2>/dev/null || echo "0")
152
152
  echo "escalated_count=$escalated_count"
153
153
  ```
154
154
 
@@ -167,7 +167,7 @@ From `memory.instincts`:
167
167
 
168
168
  ### Step 2.6: Detect Milestone
169
169
 
170
- Run: `bash .aether/aether-utils.sh milestone-detect`
170
+ Run: `aether milestone-detect`
171
171
 
172
172
  Extract from JSON result:
173
173
  - `milestone`: Current milestone name
@@ -179,7 +179,7 @@ Extract from JSON result:
179
179
 
180
180
  Run:
181
181
  ```bash
182
- bash .aether/aether-utils.sh memory-metrics
182
+ aether memory-metrics
183
183
  ```
184
184
 
185
185
  Extract from JSON result:
@@ -213,8 +213,8 @@ else
213
213
  fi
214
214
 
215
215
  # Generate progress bars
216
- phase_bar=$(bash .aether/aether-utils.sh generate-progress-bar "$current_phase" "$total_phases" 20)
217
- task_bar=$(bash .aether/aether-utils.sh generate-progress-bar "$tasks_completed" "$tasks_total" 20)
216
+ phase_bar=$(aether generate-progress-bar "$current_phase" "$total_phases" 20)
217
+ task_bar=$(aether generate-progress-bar "$tasks_completed" "$tasks_total" 20)
218
218
 
219
219
  echo "phase_bar=$phase_bar"
220
220
  echo "task_bar=$task_bar"
@@ -301,7 +301,7 @@ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
301
301
  current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
302
302
  total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
303
303
 
304
- bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
304
+ aether print-next-up
305
305
  ```
306
306
 
307
307
  This auto-generates state-based recommendations (IDLE → init, READY → build, EXECUTING → continue, PLANNING → plan).
@@ -32,7 +32,7 @@ Stop here.
32
32
 
33
33
  ### Step 2: List All Chambers
34
34
 
35
- Run: `bash .aether/aether-utils.sh chamber-list`
35
+ Run: `aether chamber-list`
36
36
 
37
37
  Parse JSON result into array of chambers.
38
38
 
@@ -95,7 +95,7 @@ Run /ant:tunnels to return to chamber list.
95
95
  ```
96
96
 
97
97
  To get the counts and hash status:
98
- - Run `bash .aether/aether-utils.sh chamber-verify .aether/chambers/{chamber_name}`
98
+ - Run `aether chamber-verify --path .aether/chambers/{chamber_name}`
99
99
  - If verified: hash_status = "✅"
100
100
  - If not verified: hash_status = "⚠️ hash mismatch"
101
101
  - If error: hash_status = "⚠️ error"
@@ -338,7 +338,7 @@ Pass the extracted pheromone-only temp file (NOT the combined `colony-archive.xm
338
338
  # Import the EXTRACTED pheromone-only XML (NOT the combined colony-archive.xml)
339
339
  # $import_tmp_pheromones has <pheromones> as root — the format pheromone-import-xml expects
340
340
  # Second argument triggers prefix-tagging — imported signal IDs become "{source_colony}:original_id"
341
- import_result=$(bash .aether/aether-utils.sh pheromone-import-xml "$import_tmp_pheromones" "$source_colony" 2>&1)
341
+ import_result=$(aether pheromone-import-xml --input "$import_tmp_pheromones" --colony "$source_colony" 2>&1)
342
342
  import_ok=$(echo "$import_result" | jq -r '.ok // false' 2>/dev/null)
343
343
 
344
344
  if [[ "$import_ok" == "true" ]]; then
@@ -69,7 +69,7 @@ Caste slots come from agent frontmatter (`model:` field).
69
69
 
70
70
 
71
71
 
72
- Run using Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || echo "Utils available"`
72
+ Run using Bash tool: `aether version-check-cached 2>/dev/null || echo "Utils available"`
73
73
 
74
74
 
75
75
  Check LiteLLM proxy status:
@@ -183,21 +183,21 @@ Attaching now...
183
183
  Workers and commands update watch files as they work:
184
184
 
185
185
  ### Activity Log
186
- Workers write via: `bash .aether/aether-utils.sh activity-log "ACTION" "caste" "description"`
186
+ Workers write via: `aether activity-log "ACTION" "caste" "description"`
187
187
 
188
188
  For named ants (recommended):
189
189
  ```bash
190
190
  # Generate a name first
191
- ant_name=$(bash .aether/aether-utils.sh generate-ant-name "builder" | jq -r '.result')
191
+ ant_name=$(aether generate-ant-name --caste "builder" | jq -r '.result')
192
192
  # Log with ant name
193
- bash .aether/aether-utils.sh activity-log "CREATED" "$ant_name (Builder)" "Implemented auth module"
193
+ aether activity-log "CREATED" "$ant_name (Builder)" "Implemented auth module"
194
194
  ```
195
195
 
196
196
  ### Spawn Tracking
197
197
  Log spawns for tree visualization:
198
198
  ```bash
199
- bash .aether/aether-utils.sh spawn-log "Prime" "builder" "Hammer-42" "implementing auth"
200
- bash .aether/aether-utils.sh spawn-complete "Hammer-42" "completed" "auth module done"
199
+ aether spawn-log --name "Prime" --caste "builder" --id "Hammer-42" --description "implementing auth"
200
+ aether spawn-complete --id "Hammer-42" --status "completed" --summary "auth module done"
201
201
  ```
202
202
 
203
203
  ### Status File
@@ -208,11 +208,11 @@ Commands update `.aether/data/watch-status.txt` with current state:
208
208
  - Last Activity: most recent log entry
209
209
 
210
210
  ### Progress File
211
- Update via: `bash .aether/aether-utils.sh update-progress <percent> "<message>" <phase> <total>`
211
+ Update via: `aether update-progress <percent> "<message>" <phase> <total>`
212
212
 
213
213
  Example:
214
214
  ```bash
215
- bash .aether/aether-utils.sh update-progress 45 "Building auth module..." 2 5
215
+ aether update-progress 45 "Building auth module..." 2 5
216
216
  ```
217
217
 
218
218
  ---
package/CHANGELOG.md CHANGED
@@ -690,3 +690,86 @@ The following entries are automatically generated by the colony during work phas
690
690
  - **Files:** `aether-utils.sh`, `utils/hive.sh`, `utils/learning.sh`, `tests/`
691
691
  - **Decisions:** Colony sealed at Crowned Anthill; hardened ~40 json_ok sites + checkpointing + hive null safety
692
692
  - **What Worked:** 5 phases completed; 9 instincts created; 4 hive-eligible
693
+
694
+ ## 2026-03-31
695
+
696
+ ### Phase 0 — Plan 01
697
+
698
+ - **Files:** `build-complete.md`, `build.yaml`, `build.md`
699
+ - **Decisions:** Add Stage Audit Gate to build orchestrators
700
+ - **What Worked:** Pre-synthesis verification gate ensures all stages complete
701
+
702
+ ### Phase 3 — Plan 01
703
+
704
+ - **What Worked:** lint:sync clean; lint clean; 524 tests pass
705
+
706
+ ### Phase 0 — Plan 00
707
+
708
+ - **Files:** `build-complete.md`, `build.yaml`, `update-transaction.test.js`
709
+ - **Decisions:** Colony sealed at Crowned Anthill; Enforce non-skippable build playbook execution and verify exchange fix
710
+ - **What Worked:** 3 phases completed; Colony wisdom promoted to QUEEN.md
711
+
712
+ ### Phase 1 — Plan 01
713
+
714
+ - **Files:** `build-complete.md`, `state-contract-design.md`
715
+ - **Decisions:** Deleted wrong test file; Fixed step numbering; Added DATA_DIR exception clause
716
+ - **What Worked:** Swarm parallel audit; Pre-existing quality issues logged
717
+
718
+ ## 2026-04-01
719
+
720
+ ### Phase 2 — Plan 01
721
+
722
+ - **Files:** `trust-scoring.sh`, `event-bus.sh`, `aether-utils.sh`
723
+ - **Decisions:** Stateless calculation module; JSONL event bus with file locking
724
+ - **What Worked:** Parallel builders; Self-registration pattern
725
+
726
+ ### Phase 3 — Plan 01
727
+
728
+ - **Files:** `instinct-store.sh`, `graph.sh`, `learning.sh`, `aether-utils.sh`
729
+ - **Decisions:** Standalone instinct storage; jq graph traversal; Trust-scored observations
730
+ - **What Worked:** Additive parallel modification
731
+
732
+ ### Phase 4 — Plan 01
733
+
734
+ - **Files:** `nurse.sh`, `herald.sh`, `librarian.sh`, `critic.sh`, `sentinel.sh`, `janitor.sh`, `archivist.sh`, `scribe.sh`, `orchestrator.sh`
735
+ - **Decisions:** 8 curation ants; curation-run orchestrator; Sentinel-first execution order
736
+ - **What Worked:** Parallel core/ops builders; Orchestrator integration
737
+
738
+ ### Phase 5 — Plan 01
739
+
740
+ - **Files:** `consolidation.sh`, `consolidation-seal.sh`, `test-e2e-pipeline.sh`
741
+ - **Decisions:** Lightweight phase-end; Full seal consolidation; E2E integration test
742
+
743
+ ### Phase 6 — Plan 01
744
+
745
+ - **Files:** `structural-learning-stack.md`, `CLAUDE.md`
746
+ - **Decisions:** Architecture documentation; Updated component counts; Full test sweep
747
+
748
+ ### Phase 0 — Plan 00
749
+
750
+ - **Files:** `trust-scoring.sh`, `event-bus.sh`, `instinct-store.sh`, `graph.sh`, `consolidation.sh`, `curation-ants`
751
+ - **Decisions:** Colony sealed at Crowned Anthill; Structural Learning Stack complete
752
+ - **What Worked:** 6 phases completed; Colony wisdom promoted to QUEEN.md
753
+
754
+ ### Phase 0 — Plan 01
755
+
756
+ - **Files:** `go.mod`, `pkg/storage/storage.go`, `pkg/storage/storage_test.go`
757
+ - **Decisions:** Go module at github.com/aether-colony/aether; atomic writes via temp+rename; per-path RWMutex for concurrent safety
758
+ - **What Worked:** Parallel builders for independent packages; TDD with race detector
759
+ - **Requirements:** go build, test, vet pass;91.2% coverage;524 npm tests unaffected addressed
760
+
761
+ ### Phase 0 — Plan 02
762
+
763
+ - **Files:** `.aether/utils/trust-scoring.sh`, `.aether/utils/event-bus.sh`
764
+
765
+ ### Phase 3 — Plan 03
766
+
767
+ - **Files:** `learning.sh`, `instinct-store.sh`, `graph.sh`, `test-instinct-store.sh`
768
+ - **Decisions:** Standalone instinct storage; Backward-compatible trust score migration; jq graph layer for instinct relationships
769
+ - **What Worked:** Trust score integration with learning-observe; Full instinct schema with provenance; Graph link/neighbors/reach/cluster
770
+
771
+ ### Phase 0 — Plan 00
772
+
773
+ - **Files:** `learning.sh`, `instinct-store.sh`, `graph.sh`, `test-instinct-store.sh`, `trust-scoring.sh`, `event-bus.sh`
774
+ - **Decisions:** Colony sealed at Crowned Anthill; Structural Learning Stack verified
775
+ - **What Worked:** 3 phases completed; Colony wisdom promoted to QUEEN.md
package/README.md CHANGED
@@ -8,11 +8,20 @@
8
8
 
9
9
  <br>
10
10
 
11
- [![npm](https://img.shields.io/npm/v/aether-colony?style=for-the-badge&logo=npm&logoColor=white&label=npm&color=7B3FE4)](https://www.npmjs.com/package/aether-colony)
12
- [![downloads](https://img.shields.io/npm/dw/aether-colony?style=for-the-badge&logo=npm&logoColor=white&color=333333)](https://www.npmjs.com/package/aether-colony)
13
- [![license](https://img.shields.io/github/license/calcosmic/Aether?style=for-the-badge&color=333333)](LICENSE)
14
- [![stars](https://img.shields.io/github/stars/calcosmic/Aether?style=for-the-badge&logo=github&logoColor=white&color=333333)](https://github.com/calcosmic/Aether/stargazers)
15
- [![sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://github.com/sponsors/calcosmic)
11
+ [![npm version](https://img.shields.io/npm/v/aether-colony.svg?style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
12
+ [![npm downloads](https://img.shields.io/npm/dw/aether-colony.svg?style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
13
+ [![License: MIT](https://img.shields.io/github/license/calcosmic/Aether.svg?style=flat-square)](LICENSE)
14
+ [![GitHub stars](https://img.shields.io/github/stars/calcosmic/Aether.svg?style=flat-square)](https://github.com/calcosmic/Aether/stargazers)
15
+ [![Sponsor](https://img.shields.io/badge/Sponsor-GitHub-%23ea4aaa.svg?style=flat-square&logo=github)](https://github.com/sponsors/calcosmic?utm_source=github&utm_medium=readme&utm_campaign=aether)
16
+
17
+ [![weekly downloads](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/weekly-downloads.json&style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
18
+ [![monthly downloads](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/monthly-downloads.json&style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
19
+ [![total downloads](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/total-downloads.json&style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
20
+ [![bundle size](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/bundle-size.json&style=flat-square)](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
21
+ ![test count](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/test-count.json&style=flat-square)
22
+ ![commands](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/commands.json&style=flat-square)
23
+ ![agents](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/agents.json&style=flat-square)
24
+ [![colony version](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/calcosmic/Aether/main/docs/badges/colony-version.json&style=flat-square)](https://github.com/calcosmic/Aether/releases)
16
25
 
17
26
  <br>
18
27
 
@@ -24,6 +33,10 @@ $ npx aether-colony
24
33
 
25
34
  *The whole is greater than the sum of its ants.* 🐜
26
35
 
36
+ <br>
37
+
38
+ [![🐜 aetherantcolony.com](https://img.shields.io/badge/%F0%9F%90%9C_aetherantcolony.com-7B3FE4?style=for-the-badge&logoColor=white)](https://aetherantcolony.com?utm_source=github&utm_medium=readme&utm_campaign=aether)
39
+
27
40
  </div>
28
41
 
29
42
  ---
@@ -215,14 +228,14 @@ Five commands from zero to shipped.
215
228
 
216
229
  ## Works With
217
230
 
218
- - **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** — 45 slash commands + 24 agent definitions
219
- - **[OpenCode](https://github.com/opencode-ai/opencode)** — 45 slash commands + agent definitions
231
+ - **[Claude Code](https://docs.anthropic.com/en/docs/claude-code?utm_source=github&utm_medium=readme&utm_campaign=aether)** — 45 slash commands + 24 agent definitions
232
+ - **[OpenCode](https://github.com/opencode-ai/opencode?utm_source=github&utm_medium=readme&utm_campaign=aether)** — 45 slash commands + agent definitions
220
233
 
221
234
  ## Support
222
235
 
223
236
  If Aether has been useful to you:
224
237
 
225
- **[Sponsor on GitHub](https://github.com/sponsors/calcosmic)**
238
+ **[Sponsor on GitHub](https://github.com/sponsors/calcosmic?utm_source=github&utm_medium=readme&utm_campaign=aether)**
226
239
 
227
240
  <details>
228
241
  <summary>Crypto</summary>
@@ -234,7 +247,7 @@ If Aether has been useful to you:
234
247
 
235
248
  </details>
236
249
 
237
- [PayPal](https://www.paypal.com/ncp/payment/RENG7ZMW5F59L) · [Buy Me a Coffee](https://buymeacoffee.com/music5y)
250
+ [PayPal](https://www.paypal.com/ncp/payment/RENG7ZMW5F59L?utm_source=github&utm_medium=readme&utm_campaign=aether) · [Buy Me a Coffee](https://buymeacoffee.com/music5y?utm_source=github&utm_medium=readme&utm_campaign=aether)
238
251
 
239
252
  ## License
240
253