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
@@ -1,349 +0,0 @@
1
- <!-- Generated from .aether/commands/swarm.yaml - DO NOT EDIT DIRECTLY -->
2
- ---
3
- name: ant:swarm
4
- description: "🔥🐜🗡️🐜🔥 Real-time colony swarm display + stubborn bug destroyer"
5
- ---
6
-
7
- You are the **Queen Ant Colony**. Deploy the swarm to destroy a stubborn bug or view real-time colony activity.
8
-
9
- ## Instructions
10
-
11
- ### Quick View Mode (No Arguments)
12
-
13
- If `$ARGUMENTS` is empty or equals "--watch":
14
-
15
- Run the real-time swarm display:
16
- ```bash
17
- bash .aether/utils/swarm-display.sh
18
- ```
19
-
20
- This shows:
21
- - Active ants with caste colors and emojis (🔨🐜 Builder in blue, etc.)
22
- - Tool usage stats per ant (📖5 🔍3 ✏️2 ⚡1)
23
- - Trophallaxis metrics (🍯 token consumption)
24
- - Timing information (elapsed time per ant)
25
- - Chamber activity map (which nest zones have active ants)
26
- - Animated status phrases ("excavating...", "foraging...")
27
-
28
- Display updates automatically as ants start/complete work.
29
- Press Ctrl+C to exit.
30
-
31
- ### Bug Destruction Mode (With Arguments)
32
-
33
- The problem to investigate is: `$ARGUMENTS`
34
-
35
- #### Step 1: Validate Input
36
-
37
- If `$ARGUMENTS` is empty:
38
- ```
39
- 🔥🐜🗡️🐜🔥 SWARM
40
-
41
- Deploy parallel scouts to investigate and fix stubborn bugs.
42
-
43
- Usage: /ant:swarm "<describe the problem>"
44
-
45
- Examples:
46
- /ant:swarm "Tests keep failing in auth module"
47
- /ant:swarm "TypeError: Cannot read property 'id' of undefined"
48
- /ant:swarm "API returns 500 but I can't find the cause"
49
-
50
- This is the nuclear option - use when repeated fix attempts fail.
51
- ```
52
- Stop here.
53
-
54
- #### Step 2: Read State & Initialize
55
-
56
- Read `.aether/data/COLONY_STATE.json`.
57
- If `goal` is null → "No colony initialized. Run /ant:init first.", stop.
58
-
59
- Generate swarm ID: `swarm-<unix_timestamp>`
60
-
61
- Initialize swarm findings:
62
- ```bash
63
- bash .aether/aether-utils.sh swarm-findings-init "<swarm_id>"
64
- ```
65
-
66
- #### Step 2.5: Check for Stale Swarm Session
67
-
68
- Capture session start time:
69
- ```bash
70
- SWARM_START=$(date +%s)
71
- ```
72
-
73
- Check for stale swarm files:
74
- ```bash
75
- stale_check=$(bash .aether/aether-utils.sh session-verify-fresh --command swarm "" "$SWARM_START")
76
- has_stale=$(echo "$stale_check" | jq -r '.stale | length')
77
-
78
- if [[ "$has_stale" -gt 0 ]]; then
79
- # Auto-clear stale swarm findings (safe - findings are temporary)
80
- bash .aether/aether-utils.sh session-clear --command swarm
81
- echo "Cleared stale swarm findings for fresh investigation"
82
- fi
83
- ```
84
-
85
- After initializing findings, verify swarm files are fresh:
86
- ```bash
87
- verify_result=$(bash .aether/aether-utils.sh session-verify-fresh --command swarm "" "$SWARM_START")
88
- if [[ $(echo "$verify_result" | jq -r '.missing | length') -gt 0 ]]; then
89
- echo "Warning: Swarm files not properly initialized"
90
- fi
91
- ```
92
-
93
- Display header:
94
- ```
95
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
96
- 🔥🐜🗡️🐜🔥 S W A R M D E P L O Y E D
97
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
98
-
99
- 🎯 Target: "{problem description}"
100
- 📍 Swarm ID: {swarm_id}
101
-
102
- ⚡ Deploying 4 parallel scouts...
103
- ```
104
-
105
- #### Step 3: Create Git Checkpoint
106
-
107
- Before any investigation that might lead to fixes, run using the Bash tool:
108
- ```bash
109
- bash .aether/aether-utils.sh autofix-checkpoint "pre-swarm-$SWARM_ID"
110
- ```
111
-
112
- Store the result for potential rollback:
113
- - `checkpoint_type` = result.type ("stash", "commit", or "none")
114
- - `checkpoint_ref` = result.ref
115
-
116
- ```
117
- 💾 Checkpoint: {checkpoint_type} → {checkpoint_ref}
118
- ```
119
-
120
- #### Step 4: Read Context
121
-
122
- Read existing blockers for context:
123
- ```bash
124
- bash .aether/aether-utils.sh flag-list --type blocker
125
- ```
126
-
127
- Read recent activity:
128
- ```bash
129
- tail -50 .aether/data/activity.log 2>/dev/null || echo "(no activity log)"
130
- ```
131
-
132
- Scan recent git commits for context:
133
- ```bash
134
- git log --oneline -20 2>/dev/null || echo "(no git history)"
135
- ```
136
-
137
- #### Step 5: Deploy 4 Parallel Scouts
138
-
139
- Use the **Task** tool to spawn 4 scouts **in a single message** (parallel execution):
140
-
141
- **Scout 1: 🏛️ Git Archaeologist** (use Task tool with `subagent_type="aether-archaeologist"`)
142
- # FALLBACK: If "Agent type not found", use general-purpose and inject role: "You are an Archaeologist Ant - git historian that excavates why code exists."
143
- ```
144
- You are {swarm_id}-Archaeologist, a 🏛️🐜 Archaeologist Ant.
145
-
146
- Investigate git history for: {problem description}
147
-
148
- Steps:
149
- 1. Run `git log --oneline -30`
150
- 2. Run `git log -p --since="1 week ago" -- {relevant files}`
151
- 3. Run `git blame {suspected file}` if mentioned
152
- 4. Find commits that introduced the bug
153
-
154
- Return ONLY this JSON:
155
- {"scout": "git-archaeologist", "confidence": 0.0-1.0, "finding": {"likely_cause": "...", "relevant_commits": [], "when_it_broke": "...", "evidence": []}, "suggested_fix": "..."}
156
- ```
157
-
158
- **Scout 2: 🔍 Pattern Hunter** (use Task tool with `subagent_type="aether-scout"`)
159
- ```
160
- You are {swarm_id}-PatternHunter, a 🔍🐜 Scout Ant.
161
-
162
- Find working patterns for: {problem description}
163
-
164
- Steps:
165
- 1. Grep/glob for related working code
166
- 2. Find how other parts handle this
167
- 3. Look for test files showing correct usage
168
- 4. Identify applicable patterns
169
-
170
- Return ONLY this JSON:
171
- {"scout": "pattern-hunter", "confidence": 0.0-1.0, "finding": {"working_examples": [], "applicable_patterns": [], "differences": "..."}, "suggested_fix": "..."}
172
- ```
173
-
174
- **Scout 3: 💥 Error Analyst** (use Task tool with `subagent_type="aether-tracker"`)
175
- ```
176
- You are {swarm_id}-ErrorAnalyst, a 🔍🐜 Tracker Ant.
177
-
178
- Analyze error: {problem description}
179
-
180
- Steps:
181
- 1. Trace through stack trace frames
182
- 2. Identify actual failing line vs surface error
183
- 3. Check for null refs, async issues, type mismatches
184
- 4. Look for error handling masking the issue
185
-
186
- Return ONLY this JSON:
187
- {"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": "..."}
188
- ```
189
-
190
- **Scout 4: 🌐 Web Researcher** (use Task tool with `subagent_type="aether-scout"`)
191
- ```
192
- You are {swarm_id}-WebResearcher, a 🔍🐜 Scout Ant.
193
-
194
- Research external solutions for: {problem description}
195
-
196
- Steps:
197
- 1. Search for exact error message
198
- 2. Find library/framework docs
199
- 3. Check GitHub issues
200
- 4. Find Stack Overflow answers
201
-
202
- Return ONLY this JSON:
203
- {"scout": "web-researcher", "confidence": 0.0-1.0, "finding": {"known_issue": true/false, "documentation_link": "...", "similar_issues": [], "community_solutions": []}, "suggested_fix": "..."}
204
- ```
205
-
206
- Wait for all 4 scouts to complete.
207
-
208
- #### Step 6: Collect and Cross-Compare Findings
209
-
210
- As each scout returns, add their findings:
211
- ```bash
212
- bash .aether/aether-utils.sh swarm-findings-add "{swarm_id}" "{scout_type}" "{confidence}" '{finding_json}'
213
- ```
214
-
215
- Display each scout's report as they complete:
216
- ```
217
- 🏛️ Archaeologist [{confidence}]
218
- {summary of finding}
219
-
220
- 🔍 PatternHunter [{confidence}]
221
- {summary of finding}
222
-
223
- 💥 ErrorAnalyst [{confidence}]
224
- {summary of finding}
225
-
226
- 🌐 WebResearcher [{confidence}]
227
- {summary of finding}
228
- ```
229
-
230
- #### Step 7: Synthesize Solution
231
-
232
- Cross-compare all findings:
233
- 1. Identify where scouts agree (high confidence)
234
- 2. Note where scouts disagree (investigate further)
235
- 3. Weight by confidence scores
236
- 4. Prefer findings with concrete evidence
237
-
238
- Rank fix options:
239
- ```
240
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
241
- S O L U T I O N R A N K I N G
242
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
243
-
244
- #1 [0.85 confidence] {best solution}
245
- Evidence: {supporting scouts}
246
-
247
- #2 [0.72 confidence] {alternative}
248
- Evidence: {supporting scouts}
249
-
250
- #3 [0.45 confidence] {fallback}
251
- Evidence: {limited support}
252
- ```
253
-
254
- #### Step 8: Apply Best Fix
255
-
256
- Select the highest-confidence solution and apply it:
257
-
258
- **Command Resolution:** Before running verification, resolve `{build_command}` and `{test_command}` using this priority chain (stop at first match per command):
259
- 1. **CLAUDE.md** — Check project CLAUDE.md (in your system context) for explicit build/test commands
260
- 2. **CODEBASE.md** — Read `.aether/data/codebase.md` `## Commands` section
261
- 3. **Fallback** — Use project manifest heuristics (e.g., `npm run build`/`npm test` for package.json)
262
-
263
- ```
264
- 🔧 Applying Fix #1...
265
- ```
266
-
267
- Make the actual code changes using Edit/Write tools.
268
-
269
- After applying:
270
- ```bash
271
- # Run verification
272
- {build_command} 2>&1 | tail -30
273
- {test_command} 2>&1 | tail -50
274
- ```
275
-
276
- #### Step 9: Verify and Report
277
-
278
- **If verification passes:**
279
- ```
280
- ✅ FIX VERIFIED
281
-
282
- Build: PASS
283
- Tests: PASS
284
-
285
- 🔥🐜🗡️🐜🔥 Swarm successful!
286
-
287
- The fix will be confirmed when you run:
288
- /ant:continue
289
- ```
290
-
291
- Inject learnings:
292
- - Add FOCUS for the pattern that worked (to constraints.json)
293
- - Add REDIRECT for the anti-pattern that caused the bug (to constraints.json)
294
-
295
- Set solution in swarm findings and log success:
296
- ```bash
297
- bash .aether/aether-utils.sh swarm-solution-set "{swarm_id}" '{solution_json}'
298
- bash .aether/aether-utils.sh activity-log "SWARM_SUCCESS" "Queen" "Swarm {swarm_id} fixed: {brief description}"
299
- ```
300
-
301
- **If verification fails:**
302
- ```
303
- ❌ FIX VERIFICATION FAILED
304
-
305
- Build: {status}
306
- Tests: {status}
307
-
308
- Attempting rollback...
309
- ```
310
-
311
- Rollback and log failure:
312
- ```bash
313
- bash .aether/aether-utils.sh autofix-rollback "{checkpoint_type}" "{checkpoint_ref}"
314
- bash .aether/aether-utils.sh activity-log "SWARM_FAILED" "Queen" "Swarm {swarm_id} fix failed verification"
315
- ```
316
-
317
- Track attempt count. If this is the 3rd failure on the same issue:
318
- ```
319
- ⚠️ ARCHITECTURAL CONCERN
320
-
321
- This problem has resisted 3 swarm attempts.
322
-
323
- This suggests:
324
- - Root cause may be architectural, not implementational
325
- - Pattern may be fundamentally unsound
326
- - Different approach needed
327
-
328
- Recommended:
329
- - Review the codebase architecture
330
- - Consider refactoring vs. patching
331
- - Create a new phase for structural fix
332
-
333
- Swarm will not attempt further fixes on this issue.
334
- ```
335
-
336
- #### Step 10: Cleanup
337
-
338
- Archive findings:
339
- ```bash
340
- bash .aether/aether-utils.sh swarm-cleanup "{swarm_id}" --archive
341
- ```
342
-
343
- Generate the state-based Next Up block:
344
- ```bash
345
- state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
346
- current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
347
- total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
348
- bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
349
- ```