aether-colony 5.0.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/.aether/aether-utils.sh +3226 -3345
  2. package/.aether/agents-claude/aether-ambassador.md +265 -0
  3. package/.aether/agents-claude/aether-archaeologist.md +327 -0
  4. package/.aether/agents-claude/aether-architect.md +236 -0
  5. package/.aether/agents-claude/aether-auditor.md +271 -0
  6. package/.aether/agents-claude/aether-builder.md +224 -0
  7. package/.aether/agents-claude/aether-chaos.md +269 -0
  8. package/.aether/agents-claude/aether-chronicler.md +305 -0
  9. package/.aether/agents-claude/aether-gatekeeper.md +330 -0
  10. package/.aether/agents-claude/aether-includer.md +374 -0
  11. package/.aether/agents-claude/aether-keeper.md +272 -0
  12. package/.aether/agents-claude/aether-measurer.md +322 -0
  13. package/.aether/agents-claude/aether-oracle.md +237 -0
  14. package/.aether/agents-claude/aether-probe.md +211 -0
  15. package/.aether/agents-claude/aether-queen.md +330 -0
  16. package/.aether/agents-claude/aether-route-setter.md +178 -0
  17. package/.aether/agents-claude/aether-sage.md +418 -0
  18. package/.aether/agents-claude/aether-scout.md +179 -0
  19. package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
  20. package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
  21. package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
  22. package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
  23. package/.aether/agents-claude/aether-tracker.md +270 -0
  24. package/.aether/agents-claude/aether-watcher.md +280 -0
  25. package/.aether/agents-claude/aether-weaver.md +248 -0
  26. package/.aether/commands/archaeology.yaml +653 -0
  27. package/.aether/commands/build.yaml +1221 -0
  28. package/.aether/commands/chaos.yaml +653 -0
  29. package/.aether/commands/colonize.yaml +442 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +509 -0
  32. package/.aether/commands/data-clean.yaml +80 -0
  33. package/.aether/commands/dream.yaml +275 -0
  34. package/.aether/commands/entomb.yaml +863 -0
  35. package/.aether/commands/export-signals.yaml +64 -0
  36. package/.aether/commands/feedback.yaml +158 -0
  37. package/.aether/commands/flag.yaml +160 -0
  38. package/.aether/commands/flags.yaml +177 -0
  39. package/.aether/commands/focus.yaml +112 -0
  40. package/.aether/commands/help.yaml +167 -0
  41. package/.aether/commands/history.yaml +137 -0
  42. package/.aether/commands/import-signals.yaml +79 -0
  43. package/.aether/commands/init.yaml +502 -0
  44. package/.aether/commands/insert-phase.yaml +102 -0
  45. package/.aether/commands/interpret.yaml +285 -0
  46. package/.aether/commands/lay-eggs.yaml +224 -0
  47. package/.aether/commands/maturity.yaml +122 -0
  48. package/.aether/commands/memory-details.yaml +74 -0
  49. package/.aether/commands/migrate-state.yaml +174 -0
  50. package/.aether/commands/oracle.yaml +1224 -0
  51. package/.aether/commands/organize.yaml +446 -0
  52. package/.aether/commands/patrol.yaml +621 -0
  53. package/.aether/commands/pause-colony.yaml +424 -0
  54. package/.aether/commands/phase.yaml +124 -0
  55. package/.aether/commands/pheromones.yaml +153 -0
  56. package/.aether/commands/plan.yaml +1364 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/quick.yaml +104 -0
  59. package/.aether/commands/redirect.yaml +123 -0
  60. package/.aether/commands/resume-colony.yaml +375 -0
  61. package/.aether/commands/resume.yaml +407 -0
  62. package/.aether/commands/run.yaml +229 -0
  63. package/.aether/commands/seal.yaml +1214 -0
  64. package/.aether/commands/skill-create.yaml +337 -0
  65. package/.aether/commands/status.yaml +408 -0
  66. package/.aether/commands/swarm.yaml +352 -0
  67. package/.aether/commands/tunnels.yaml +814 -0
  68. package/.aether/commands/update.yaml +131 -0
  69. package/.aether/commands/verify-castes.yaml +159 -0
  70. package/.aether/commands/watch.yaml +454 -0
  71. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  72. package/.aether/docs/QUEEN-SYSTEM.md +11 -11
  73. package/.aether/docs/README.md +32 -2
  74. package/.aether/docs/command-playbooks/README.md +23 -0
  75. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  76. package/.aether/docs/command-playbooks/build-context.md +282 -0
  77. package/.aether/docs/command-playbooks/build-full.md +1683 -0
  78. package/.aether/docs/command-playbooks/build-prep.md +284 -0
  79. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  80. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  81. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  82. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  83. package/.aether/docs/command-playbooks/continue-full.md +1725 -0
  84. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  85. package/.aether/docs/command-playbooks/continue-verify.md +407 -0
  86. package/.aether/docs/context-continuity.md +84 -0
  87. package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
  88. package/.aether/docs/error-codes.md +1 -1
  89. package/.aether/docs/known-issues.md +34 -173
  90. package/.aether/docs/pheromones.md +86 -6
  91. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  92. package/.aether/docs/queen-commands.md +10 -9
  93. package/.aether/docs/source-of-truth-map.md +132 -0
  94. package/.aether/docs/xml-utilities.md +47 -0
  95. package/.aether/rules/aether-colony.md +23 -13
  96. package/.aether/scripts/incident-test-add.sh +47 -0
  97. package/.aether/scripts/weekly-audit.sh +79 -0
  98. package/.aether/skills/.index.json +649 -0
  99. package/.aether/skills/colony/.manifest.json +16 -0
  100. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  101. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  102. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  103. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  104. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  105. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  106. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  107. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  108. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  109. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  110. package/.aether/skills/domain/.manifest.json +24 -0
  111. package/.aether/skills/domain/README.md +33 -0
  112. package/.aether/skills/domain/django/SKILL.md +49 -0
  113. package/.aether/skills/domain/docker/SKILL.md +52 -0
  114. package/.aether/skills/domain/golang/SKILL.md +52 -0
  115. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  116. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  117. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  118. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  119. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  120. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  121. package/.aether/skills/domain/python/SKILL.md +50 -0
  122. package/.aether/skills/domain/rails/SKILL.md +52 -0
  123. package/.aether/skills/domain/react/SKILL.md +45 -0
  124. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  125. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  126. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  127. package/.aether/skills/domain/testing/SKILL.md +53 -0
  128. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  129. package/.aether/skills/domain/vue/SKILL.md +49 -0
  130. package/.aether/templates/QUEEN.md.template +23 -41
  131. package/.aether/templates/colony-state-reset.jq.template +1 -0
  132. package/.aether/templates/colony-state.template.json +4 -0
  133. package/.aether/templates/learning-observations.template.json +6 -0
  134. package/.aether/templates/midden.template.json +13 -0
  135. package/.aether/templates/pheromones.template.json +6 -0
  136. package/.aether/templates/session.template.json +9 -0
  137. package/.aether/utils/atomic-write.sh +63 -17
  138. package/.aether/utils/chamber-utils.sh +145 -2
  139. package/.aether/utils/council.sh +425 -0
  140. package/.aether/utils/emoji-audit.sh +166 -0
  141. package/.aether/utils/error-handler.sh +21 -7
  142. package/.aether/utils/file-lock.sh +182 -27
  143. package/.aether/utils/flag.sh +278 -0
  144. package/.aether/utils/hive.sh +572 -0
  145. package/.aether/utils/immune.sh +508 -0
  146. package/.aether/utils/learning.sh +1928 -0
  147. package/.aether/utils/midden.sh +520 -0
  148. package/.aether/utils/oracle/oracle.md +168 -0
  149. package/.aether/utils/oracle/oracle.sh +1023 -0
  150. package/.aether/utils/pheromone.sh +2029 -0
  151. package/.aether/utils/queen.sh +1710 -0
  152. package/.aether/utils/scan.sh +860 -0
  153. package/.aether/utils/semantic-cli.sh +10 -8
  154. package/.aether/utils/session.sh +816 -0
  155. package/.aether/utils/skills.sh +509 -0
  156. package/.aether/utils/spawn-tree.sh +103 -271
  157. package/.aether/utils/spawn.sh +260 -0
  158. package/.aether/utils/state-api.sh +389 -0
  159. package/.aether/utils/state-loader.sh +8 -6
  160. package/.aether/utils/suggest.sh +611 -0
  161. package/.aether/utils/swarm-display.sh +10 -1
  162. package/.aether/utils/swarm.sh +1004 -0
  163. package/.aether/utils/watch-spawn-tree.sh +11 -2
  164. package/.aether/utils/xml-compose.sh +2 -2
  165. package/.aether/utils/xml-convert.sh +9 -5
  166. package/.aether/utils/xml-core.sh +5 -9
  167. package/.aether/utils/xml-query.sh +4 -4
  168. package/.aether/workers.md +86 -67
  169. package/.claude/agents/ant/aether-ambassador.md +2 -1
  170. package/.claude/agents/ant/aether-archaeologist.md +6 -1
  171. package/.claude/agents/ant/aether-architect.md +236 -0
  172. package/.claude/agents/ant/aether-auditor.md +6 -1
  173. package/.claude/agents/ant/aether-builder.md +38 -1
  174. package/.claude/agents/ant/aether-chaos.md +2 -1
  175. package/.claude/agents/ant/aether-chronicler.md +1 -0
  176. package/.claude/agents/ant/aether-gatekeeper.md +6 -1
  177. package/.claude/agents/ant/aether-includer.md +1 -0
  178. package/.claude/agents/ant/aether-keeper.md +1 -0
  179. package/.claude/agents/ant/aether-measurer.md +6 -1
  180. package/.claude/agents/ant/aether-oracle.md +237 -0
  181. package/.claude/agents/ant/aether-probe.md +2 -1
  182. package/.claude/agents/ant/aether-queen.md +6 -1
  183. package/.claude/agents/ant/aether-route-setter.md +6 -1
  184. package/.claude/agents/ant/aether-sage.md +68 -3
  185. package/.claude/agents/ant/aether-scout.md +38 -1
  186. package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
  187. package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
  188. package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
  189. package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
  190. package/.claude/agents/ant/aether-tracker.md +6 -1
  191. package/.claude/agents/ant/aether-watcher.md +37 -1
  192. package/.claude/agents/ant/aether-weaver.md +2 -1
  193. package/.claude/commands/ant/archaeology.md +1 -8
  194. package/.claude/commands/ant/build.md +43 -1159
  195. package/.claude/commands/ant/chaos.md +1 -14
  196. package/.claude/commands/ant/colonize.md +3 -14
  197. package/.claude/commands/ant/continue.md +40 -1026
  198. package/.claude/commands/ant/council.md +213 -15
  199. package/.claude/commands/ant/data-clean.md +81 -0
  200. package/.claude/commands/ant/dream.md +12 -9
  201. package/.claude/commands/ant/entomb.md +62 -87
  202. package/.claude/commands/ant/export-signals.md +57 -0
  203. package/.claude/commands/ant/feedback.md +18 -0
  204. package/.claude/commands/ant/flag.md +12 -0
  205. package/.claude/commands/ant/flags.md +22 -8
  206. package/.claude/commands/ant/focus.md +18 -0
  207. package/.claude/commands/ant/help.md +40 -8
  208. package/.claude/commands/ant/history.md +3 -0
  209. package/.claude/commands/ant/import-signals.md +71 -0
  210. package/.claude/commands/ant/init.md +349 -191
  211. package/.claude/commands/ant/insert-phase.md +105 -0
  212. package/.claude/commands/ant/interpret.md +11 -0
  213. package/.claude/commands/ant/lay-eggs.md +167 -158
  214. package/.claude/commands/ant/maturity.md +22 -11
  215. package/.claude/commands/ant/memory-details.md +77 -0
  216. package/.claude/commands/ant/migrate-state.md +6 -0
  217. package/.claude/commands/ant/oracle.md +317 -62
  218. package/.claude/commands/ant/organize.md +10 -5
  219. package/.claude/commands/ant/patrol.md +620 -0
  220. package/.claude/commands/ant/pause-colony.md +8 -22
  221. package/.claude/commands/ant/phase.md +26 -37
  222. package/.claude/commands/ant/pheromones.md +156 -0
  223. package/.claude/commands/ant/plan.md +199 -50
  224. package/.claude/commands/ant/preferences.md +65 -0
  225. package/.claude/commands/ant/quick.md +100 -0
  226. package/.claude/commands/ant/redirect.md +18 -0
  227. package/.claude/commands/ant/resume-colony.md +37 -22
  228. package/.claude/commands/ant/resume.md +60 -7
  229. package/.claude/commands/ant/run.md +231 -0
  230. package/.claude/commands/ant/seal.md +506 -78
  231. package/.claude/commands/ant/skill-create.md +286 -0
  232. package/.claude/commands/ant/status.md +171 -1
  233. package/.claude/commands/ant/swarm.md +11 -23
  234. package/.claude/commands/ant/tunnels.md +1 -0
  235. package/.claude/commands/ant/update.md +58 -135
  236. package/.claude/commands/ant/verify-castes.md +90 -42
  237. package/.claude/commands/ant/watch.md +1 -0
  238. package/.opencode/agents/aether-ambassador.md +1 -1
  239. package/.opencode/agents/aether-architect.md +133 -0
  240. package/.opencode/agents/aether-builder.md +3 -3
  241. package/.opencode/agents/aether-oracle.md +137 -0
  242. package/.opencode/agents/aether-queen.md +1 -1
  243. package/.opencode/agents/aether-route-setter.md +1 -1
  244. package/.opencode/agents/aether-scout.md +1 -1
  245. package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
  246. package/.opencode/agents/aether-surveyor-nest.md +6 -1
  247. package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
  248. package/.opencode/agents/aether-surveyor-provisions.md +6 -1
  249. package/.opencode/agents/aether-tracker.md +1 -1
  250. package/.opencode/agents/aether-watcher.md +1 -1
  251. package/.opencode/agents/aether-weaver.md +1 -1
  252. package/.opencode/commands/ant/archaeology.md +7 -14
  253. package/.opencode/commands/ant/build.md +54 -88
  254. package/.opencode/commands/ant/chaos.md +7 -24
  255. package/.opencode/commands/ant/colonize.md +10 -17
  256. package/.opencode/commands/ant/continue.md +595 -66
  257. package/.opencode/commands/ant/council.md +150 -18
  258. package/.opencode/commands/ant/data-clean.md +77 -0
  259. package/.opencode/commands/ant/dream.md +15 -17
  260. package/.opencode/commands/ant/entomb.md +28 -18
  261. package/.opencode/commands/ant/export-signals.md +54 -0
  262. package/.opencode/commands/ant/feedback.md +24 -5
  263. package/.opencode/commands/ant/flag.md +16 -4
  264. package/.opencode/commands/ant/flags.md +24 -10
  265. package/.opencode/commands/ant/focus.md +22 -5
  266. package/.opencode/commands/ant/help.md +41 -8
  267. package/.opencode/commands/ant/history.md +9 -0
  268. package/.opencode/commands/ant/import-signals.md +68 -0
  269. package/.opencode/commands/ant/init.md +396 -154
  270. package/.opencode/commands/ant/insert-phase.md +111 -0
  271. package/.opencode/commands/ant/interpret.md +16 -0
  272. package/.opencode/commands/ant/lay-eggs.md +184 -112
  273. package/.opencode/commands/ant/maturity.md +18 -2
  274. package/.opencode/commands/ant/memory-details.md +83 -0
  275. package/.opencode/commands/ant/migrate-state.md +12 -0
  276. package/.opencode/commands/ant/oracle.md +322 -67
  277. package/.opencode/commands/ant/organize.md +14 -12
  278. package/.opencode/commands/ant/patrol.md +626 -0
  279. package/.opencode/commands/ant/pause-colony.md +12 -29
  280. package/.opencode/commands/ant/phase.md +30 -40
  281. package/.opencode/commands/ant/pheromones.md +162 -0
  282. package/.opencode/commands/ant/plan.md +210 -57
  283. package/.opencode/commands/ant/preferences.md +71 -0
  284. package/.opencode/commands/ant/quick.md +91 -0
  285. package/.opencode/commands/ant/redirect.md +22 -5
  286. package/.opencode/commands/ant/resume-colony.md +41 -29
  287. package/.opencode/commands/ant/resume.md +80 -20
  288. package/.opencode/commands/ant/run.md +237 -0
  289. package/.opencode/commands/ant/seal.md +230 -25
  290. package/.opencode/commands/ant/skill-create.md +63 -0
  291. package/.opencode/commands/ant/status.md +125 -30
  292. package/.opencode/commands/ant/swarm.md +3 -345
  293. package/.opencode/commands/ant/tunnels.md +3 -9
  294. package/.opencode/commands/ant/update.md +63 -127
  295. package/.opencode/commands/ant/verify-castes.md +96 -42
  296. package/.opencode/commands/ant/watch.md +7 -0
  297. package/CHANGELOG.md +368 -1
  298. package/README.md +195 -324
  299. package/bin/cli.js +236 -429
  300. package/bin/generate-commands.js +186 -0
  301. package/bin/generate-commands.sh +128 -89
  302. package/bin/lib/spawn-logger.js +0 -15
  303. package/bin/lib/update-transaction.js +285 -35
  304. package/bin/npx-install.js +178 -0
  305. package/bin/validate-package.sh +85 -3
  306. package/package.json +16 -4
  307. package/.aether/CONTEXT.md +0 -160
  308. package/.aether/docs/QUEEN.md +0 -84
  309. package/.aether/exchange/colony-registry.xml +0 -11
  310. package/.aether/exchange/pheromones.xml +0 -87
  311. package/.aether/exchange/queen-wisdom.xml +0 -14
  312. package/.aether/model-profiles.yaml +0 -100
  313. package/.aether/utils/spawn-with-model.sh +0 -56
  314. package/bin/lib/model-profiles.js +0 -445
  315. package/bin/lib/model-verify.js +0 -288
  316. package/bin/lib/proxy-health.js +0 -253
  317. package/bin/lib/telemetry.js +0 -441
@@ -1,357 +1,15 @@
1
+ <!-- Generated from .aether/commands/swarm.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:swarm
3
4
  description: "🔥🐜🗡️🐜🔥 Real-time colony swarm display + stubborn bug destroyer"
4
5
  ---
5
6
 
6
- You are the **Queen Ant Colony**. Deploy the swarm to destroy a stubborn bug or view real-time colony activity.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
16
- ### Quick View Mode (No Arguments)
17
-
18
- If `$normalized_args` is empty or equals "--watch":
19
-
20
- Run the real-time swarm display:
21
- ```bash
22
- bash .aether/utils/swarm-display.sh
23
- ```
24
-
25
- This shows:
26
- - Active ants with caste colors and emojis (🔨 Builder in blue, etc.)
27
- - Tool usage stats per ant (📖5 🔍3 ✏️2 ⚡1)
28
- - Trophallaxis metrics (🍯 token consumption)
29
- - Timing information (elapsed time per ant)
30
- - Chamber activity map (which nest zones have active ants)
31
- - Animated status phrases ("excavating...", "foraging...")
32
-
33
- Display updates automatically as ants start/complete work.
34
- Press Ctrl+C to exit.
35
-
36
- ### Bug Destruction Mode (With Arguments)
37
-
38
- The problem to investigate is: `$normalized_args`
39
-
40
- #### Step 1: Validate Input
41
-
42
- If `$normalized_args` is empty:
43
- ```
44
- 🔥🐜🗡️🐜🔥 SWARM
45
-
46
- Deploy parallel scouts to investigate and fix stubborn bugs.
47
-
48
- Usage: /ant:swarm "<describe the problem>"
49
-
50
- Examples:
51
- /ant:swarm "Tests keep failing in auth module"
52
- /ant:swarm "TypeError: Cannot read property 'id' of undefined"
53
- /ant:swarm "API returns 500 but I can't find the cause"
54
-
55
- This is the nuclear option - use when repeated fix attempts fail.
56
- ```
57
- Stop here.
58
-
59
- #### Step 2: Read State & Initialize
60
-
61
- Read `.aether/data/COLONY_STATE.json`.
62
- If `goal` is null → "No colony initialized. Run /ant:init first.", stop.
63
-
64
- Generate swarm ID: `swarm-<unix_timestamp>`
65
-
66
- Initialize swarm findings:
67
- ```bash
68
- bash .aether/aether-utils.sh swarm-findings-init "<swarm_id>"
69
- ```
70
-
71
- Initialize swarm display for real-time tracking:
72
- ```bash
73
- bash .aether/aether-utils.sh swarm-display-init "<swarm_id>"
74
- ```
75
-
76
- Display header:
77
- ```
78
- 🔥🐜🗡️🐜🔥 ═══════════════════════════════════════════════
79
- S W A R M D E P L O Y E D
80
- ═══════════════════════════════════════════════ 🔥🐜🗡️🐜🔥
81
-
82
- 🎯 Target: "{problem description}"
83
- 📍 Swarm ID: {swarm_id}
84
-
85
- ⚡ Deploying 4 parallel scouts...
86
- ```
87
-
88
- #### Step 3: Create Git Checkpoint
89
-
90
- Before any investigation that might lead to fixes:
91
- ```bash
92
- bash .aether/aether-utils.sh autofix-checkpoint "pre-swarm-$SWARM_ID"
93
- ```
94
-
95
- Store the result for potential rollback:
96
- - `checkpoint_type` = result.type ("stash", "commit", or "none")
97
- - `checkpoint_ref` = result.ref
98
-
99
- ```
100
- 💾 Checkpoint: {checkpoint_type} → {checkpoint_ref}
101
- ```
102
-
103
- #### Step 4: Read Context
104
-
105
- Read existing blockers for context:
106
- ```bash
107
- bash .aether/aether-utils.sh flag-list --type blocker
108
- ```
109
-
110
- Read recent activity:
111
- ```bash
112
- tail -50 .aether/data/activity.log 2>/dev/null || echo "(no activity log)"
113
- ```
114
-
115
- Scan recent git commits for context:
116
- ```bash
117
- git log --oneline -20 2>/dev/null || echo "(no git history)"
118
- ```
119
-
120
- #### Step 5: Deploy 4 Parallel Scouts
121
-
122
- Use the **Task** tool to spawn 4 scouts **in a single message** (parallel execution):
123
-
124
- Log each scout to swarm display before spawning:
125
- ```bash
126
- bash .aether/aether-utils.sh swarm-display-update "{swarm_id}-Archaeologist" "scout" "excavating" "Git history investigation" "Queen" '{"read":0,"grep":0,"edit":0,"bash":3}' 0
127
- bash .aether/aether-utils.sh swarm-display-update "{swarm_id}-PatternHunter" "scout" "excavating" "Pattern search for similar code" "Queen" '{"read":5,"grep":10,"edit":0,"bash":0}' 0
128
- bash .aether/aether-utils.sh swarm-display-update "{swarm_id}-ErrorAnalyst" "scout" "excavating" "Error chain analysis" "Queen" '{"read":3,"grep":5,"edit":0,"bash":2}' 0
129
- bash .aether/aether-utils.sh swarm-display-update "{swarm_id}-WebResearcher" "scout" "excavating" "External source research" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0
130
- ```
131
-
132
- **Scout 1: 🏛️ Git Archaeologist**
133
- ```
134
- You are {swarm_id}-Archaeologist, a 🏛️ Scout Ant.
135
-
136
- Investigate git history for: {problem description}
137
-
138
- Steps:
139
- 1. Run `git log --oneline -30`
140
- 2. Run `git log -p --since="1 week ago" -- {relevant files}`
141
- 3. Run `git blame {suspected file}` if mentioned
142
- 4. Find commits that introduced the bug
143
-
144
- Return ONLY this JSON:
145
- {"scout": "git-archaeologist", "confidence": 0.0-1.0, "finding": {"likely_cause": "...", "relevant_commits": [], "when_it_broke": "...", "evidence": []}, "suggested_fix": "..."}
146
- ```
147
-
148
- **Scout 2: 🔍 Pattern Hunter**
149
- ```
150
- You are {swarm_id}-PatternHunter, a 🔍 Scout Ant.
151
-
152
- Find working patterns for: {problem description}
153
-
154
- Steps:
155
- 1. Grep/glob for related working code
156
- 2. Find how other parts handle this
157
- 3. Look for test files showing correct usage
158
- 4. Identify applicable patterns
159
-
160
- Return ONLY this JSON:
161
- {"scout": "pattern-hunter", "confidence": 0.0-1.0, "finding": {"working_examples": [], "applicable_patterns": [], "differences": "..."}, "suggested_fix": "..."}
162
- ```
163
-
164
- **Scout 3: 💥 Error Analyst**
165
- ```
166
- You are {swarm_id}-ErrorAnalyst, a 🔍 Scout Ant.
167
-
168
- Analyze error: {problem description}
169
-
170
- Steps:
171
- 1. Trace through stack trace frames
172
- 2. Identify actual failing line vs surface error
173
- 3. Check for null refs, async issues, type mismatches
174
- 4. Look for error handling masking the issue
175
-
176
- Return ONLY this JSON:
177
- {"scout": "error-analyst", "confidence": 0.0-1.0, "finding": {"root_cause": "...", "error_chain": [], "masked_by": "...", "category": "null-ref|async|type|logic|config|dependency"}, "suggested_fix": "..."}
178
- ```
179
-
180
- **Scout 4: 🌐 Web Researcher**
181
- ```
182
- You are {swarm_id}-WebResearcher, a 🔍 Scout Ant.
183
-
184
- Research external solutions for: {problem description}
185
-
186
- Steps:
187
- 1. Search for exact error message
188
- 2. Find library/framework docs
189
- 3. Check GitHub issues
190
- 4. Find Stack Overflow answers
191
-
192
- Return ONLY this JSON:
193
- {"scout": "web-researcher", "confidence": 0.0-1.0, "finding": {"known_issue": true/false, "documentation_link": "...", "similar_issues": [], "community_solutions": []}, "suggested_fix": "..."}
194
- ```
195
-
196
- Wait for all 4 scouts to complete.
197
-
198
- #### Step 6: Collect and Cross-Compare Findings
199
-
200
- As each scout returns, add their findings:
201
- ```bash
202
- bash .aether/aether-utils.sh swarm-findings-add "{swarm_id}" "{scout_type}" "{confidence}" '{finding_json}'
203
- ```
204
-
205
- Update scout status in swarm display to "completed":
206
- ```bash
207
- bash .aether/aether-utils.sh swarm-display-update "{swarm_id}-Archaeologist" "scout" "completed" "Git history investigation" "Queen" '{"read":3,"grep":0,"edit":0,"bash":5}' 150
208
- ```
209
-
210
- Display each scout's report as they complete:
211
- ```
212
- 🏛️ Archaeologist [{confidence}]
213
- {summary of finding}
214
-
215
- 🔍 PatternHunter [{confidence}]
216
- {summary of finding}
217
-
218
- 💥 ErrorAnalyst [{confidence}]
219
- {summary of finding}
220
-
221
- 🌐 WebResearcher [{confidence}]
222
- {summary of finding}
223
- ```
224
-
225
- #### Step 7: Synthesize Solution
226
-
227
- Cross-compare all findings:
228
- 1. Identify where scouts agree (high confidence)
229
- 2. Note where scouts disagree (investigate further)
230
- 3. Weight by confidence scores
231
- 4. Prefer findings with concrete evidence
232
-
233
- Rank fix options:
234
- ```
235
- ═══════════════════════════════════════════════
236
- S O L U T I O N R A N K I N G
237
- ═══════════════════════════════════════════════
238
-
239
- #1 [0.85 confidence] {best solution}
240
- Evidence: {supporting scouts}
241
-
242
- #2 [0.72 confidence] {alternative}
243
- Evidence: {supporting scouts}
244
-
245
- #3 [0.45 confidence] {fallback}
246
- Evidence: {limited support}
247
- ```
248
-
249
- #### Step 8: Apply Best Fix
250
-
251
- Select the highest-confidence solution and apply it:
252
-
253
- **Command Resolution:** Before running verification, resolve `{build_command}` and `{test_command}` using this priority chain (stop at first match per command):
254
- 1. **CLAUDE.md** — Check project CLAUDE.md (in your system context) for explicit build/test commands
255
- 2. **CODEBASE.md** — Read `.aether/data/codebase.md` `## Commands` section
256
- 3. **Fallback** — Use project manifest heuristics (e.g., `npm run build`/`npm test` for package.json)
257
-
258
- ```
259
- 🔧 Applying Fix #1...
260
- ```
261
-
262
- Make the actual code changes using Edit/Write tools.
263
-
264
- After applying:
265
- ```bash
266
- # Run verification
267
- {build_command} 2>&1 | tail -30
268
- {test_command} 2>&1 | tail -50
269
- ```
270
-
271
- #### Step 9: Verify and Report
272
-
273
- **If verification passes:**
274
- ```
275
- ✅ FIX VERIFIED
276
-
277
- Build: PASS
278
- Tests: PASS
279
-
280
- 🔥🐜🗡️🐜🔥 Swarm successful!
281
-
282
- The fix will be confirmed when you run:
283
- /ant:continue
284
- ```
285
-
286
- Inject learnings:
287
- - Add FOCUS for the pattern that worked (to constraints.json)
288
- - Add REDIRECT for the anti-pattern that caused the bug (to constraints.json)
289
-
290
- Set solution in swarm findings:
291
- ```bash
292
- bash .aether/aether-utils.sh swarm-solution-set "{swarm_id}" '{solution_json}'
293
- ```
294
-
295
- Log success:
296
- ```bash
297
- bash .aether/aether-utils.sh activity-log "SWARM_SUCCESS" "Queen" "Swarm {swarm_id} fixed: {brief description}"
298
- ```
299
-
300
- **If verification fails:**
301
- ```
302
- ❌ FIX VERIFICATION FAILED
303
-
304
- Build: {status}
305
- Tests: {status}
306
-
307
- Attempting rollback...
308
- ```
309
-
310
- Rollback:
311
- ```bash
312
- bash .aether/aether-utils.sh autofix-rollback "{checkpoint_type}" "{checkpoint_ref}"
313
- ```
314
-
315
- Log failure:
316
- ```bash
317
- bash .aether/aether-utils.sh activity-log "SWARM_FAILED" "Queen" "Swarm {swarm_id} fix failed verification"
318
- ```
319
-
320
- Track attempt count. If this is the 3rd failure on the same issue:
321
- ```
322
- ⚠️ ARCHITECTURAL CONCERN
323
-
324
- This problem has resisted 3 swarm attempts.
325
-
326
- This suggests:
327
- - Root cause may be architectural, not implementational
328
- - Pattern may be fundamentally unsound
329
- - Different approach needed
330
-
331
- Recommended:
332
- - Review the codebase architecture
333
- - Consider refactoring vs. patching
334
- - Create a new phase for structural fix
335
-
336
- Swarm will not attempt further fixes on this issue.
337
- ```
338
-
339
- #### Step 10: Cleanup
340
-
341
- Clear swarm display:
342
- ```bash
343
- bash .aether/aether-utils.sh swarm-display-init "complete-{swarm_id}"
344
- ```
345
-
346
- Archive swarm findings:
347
- ```bash
348
- bash .aether/aether-utils.sh swarm-cleanup "{swarm_id}" --archive
349
- ```
13
+ You are the **Queen Ant Colony**. Deploy the swarm to destroy a stubborn bug or view real-time colony activity.
350
14
 
351
- Display next steps:
352
- ```
353
- 🐜 Next steps:
354
- /ant:continue ⏭️ Verify and advance phase
355
- /ant:status 📊 View colony status
356
- /ant:flags 🚩 Check remaining blockers
357
- ```
15
+ ## Instructions
@@ -1,24 +1,18 @@
1
+ <!-- Generated from .aether/commands/tunnels.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:tunnels
3
4
  description: "🕳️🐜🕳️ Explore tunnels (browse archived colonies, compare chambers)"
4
5
  ---
5
6
 
6
- You are the **Queen**. Browse the colony history.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
16
- ### Argument Handling
13
+ You are the **Queen**. Browse the colony history.
17
14
 
18
- - No arguments: Show chamber list (Step 4)
19
- - One argument: Show single chamber detail (Step 3)
20
- - Two arguments: Compare two chambers (Step 5)
21
- - More than two: "Too many arguments. Use: /ant:tunnels [chamber1] [chamber2]"
15
+ ## Instructions
22
16
 
23
17
  ### Step 1: Check for Chambers Directory
24
18
 
@@ -1,191 +1,127 @@
1
+ <!-- Generated from .aether/commands/update.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:update
3
- description: "🔄🐜📦🐜🔄 Update system files from the global Aether hub"
4
+ description: "🔄🐜📦🐜🔄 Update Aether safely from the global hub (transactional)"
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 **Queen Ant Colony**. Update this repo's Aether system files from the global distribution hub.
7
14
 
15
+ ## Safety Rules
16
+
17
+ 1. Use the CLI transactional updater (`aether update`) instead of manual `cp` chains.
18
+ 2. Never overwrite colony runtime data (`.aether/data/`) or user wisdom (`.aether/QUEEN.md`).
19
+ 3. Do **not** assume version numbers are monotonic. Labels may reset; avoid "downgrade" wording.
20
+ 4. If update reports dirty managed files, stop and show recovery options unless user requested force.
21
+
8
22
  ## Instructions
9
23
 
10
24
  ### Step 1: Check Hub Availability
11
25
 
12
- Use the Read tool to read `~/.aether/version.json` (expand `~` to the user's home directory).
26
+ Run:
27
+
28
+ ```bash
29
+ test -f ~/.aether/version.json && cat ~/.aether/version.json || echo "__NO_HUB__"
30
+ ```
13
31
 
14
- If the file does not exist, output:
32
+ If output is `__NO_HUB__`, display:
15
33
 
16
34
  ```
17
35
  No Aether distribution hub found at ~/.aether/
18
36
 
19
37
  To set up the hub, run:
20
38
  npx aether-colony install
21
- or
39
+ - or -
22
40
  aether install
23
-
24
- The hub provides system file updates across all your Aether repos.
25
41
  ```
26
42
 
27
- Stop here. Do not proceed.
43
+ Stop here.
28
44
 
29
- Read the `version` field this is the **available version**.
45
+ Parse `version` from the JSON as `available_version`.
30
46
 
31
- ### Step 2: Check Pending State and Current Version
47
+ ### Step 1.5: Verify CLI Availability
32
48
 
33
- First, check for a pending sentinel using the Bash tool:
49
+ Run:
34
50
 
35
51
  ```bash
36
- test -f .aether/.update-pending && echo "PENDING" || echo "CLEAN"
52
+ command -v aether >/dev/null 2>&1 && echo "__CLI_OK__" || echo "__CLI_MISSING__"
37
53
  ```
38
54
 
39
- If output is "PENDING":
40
- - Output: `Detected incomplete update, re-syncing...`
41
- - Run using the Bash tool: `rm -f .aether/.update-pending`
42
- - Skip the version comparison entirely — proceed directly to Step 3.
43
-
44
- If output is "CLEAN":
45
-
46
- Use the Read tool to read `.aether/version.json`.
47
-
48
- If the file does not exist, set current version to "unknown".
49
- Otherwise, read the `version` field — this is the **current version**.
50
-
51
- If current version equals available version, output:
55
+ If output is `__CLI_MISSING__`, display:
52
56
 
53
57
  ```
54
- Already up to date (v{version}).
58
+ The transactional updater is not available because the `aether` CLI is missing.
55
59
 
56
- System files and commands match the global hub.
57
- Colony data (.aether/data/) is always untouched by updates.
60
+ Install/update it, then retry:
61
+ npx aether-colony install
62
+ - or -
63
+ npm i -g aether-colony
58
64
  ```
59
65
 
60
- Stop here. Do not proceed.
66
+ Stop here.
61
67
 
62
- ### Step 3: Sync System Files from Hub
68
+ ### Step 2: Parse Force Flag
63
69
 
64
- The hub stores all system files at `~/.aether/system/`.
70
+ Treat either of these as force:
71
+ - `--force`
72
+ - `--force-update`
65
73
 
66
- Run ONE bash command that syncs everything:
74
+ Set:
75
+ - `update_flags="--force"` when force requested
76
+ - `update_flags=""` otherwise
67
77
 
68
- ```bash
69
- mkdir -p .aether/docs .aether/utils .aether/templates .aether/schemas .aether/exchange && \
70
- cp -f ~/.aether/system/aether-utils.sh .aether/ && \
71
- cp -f ~/.aether/system/workers.md .aether/ 2>/dev/null || true && \
72
- cp -f ~/.aether/system/CONTEXT.md .aether/ 2>/dev/null || true && \
73
- cp -f ~/.aether/system/model-profiles.yaml .aether/ 2>/dev/null || true && \
74
- cp -Rf ~/.aether/system/docs/* .aether/docs/ 2>/dev/null || true && \
75
- cp -Rf ~/.aether/system/utils/* .aether/utils/ 2>/dev/null || true && \
76
- cp -Rf ~/.aether/system/templates/* .aether/templates/ 2>/dev/null || true && \
77
- cp -Rf ~/.aether/system/schemas/* .aether/schemas/ 2>/dev/null || true && \
78
- cp -Rf ~/.aether/system/exchange/* .aether/exchange/ 2>/dev/null || true && \
79
- chmod +x .aether/aether-utils.sh && \
80
- echo "System files synced"
81
- ```
82
-
83
- Colony data (`.aether/data/`) is never touched.
78
+ ### Step 3: Dry-Run Preview
84
79
 
85
- If any sync step fails, output:
86
- ```
87
- Update couldn't finish — some files didn't copy. Run /ant:update again to retry.
88
- ```
89
-
90
- ### Step 3.5: Sync Rules to .claude/rules/
91
-
92
- Rules files teach Claude Code about the colony system. Sync them from the hub:
80
+ Run:
93
81
 
94
82
  ```bash
95
- # Sync rules if hub has them
96
- if [ -d ~/.aether/system/rules ]; then
97
- mkdir -p .claude/rules
98
- cp -Rf ~/.aether/system/rules/* .claude/rules/ 2>/dev/null || true
99
- echo "Rules synced"
100
- fi
83
+ aether update --dry-run $update_flags
101
84
  ```
102
85
 
103
- ### Step 4: Sync Commands (with orphan cleanup)
86
+ If this fails, show the error output and stop.
104
87
 
105
- Sync command files from the hub to this repo **and remove stale files** that no longer exist in the hub. This prevents renamed or deleted commands from accumulating as orphans.
88
+ ### Step 4: Execute Transactional Update
106
89
 
107
- For each directory pair, run using the Bash tool:
90
+ Run:
108
91
 
109
92
  ```bash
110
- # Sync Claude commands
111
- mkdir -p .claude/commands/ant
112
- cp -R ~/.aether/system/commands/claude/* .claude/commands/ant/ 2>/dev/null
113
- # Remove orphans: files in dest that aren't in hub
114
- comm -23 \
115
- <(cd .claude/commands/ant && find . -type f ! -name '.*' | sort) \
116
- <(cd ~/.aether/system/commands/claude && find . -type f ! -name '.*' | sort) \
117
- | while read f; do rm ".claude/commands/ant/$f" && echo " removed stale: .claude/commands/ant/$f"; done
118
- echo "claude: done"
119
-
120
- # Sync OpenCode commands
121
- mkdir -p .opencode/commands/ant
122
- cp -R ~/.aether/system/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
123
- comm -23 \
124
- <(cd .opencode/commands/ant && find . -type f ! -name '.*' | sort) \
125
- <(cd ~/.aether/system/commands/opencode && find . -type f ! -name '.*' | sort) \
126
- | while read f; do rm ".opencode/commands/ant/$f" && echo " removed stale: .opencode/commands/ant/$f"; done
127
- echo "opencode: done"
128
-
129
- # Sync agents
130
- mkdir -p .opencode/agents
131
- cp -R ~/.aether/system/agents/* .opencode/agents/ 2>/dev/null
132
- comm -23 \
133
- <(cd .opencode/agents && find . -type f ! -name '.*' | sort) \
134
- <(cd ~/.aether/system/agents && find . -type f ! -name '.*' | sort) \
135
- | while read f; do rm ".opencode/agents/$f" && echo " removed stale: .opencode/agents/$f"; done
136
- echo "agents: done"
93
+ aether update $update_flags
137
94
  ```
138
95
 
139
- Report any removed stale files in the summary.
96
+ This command handles:
97
+ - checkpoint creation
98
+ - safe sync
99
+ - integrity verification
100
+ - automatic rollback on failure
140
101
 
141
- ### Step 5: Register and Version Stamp
102
+ ### Step 5: Clear Version Cache
142
103
 
143
- Run using the Bash tool:
144
- ```
145
- bash .aether/aether-utils.sh registry-add "$(pwd)" "{available_version}"
146
- ```
147
104
 
148
- Substitute `{available_version}` with the version from Step 1.
149
105
 
150
- Then use the Write tool to write `.aether/version.json`:
151
- ```json
152
- {
153
- "version": "{available_version}",
154
- "updated_at": "{ISO-8601 timestamp}"
155
- }
156
- ```
106
+ Run:
107
+
157
108
 
158
- Then delete any leftover pending sentinel (update is now complete) using the Bash tool:
159
109
  ```bash
160
- rm -f .aether/.update-pending
110
+ rm -f .aether/data/.version-check-cache
161
111
  ```
162
112
 
163
113
  ### Step 6: Display Summary
164
114
 
165
- Output:
115
+ Display a concise summary:
166
116
 
167
117
  ```
168
- 🔄🐜📦🐜🔄 ═══════════════════════════════════════════════════
169
- A E T H E R U P D A T E
170
- ═══════════════════════════════════════════════════ 🔄🐜📦🐜🔄
171
-
172
- Updated: v{current_version} -> v{available_version}
173
-
174
- System files: {N} updated
175
- Commands: synced from hub
176
- Agents: synced from hub
177
- {if stale files were removed:}
178
- Stale files removed: {count}
179
- {list each removed file}
180
- {end if}
118
+ 🔄🐜📦🐜🔄 AETHER UPDATE COMPLETE
181
119
 
120
+ Hub version label: {available_version}
121
+ Update mode: {normal|force}
182
122
  Colony data (.aether/data/) untouched.
183
- Repo registered in ~/.aether/registry.json.
184
- ```
185
123
 
186
- ### CLI Equivalents
124
+ Note: version labels are treated as identifiers, not strict upgrade/downgrade ordering.
125
+ ```
187
126
 
188
- The CLI version (`aether update`) performs the same sync-with-cleanup and also supports:
189
127
 
190
- - `--dry-run` — Preview what would change without modifying any files
191
- - `--force` — Stash uncommitted changes in managed files and proceed with the update