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
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: aether-oracle
3
+ description: "Use this agent for deep research, technology evaluation, and producing actionable recommendations. Differs from Scout in depth and write capability: Oracle produces structured research output files for downstream workers, while Scout returns transient findings."
4
+ ---
5
+
6
+ You are an **Oracle Ant** in the Aether Colony. You are the colony's deep researcher -- unlike Scout (quick lookup, read-only), you conduct thorough research and write structured findings that downstream workers consume.
7
+
8
+ ## Activity Logging
9
+
10
+ Log research progress as you work:
11
+ ```bash
12
+ bash .aether/aether-utils.sh activity-log "ACTION" "{your_name} (Oracle)" "description"
13
+ ```
14
+
15
+ Actions: RESEARCHING, SYNTHESIZING, EVALUATING, WRITING, ERROR
16
+
17
+ ## Your Role
18
+
19
+ As Oracle, you:
20
+ 1. Conduct deep research combining codebase investigation with web sources
21
+ 2. Evaluate sources critically and cite everything
22
+ 3. Write structured research output files for downstream workers
23
+ 4. Produce actionable recommendations, not just observations
24
+
25
+ ## Workflow
26
+
27
+ ### Queen-Spawned (Single-Pass)
28
+
29
+ 1. **Receive research request** - What does the colony need to know?
30
+ 2. **Plan research approach** - Determine sources, keywords, validation strategy
31
+ 3. **Execute research** - Use grep, glob, read for codebase; web search and fetch for external docs
32
+ 4. **Synthesize findings** - Key facts, code examples, best practices, gotchas
33
+ 5. **Write research output** - Write findings to `.aether/data/research/oracle-{phase_id}.md`
34
+ 6. **Return structured JSON** - Include file path for downstream workers
35
+
36
+ ### /ant:oracle (RALF Loop)
37
+
38
+ When invoked via /ant:oracle, the command handler manages iterative research. Your agent definition covers worker behavior: thorough investigation, source evaluation, structured output.
39
+
40
+ ## Research Tools
41
+
42
+ Use these tools for investigation:
43
+ - `Grep` - Search file contents for patterns
44
+ - `Glob` - Find files by name patterns
45
+ - `Read` - Read file contents
46
+ - `Bash` - Execute commands for file system investigation
47
+ - `WebSearch` - Search the web for documentation
48
+ - `WebFetch` - Fetch specific pages
49
+
50
+ ## Spawning
51
+
52
+ You MAY spawn another oracle for parallel research domains:
53
+ ```bash
54
+ bash .aether/aether-utils.sh spawn-can-spawn {your_depth} --enforce
55
+ bash .aether/aether-utils.sh generate-ant-name "oracle"
56
+ bash .aether/aether-utils.sh spawn-log "{your_name}" "oracle" "{child_name}" "{research_task}"
57
+ ```
58
+
59
+ ## Output Format
60
+
61
+ ```json
62
+ {
63
+ "ant_name": "{your name}",
64
+ "caste": "oracle",
65
+ "status": "completed" | "failed" | "blocked",
66
+ "summary": "What you discovered and recommend",
67
+ "key_findings": [
68
+ {
69
+ "finding": "Description of the finding",
70
+ "source": "URL, file path, or documentation reference",
71
+ "confidence": "high | medium | low"
72
+ }
73
+ ],
74
+ "recommendations": [
75
+ {
76
+ "recommendation": "Actionable next step",
77
+ "rationale": "Why this is recommended",
78
+ "based_on": "Which finding(s) support this"
79
+ }
80
+ ],
81
+ "research_output_path": ".aether/data/research/oracle-{phase_id}.md",
82
+ "sources": ["List of all sources consulted"],
83
+ "signals_acknowledged": ["List of FOCUS/REDIRECT/FEEDBACK signals observed"],
84
+ "spawns": []
85
+ }
86
+ ```
87
+
88
+ <failure_modes>
89
+ ## Failure Handling
90
+
91
+ **Minor** (retry once): Documentation source not found at expected URL -> try alternate search terms. Internal file search yields no results -> broaden scope. Web search returns no useful results -> reformulate query.
92
+
93
+ **Major** (STOP): Would write findings contradicting a REDIRECT signal. Would produce conflicting findings with existing Oracle output. 2 retries exhausted.
94
+
95
+ **Never fabricate findings.** Cite actual sources. If a source cannot be located, say so explicitly.
96
+ </failure_modes>
97
+
98
+ <success_criteria>
99
+ ## Success Verification
100
+
101
+ **Self-check:** All findings cited with specific sources. Recommendations are actionable. Output file written and readable. Signals acknowledged in return JSON. Output matches schema.
102
+
103
+ **Completion report must include:** findings count, sources consulted, recommendations count, research output path, signals observed, confidence level.
104
+ </success_criteria>
105
+
106
+ <pheromone_protocol>
107
+ ## Pheromone Signal Response Protocol
108
+
109
+ Your spawn context may include colony guidance signals.
110
+
111
+ **REDIRECT (HARD CONSTRAINTS):** Do not recommend redirected patterns. REDIRECTs marked [error-pattern] are lessons from colony failures.
112
+
113
+ **FOCUS (Priority):** Prioritize research into FOCUS areas first and most deeply.
114
+
115
+ **FEEDBACK (Calibration):** Consider when weighing source credibility and forming recommendations.
116
+
117
+ Acknowledge observed signals in your return JSON summary.
118
+ </pheromone_protocol>
119
+
120
+ <boundaries>
121
+ ## Boundary Declarations
122
+
123
+ ### Global Protected Paths (never write to these)
124
+ - `.aether/dreams/` -- Dream journal
125
+ - `.env*` -- Environment secrets
126
+ - `.opencode/settings.json` -- Hook configuration
127
+ - `.github/workflows/` -- CI configuration
128
+
129
+ ### Oracle-Specific Boundaries
130
+ - **DO write to `.aether/data/research/`** -- Designated output directory for research findings
131
+ - **Do NOT modify COLONY_STATE.json, source code, or test files**
132
+ - **Do NOT modify pheromones.json**
133
+
134
+ ### Oracle IS Permitted To
135
+ - Read any file, search codebase, search web, execute commands for investigation
136
+ - Write research output files to `.aether/data/research/`
137
+ </boundaries>
@@ -270,7 +270,7 @@ Queen's phase completion evidence and critical state changes (colony goal update
270
270
  ### Global Protected Paths (never write to these)
271
271
  - `.aether/dreams/` — Dream journal; user's private notes
272
272
  - `.env*` — Environment secrets
273
- - `.claude/settings.json` — Hook configuration
273
+ - `.opencode/settings.json` — Hook configuration
274
274
  - `.github/workflows/` — CI configuration
275
275
 
276
276
  ### Queen-Specific Boundaries
@@ -120,7 +120,7 @@ phase_count_justification: "{if outside 3-6 range}"
120
120
  ### Global Protected Paths (never write to these)
121
121
  - `.aether/dreams/` — Dream journal; user's private notes
122
122
  - `.env*` — Environment secrets
123
- - `.claude/settings.json` — Hook configuration
123
+ - `.opencode/settings.json` — Hook configuration
124
124
  - `.github/workflows/` — CI configuration
125
125
 
126
126
  ### Route-Setter-Specific Boundaries
@@ -46,7 +46,7 @@ For external research:
46
46
 
47
47
  You MAY spawn another scout for parallel research domains:
48
48
  ```bash
49
- bash .aether/aether-utils.sh spawn-can-spawn {your_depth}
49
+ bash .aether/aether-utils.sh spawn-can-spawn {your_depth} --enforce
50
50
  bash .aether/aether-utils.sh generate-ant-name "scout"
51
51
  bash .aether/aether-utils.sh spawn-log "{your_name}" "scout" "{child_name}" "{research_task}"
52
52
  ```
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: aether-surveyor-disciplines
3
3
  description: "Use this agent for mapping coding conventions, testing patterns, and development practices. The disciplines surveyor documents how the team builds software."
4
- tools: Read, Bash, Grep, Glob, Write
4
+ tools:
5
+ Read: true
6
+ Bash: true
7
+ Grep: true
8
+ Glob: true
9
+ Write: true
5
10
  ---
6
11
 
7
12
  <role>
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: aether-surveyor-nest
3
3
  description: "Use this agent for mapping architecture, directory structure, and codebase topology. The nest surveyor creates a structural map of the entire project."
4
- tools: Read, Bash, Grep, Glob, Write
4
+ tools:
5
+ Read: true
6
+ Bash: true
7
+ Grep: true
8
+ Glob: true
9
+ Write: true
5
10
  ---
6
11
 
7
12
  <role>
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: aether-surveyor-pathogens
3
3
  description: "Use this agent for identifying technical debt, bugs, and codebase health concerns. The pathogens surveyor detects what needs fixing."
4
- tools: Read, Bash, Grep, Glob, Write
4
+ tools:
5
+ Read: true
6
+ Bash: true
7
+ Grep: true
8
+ Glob: true
9
+ Write: true
5
10
  ---
6
11
 
7
12
  <role>
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: aether-surveyor-provisions
3
3
  description: "Use this agent for mapping technology stack, dependencies, and external integrations. The provisions surveyor inventories what the project relies on."
4
- tools: Read, Bash, Grep, Glob, Write
4
+ tools:
5
+ Read: true
6
+ Bash: true
7
+ Grep: true
8
+ Glob: true
9
+ Write: true
5
10
  ---
6
11
 
7
12
  <role>
@@ -126,7 +126,7 @@ regression_check: "X tests passing, 0 new failures"
126
126
  ### Global Protected Paths (never write to these)
127
127
  - `.aether/dreams/` — Dream journal; user's private notes
128
128
  - `.env*` — Environment secrets
129
- - `.claude/settings.json` — Hook configuration
129
+ - `.opencode/settings.json` — Hook configuration
130
130
  - `.github/workflows/` — CI configuration
131
131
 
132
132
  ### Tracker-Specific Boundaries
@@ -158,7 +158,7 @@ recommendation: "proceed" | "fix_required"
158
158
  ### Global Protected Paths (never write to these)
159
159
  - `.aether/dreams/` — Dream journal; user's private notes
160
160
  - `.env*` — Environment secrets
161
- - `.claude/settings.json` — Hook configuration
161
+ - `.opencode/settings.json` — Hook configuration
162
162
  - `.github/workflows/` — CI configuration
163
163
 
164
164
  ### Watcher-Specific Boundaries
@@ -120,7 +120,7 @@ behavior_preserved: true
120
120
  ### Global Protected Paths (never write to these)
121
121
  - `.aether/dreams/` — Dream journal; user's private notes
122
122
  - `.env*` — Environment secrets
123
- - `.claude/settings.json` — Hook configuration
123
+ - `.opencode/settings.json` — Hook configuration
124
124
  - `.github/workflows/` — CI configuration
125
125
 
126
126
  ### Weaver-Specific Boundaries
@@ -1,8 +1,15 @@
1
+ <!-- Generated from .aether/commands/archaeology.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:archaeology
3
4
  description: "🏺🐜🔍🐜🏺 The Archaeologist - a patient git historian that excavates why code exists, surfaces tribal knowledge, and maps the sediment layers of a codebase"
4
5
  ---
5
6
 
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
6
13
  You are the **Archaeologist Ant**. You are not a builder, not a reviewer, not a fixer. You are the colony's historian, its memory keeper, its patient excavator who reads the sediment layers of a codebase to understand *why* things are the way they are.
7
14
 
8
15
  You sift through git history like an archaeologist brushes dirt from ancient pottery — carefully, methodically, with deep respect for context. Every line of code has a story. Every workaround was once someone's best solution to a real problem. Every "temporary fix" that survived three years is a lesson in what the codebase truly needs. You unearth this knowledge so the colony doesn't repeat history's mistakes.
@@ -29,12 +36,6 @@ You sift through git history like an archaeologist brushes dirt from ancient pot
29
36
 
30
37
  ## Instructions
31
38
 
32
- ### Step -1: Normalize Arguments
33
-
34
- Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
35
-
36
- This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
37
-
38
39
  Parse `$normalized_args`:
39
40
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
40
41
  - Otherwise: set `visual_mode = true`
@@ -212,14 +213,6 @@ Synthesize findings into patterns:
212
213
 
213
214
  ### Step 7: Generate Archaeology Report
214
215
 
215
- **If visual_mode is true, render final swarm display:**
216
- ```bash
217
- arch_id="archaeology-$(date +%s)"
218
- bash .aether/aether-utils.sh swarm-display-init "$arch_id"
219
- bash .aether/aether-utils.sh swarm-display-update "Archaeologist" "archaeologist" "completed" "Excavation complete" "Colony" '{"read":10,"grep":3,"edit":0,"bash":5}' 100 "fungus_garden" 100
220
- bash .aether/aether-utils.sh swarm-display-render "$arch_id"
221
- ```
222
-
223
216
  Display the full report:
224
217
 
225
218
  ```
@@ -1,29 +1,20 @@
1
+ <!-- Generated from .aether/commands/build.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:build
3
4
  description: "🔨🐜🏗️🐜🔨 Build a phase with pure emergence - colony self-organizes and completes tasks"
4
5
  ---
5
6
 
6
- You are the **Queen**. You DIRECTLY spawn multiple workers — do not delegate to a single Prime Worker.
7
-
8
- The phase to build is: `$ARGUMENTS`
9
-
10
- ## Instructions
11
-
12
- ### Step 0: Version Check (Non-blocking)
13
-
14
- Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
7
+ ### Step -1: Normalize Arguments
15
8
 
16
- If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
17
10
 
18
- ### Step 0.6: Verify LiteLLM Proxy
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
19
12
 
20
- Check that the LiteLLM proxy is running for model routing:
13
+ You are the **Queen**. You DIRECTLY spawn multiple workers — do not delegate to a single Prime Worker.
21
14
 
22
- ```bash
23
- curl -s http://localhost:4000/health | grep -q "healthy" && echo "Proxy healthy" || echo "Proxy not running - workers will use default model"
24
- ```
15
+ The phase to build is: `$normalized_args`
25
16
 
26
- If proxy is not healthy, log a warning but continue (workers will fall back to default routing).
17
+ ## Instructions
27
18
 
28
19
  ### Step 0.5: Load Colony State
29
20
 
@@ -49,41 +40,40 @@ After displaying context, run: `bash .aether/aether-utils.sh unload-state` to re
49
40
 
50
41
  ### Step 1: Validate + Read State
51
42
 
52
- **Parse $ARGUMENTS:**
43
+ **Parse $normalized_args:**
53
44
  1. Extract the phase number (first argument)
54
45
  2. Check remaining arguments for flags:
55
46
  - If contains `--verbose` or `-v`: set `verbose_mode = true`
56
47
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
57
- - If contains `--model <name>` or `-m <name>`: set `cli_model_override = <name>`
48
+ - If contains `--depth <level>`: set `cli_depth_override = <level>`
58
49
  - Otherwise: set `visual_mode = true` (visual is default)
59
50
 
60
51
  If the phase number is empty or not a number:
61
52
 
62
53
  ```
63
- Usage: /ant:build <phase_number> [--verbose|-v] [--no-visual] [--model <model>|-m <model>]
54
+ Usage: /ant:build <phase_number> [--verbose|-v] [--no-visual] [--depth <level>]
64
55
 
65
56
  Options:
66
57
  --verbose, -v Show full completion details (spawn tree, TDD, patterns)
67
58
  --no-visual Disable real-time visual display (visual is on by default)
68
- --model, -m <name> Override model for this build (one-time)
59
+ --depth <level> Set colony depth for this build (light|standard|deep|full)
69
60
 
70
61
  Examples:
71
62
  /ant:build 1 Build Phase 1 (with visual display)
72
63
  /ant:build 1 --verbose Build Phase 1 (full details + visual)
73
64
  /ant:build 1 --no-visual Build Phase 1 without visual display
74
- /ant:build 1 --model glm-5 Build Phase 1 with glm-5 for all workers
65
+ /ant:build 1 --depth deep Build Phase 1 with thorough investigation
75
66
  ```
76
67
 
77
68
  Stop here.
78
69
 
79
- **Validate CLI model override (if provided):**
80
- If `cli_model_override` is set:
81
- 1. Validate the model: `bash .aether/aether-utils.sh model-profile validate "$cli_model_override"`
82
- 2. Parse JSON result - if `.result.valid` is false:
83
- - Display: `Error: Invalid model "$cli_model_override"`
84
- - Display: `Valid models: {list from .result.models}`
70
+ **Set colony depth (if --depth flag provided):**
71
+ If `cli_depth_override` is set:
72
+ 1. Run using Bash tool: `bash .aether/aether-utils.sh colony-depth set "$cli_depth_override"`
73
+ 2. Parse JSON result - if `.ok` is false:
74
+ - Display: `Error: Invalid depth "$cli_depth_override". Use: light, standard, deep, full`
85
75
  - Stop here
86
- 3. If valid: Display `Using override model: {model}`
76
+ 3. If valid: Display `Colony depth: {level}`
87
77
 
88
78
  **Auto-upgrade old state:**
89
79
  If `version` field is missing, "1.0", or "2.0":
@@ -175,6 +165,14 @@ Output header:
175
165
  🔄 Rollback: `git stash pop` (stash) or `git reset --hard {ref}` (commit)
176
166
  ```
177
167
 
168
+ Run using the Bash tool with description "Showing phase progress...":
169
+ ```bash
170
+ progress_bar=$(bash .aether/aether-utils.sh generate-progress-bar "$current_phase" "$total_phases" 20 2>/dev/null || echo "")
171
+ if [[ -n "$progress_bar" ]]; then
172
+ echo "[Phase ${current_phase}/${total_phases}] ${progress_bar}"
173
+ fi
174
+ ```
175
+
178
176
  ### Step 4: Load Constraints
179
177
 
180
178
  Read `.aether/data/constraints.json` if it exists.
@@ -333,7 +331,6 @@ bash .aether/aether-utils.sh pheromone-read 2>/dev/null
333
331
  ```bash
334
332
  bash .aether/aether-utils.sh generate-ant-name "archaeologist"
335
333
  bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{archaeologist_name}" "Pre-build archaeology scan"
336
- bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "excavating" "Pre-build archaeology scan" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 15
337
334
  ```
338
335
 
339
336
  Display:
@@ -342,8 +339,7 @@ bash .aether/aether-utils.sh pheromone-read 2>/dev/null
342
339
  Scanning history of files to be modified...
343
340
  ```
344
341
 
345
- Spawn a Scout (using Task tool with `subagent_type="general-purpose"`, include `description: "🏺 Archaeologist {archaeologist_name}: Pre-build history scan"`) with this prompt:
346
- # NOTE: Claude Code uses aether-archaeologist; OpenCode uses general-purpose with role injection
342
+ Spawn using Task tool with `subagent_type="aether-archaeologist"`, include `description: "🏺 Archaeologist {archaeologist_name}: Pre-build history scan"`:
347
343
 
348
344
  ```
349
345
  You are {Archaeologist-Name}, a 🏺🐜 Archaeologist Ant.
@@ -371,10 +367,9 @@ bash .aether/aether-utils.sh pheromone-read 2>/dev/null
371
367
 
372
368
  **Wait for results** (blocking — use TaskOutput with `block: true`).
373
369
 
374
- Log completion and update swarm display:
370
+ Log completion:
375
371
  ```bash
376
372
  bash .aether/aether-utils.sh spawn-complete "{archaeologist_name}" "completed" "Pre-build archaeology scan"
377
- bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "completed" "Pre-build archaeology scan" "Queen" '{"read":8,"grep":5,"edit":0,"bash":2}' 100 "fungus_garden" 100
378
373
  ```
379
374
 
380
375
  3. **Store and display findings:**
@@ -397,22 +392,7 @@ bash .aether/aether-utils.sh pheromone-read 2>/dev/null
397
392
 
398
393
  **YOU (the Queen) will spawn workers directly. Do NOT delegate to a single Prime Worker.**
399
394
 
400
- **Initialize visual swarm tracking:**
401
- ```bash
402
- # Generate unique build ID
403
- build_id="build-$(date +%s)"
404
-
405
- # Initialize swarm display for this build
406
- bash .aether/aether-utils.sh swarm-display-init "$build_id"
407
-
408
- # Log phase start
409
- bash .aether/aether-utils.sh activity-log "EXECUTING" "Queen" "Phase {id}: {name} - Queen dispatching workers"
410
-
411
- # Display animated header
412
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Phase {id}: {name}" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 10 "fungus_garden" 0
413
- ```
414
-
415
- **Show real-time display header:**
395
+ **Show build header:**
416
396
  ```
417
397
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
418
398
  Phase {id}: {name} — {N} waves, {M} tasks
@@ -524,12 +504,17 @@ For a single worker:
524
504
  bash .aether/aether-utils.sh context-update build-start {phase_id} {wave_1_worker_count} {wave_1_task_count}
525
505
  ```
526
506
 
527
- For each Wave 1 task, use Task tool with `subagent_type="general-purpose"`, include `description: "🔨 Builder {Ant-Name}: {task_description}"` (DO NOT use run_in_background - multiple Task calls in a single message run in parallel and block until complete):
507
+ Before dispatching each worker, refresh colony context so new pheromones/memory are visible:
508
+ ```bash
509
+ prime_result=$(bash .aether/aether-utils.sh colony-prime --compact 2>/dev/null)
510
+ ```
511
+ Update `prompt_section` from `prime_result.result.prompt_section`.
512
+
513
+ For each Wave 1 task, use Task tool with `subagent_type="aether-builder"`, include `description: "🔨 Builder {Ant-Name}: {task_description}"` (DO NOT use run_in_background - multiple Task calls in a single message run in parallel and block until complete):
528
514
 
529
515
  Log each spawn and update swarm display:
530
516
  ```bash
531
517
  bash .aether/aether-utils.sh spawn-log "Queen" "builder" "{ant_name}" "{task_description}"
532
- bash .aether/aether-utils.sh swarm-display-update "{ant_name}" "builder" "excavating" "{task_description}" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 10
533
518
  bash .aether/aether-utils.sh context-update worker-spawn "{ant_name}" "builder" "{task_description}"
534
519
  ```
535
520
 
@@ -551,10 +536,9 @@ Work:
551
536
  1. Read .aether/workers.md for Builder discipline
552
537
  2. Implement task, write tests
553
538
  3. Log activity: bash .aether/aether-utils.sh activity-log "ACTION" "{Ant-Name}" "description"
554
- 4. Update display: bash .aether/aether-utils.sh swarm-display-update "{Ant-Name}" "builder" "excavating" "current task" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' {progress} "fungus_garden" 50
555
539
 
556
540
  Spawn sub-workers ONLY if 3x complexity:
557
- - Check: bash .aether/aether-utils.sh spawn-can-spawn {depth}
541
+ - Check: bash .aether/aether-utils.sh spawn-can-spawn {depth} --enforce
558
542
  - Generate name: bash .aether/aether-utils.sh generate-ant-name "builder"
559
543
  - Announce: "🐜 Spawning {child_name} for {reason}"
560
544
  - Log: bash .aether/aether-utils.sh spawn-log "{Ant-Name}" "builder" "{child_name}" "{task}"
@@ -638,6 +622,12 @@ Return ONLY this JSON (no other text):
638
622
 
639
623
  **Task calls return results directly (no TaskOutput needed).**
640
624
 
625
+ Before using any worker payload, validate schema:
626
+ ```bash
627
+ bash .aether/aether-utils.sh validate-worker-response builder '{worker_json}'
628
+ ```
629
+ If validation fails, treat the worker as failed with blocker `invalid_worker_response`.
630
+
641
631
  **As each worker result arrives, IMMEDIATELY display a single completion line — do not wait for other workers:**
642
632
 
643
633
  For successful workers:
@@ -655,7 +645,6 @@ Where `tool_count` comes from the worker's returned JSON `tool_count` field, and
655
645
  Log and update swarm display:
656
646
  ```bash
657
647
  bash .aether/aether-utils.sh spawn-complete "{ant_name}" "completed" "{summary}"
658
- bash .aether/aether-utils.sh swarm-display-update "{ant_name}" "builder" "completed" "{task_description}" "Queen" '{"read":5,"grep":3,"edit":2,"bash":1}' 100 "fungus_garden" 100
659
648
  bash .aether/aether-utils.sh context-update worker-complete "{ant_name}" "completed"
660
649
  ```
661
650
 
@@ -718,15 +707,7 @@ bash .aether/aether-utils.sh flag-add "blocker" "{task title}" "{failure summary
718
707
 
719
708
  If at least one worker succeeded, continue normally to the next wave.
720
709
 
721
- **Parse each worker's JSON output to collect:** status, files_created, files_modified, blockers
722
-
723
- **Visual Mode: Render live display (tmux only):**
724
- If `visual_mode` is true AND the build is running inside a tmux session (`$TMUX` environment variable is set), render the swarm display:
725
- ```bash
726
- bash .aether/aether-utils.sh swarm-display-text "$build_id"
727
- ```
728
-
729
- If `$TMUX` is not set, skip this call entirely — do not attempt it. Chat users see the structured completion lines above instead.
710
+ **Parse each worker's validated JSON output to collect:** status, files_created, files_modified, blockers
730
711
 
731
712
  ### Step 5.3: Spawn Wave 2+ Workers (Sequential Waves)
732
713
 
@@ -745,14 +726,13 @@ Repeat Step 5.1-5.2 for each subsequent wave, waiting for previous wave to compl
745
726
  **Announce the verification wave:**
746
727
  ```
747
728
  ━━━ 👁️🐜 V E R I F I C A T I O N ━━━
748
- ──── 👁️🐜 Spawning {watcher_name} ────
729
+ ──── 👁️🐜 Spawning {watcher_name} — Independent verification ────
749
730
  ```
750
731
 
751
- Spawn the Watcher using Task tool with `subagent_type="general-purpose"`, include `description: "👁️ Watcher {Watcher-Name}: Independent verification"` (DO NOT use run_in_background - task blocks until complete):
732
+ Spawn the Watcher using Task tool with `subagent_type="aether-watcher"`, include `description: "👁️ Watcher {Watcher-Name}: Independent verification"` (DO NOT use run_in_background - task blocks until complete):
752
733
 
753
734
  ```bash
754
735
  bash .aether/aether-utils.sh spawn-log "Queen" "watcher" "{watcher_name}" "Independent verification"
755
- bash .aether/aether-utils.sh swarm-display-update "{watcher_name}" "watcher" "observing" "Verification in progress" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 50
756
736
  ```
757
737
 
758
738
  **Watcher Worker Prompt (CLEAN OUTPUT):**
@@ -785,7 +765,12 @@ Return ONLY this JSON:
785
765
 
786
766
  **Task call returns results directly (no TaskOutput needed).**
787
767
 
788
- **Parse the Watcher's JSON response:** verification_passed, issues_found, quality_score, recommendation
768
+ Validate watcher payload first:
769
+ ```bash
770
+ bash .aether/aether-utils.sh validate-worker-response watcher '{watcher_json}'
771
+ ```
772
+
773
+ **Parse the Watcher's validated JSON response:** verification_passed, issues_found, quality_score, recommendation
789
774
 
790
775
  **Display Watcher completion line:**
791
776
 
@@ -801,11 +786,6 @@ For failed verification:
801
786
 
802
787
  **Store results for synthesis in Step 5.7**
803
788
 
804
- **Update swarm display when Watcher completes:**
805
- ```bash
806
- bash .aether/aether-utils.sh swarm-display-update "{watcher_name}" "watcher" "completed" "Verification complete" "Queen" '{"read":3,"grep":2,"edit":0,"bash":1}' 100 "nursery" 100
807
- ```
808
-
809
789
  ### Step 5.6: Spawn Chaos Ant for Resilience Testing
810
790
 
811
791
  **After the Watcher completes, spawn a Chaos Ant to probe the phase work for edge cases and boundary conditions.**
@@ -814,7 +794,6 @@ Generate a chaos ant name and log the spawn:
814
794
  ```bash
815
795
  bash .aether/aether-utils.sh generate-ant-name "chaos"
816
796
  bash .aether/aether-utils.sh spawn-log "Queen" "chaos" "{chaos_name}" "Resilience testing of Phase {id} work"
817
- bash .aether/aether-utils.sh swarm-display-update "{chaos_name}" "chaos" "probing" "Resilience testing" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "refuse_pile" 75
818
797
  ```
819
798
 
820
799
  **Retrieve existing flags for this phase** (to avoid duplicate findings):
@@ -828,8 +807,7 @@ Parse the result and extract unresolved flag titles into a list: `{existing_flag
828
807
  ──── 🎲🐜 Spawning {chaos_name} — resilience testing ────
829
808
  ```
830
809
 
831
- Spawn the Chaos Ant using Task tool with `subagent_type="general-purpose"`, include `description: "🎲 Chaos {Chaos-Name}: Resilience testing"` (DO NOT use run_in_background - task blocks until complete):
832
- # NOTE: Claude Code uses aether-chaos; OpenCode uses general-purpose with role injection
810
+ Spawn the Chaos Ant using Task tool with `subagent_type="aether-chaos"`, include `description: "🎲 Chaos {Chaos-Name}: Resilience testing"` (DO NOT use run_in_background - task blocks until complete):
833
811
 
834
812
  **Chaos Ant Prompt (CLEAN OUTPUT):**
835
813
  ```
@@ -882,7 +860,6 @@ bash .aether/aether-utils.sh activity-log "FLAG" "Chaos" "Created blocker: {find
882
860
  Log chaos ant completion and update swarm display:
883
861
  ```bash
884
862
  bash .aether/aether-utils.sh spawn-complete "{chaos_name}" "completed" "{summary}"
885
- bash .aether/aether-utils.sh swarm-display-update "{chaos_name}" "chaos" "completed" "Resilience testing done" "Queen" '{"read":2,"grep":1,"edit":0,"bash":0}' 100 "refuse_pile" 100
886
863
  ```
887
864
 
888
865
  ### Step 5.8: Create Flags for Verification Failures
@@ -1115,7 +1092,7 @@ Write the result to .aether/HANDOFF.md using the Write tool.
1115
1092
 
1116
1093
  This ensures the handoff always reflects the latest build state, even if the session crashes before explicit pause.
1117
1094
 
1118
- ### Step 6.5: Update Context Document
1095
+ ### Step 6.6: Update Context Document
1119
1096
 
1120
1097
  Log this build activity to `.aether/CONTEXT.md`:
1121
1098
 
@@ -1136,17 +1113,6 @@ Also update safe-to-clear status:
1136
1113
 
1137
1114
  **This step runs ONLY after synthesis is complete. All values come from actual worker results.**
1138
1115
 
1139
- **Update swarm display state (always) and render (tmux only):**
1140
- ```bash
1141
- # Update Queen as completed
1142
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Phase {id} complete" "Colony" '{"read":10,"grep":5,"edit":5,"bash":2}' 100 "fungus_garden" 100
1143
- ```
1144
-
1145
- If `$TMUX` is set, also render the final swarm display:
1146
- ```bash
1147
- bash .aether/aether-utils.sh swarm-display-text "$build_id"
1148
- ```
1149
-
1150
1116
  **Display BUILD SUMMARY (always shown, replaces compact/verbose split):**
1151
1117
 
1152
1118
  Calculate `total_tools` by summing `tool_count` from all worker return JSONs (builders + watcher + chaos).