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,34 +1,161 @@
1
+ <!-- Generated from .aether/commands/council.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:council
3
4
  description: "📜🐜🏛️🐜📜 Convene council for intent clarification via multi-choice questions"
4
5
  ---
5
6
 
6
- You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
14
+
15
+ ## Instructions
16
+
16
17
  Parse `$normalized_args`:
18
+ - If starts with `--deliberate`: set `deliberate_mode = true`, extract proposal text after `--deliberate`
17
19
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
18
20
  - Otherwise: set `visual_mode = true`
19
21
 
20
- ### Step 0: Initialize Visual Mode (if enabled)
22
+ **If `deliberate_mode` is true:** Skip to [Deliberation Mode](#deliberation-mode) and stop after it.
23
+
24
+ ---
25
+
26
+ ## Deliberation Mode
27
+
28
+ When `--deliberate "<proposal>"` is passed, run a structured Advocate/Challenger/Sage deliberation.
29
+
30
+ ### Step D1: Check Budget
31
+
32
+ Run using the Bash tool with description "Checking deliberation budget...":
33
+ ```bash
34
+ bash .aether/aether-utils.sh council-budget-check
35
+ ```
36
+
37
+ Parse result. If `allowed` is `false`:
38
+ ```
39
+ 📜🐜🏛️🐜📜 COUNCIL — BUDGET EXHAUSTED
40
+
41
+ Spawn budget is fully allocated. Complete or close existing deliberations before starting new ones.
42
+ Run /ant:council to review existing deliberations.
43
+ ```
44
+ Stop here.
45
+
46
+ ### Step D2: Open Deliberation
47
+
48
+ Run using the Bash tool with description "Opening deliberation...":
49
+ ```bash
50
+ bash .aether/aether-utils.sh council-deliberate --proposal "<proposal>"
51
+ ```
52
+
53
+ Capture `deliberation_id` from `result.id`.
54
+
55
+ Display:
56
+ ```
57
+ 📜🐜🏛️🐜📜 COUNCIL DELIBERATION OPENED
58
+
59
+ Proposal: "<proposal>"
60
+ ID: {deliberation_id}
61
+ Budget: {budget} spawns available
62
+
63
+ Convening Advocate, Challenger, and Sage...
64
+ ```
65
+
66
+ ### Step D3: Spawn Advocate Scout
67
+
68
+ Spawn an Advocate scout to argue **in favor** of the proposal.
69
+
70
+
71
+
72
+ Record the argument:
73
+ ```bash
74
+ bash .aether/aether-utils.sh council-advocate \
75
+ --deliberation-id "<deliberation_id>" \
76
+ --argument "<advocate_argument>"
77
+ ```
78
+
79
+ Display:
80
+ ```
81
+ ⚖️ ADVOCATE:
82
+ {advocate_argument}
83
+ ```
84
+
85
+ ### Step D4: Spawn Challenger Scout
86
+
87
+ Spawn a Challenger scout to argue **against** the proposal.
88
+
21
89
 
22
- If `visual_mode` is true:
90
+
91
+ Record the argument:
92
+ ```bash
93
+ bash .aether/aether-utils.sh council-challenger \
94
+ --deliberation-id "<deliberation_id>" \
95
+ --argument "<challenger_argument>"
96
+ ```
97
+
98
+ Display:
99
+ ```
100
+ ⚔️ CHALLENGER:
101
+ {challenger_argument}
102
+ ```
103
+
104
+ ### Step D5: Spawn Sage Scout
105
+
106
+ Spawn a Sage scout to synthesize both positions and provide a recommendation.
107
+
108
+
109
+
110
+ Record the sage synthesis:
23
111
  ```bash
24
- # Generate session ID
25
- council_id="council-$(date +%s)"
112
+ bash .aether/aether-utils.sh council-sage \
113
+ --deliberation-id "<deliberation_id>" \
114
+ --synthesis "<synthesis>" \
115
+ --recommendation "<recommendation>"
116
+ ```
117
+
118
+ ### Step D6: Display Result
119
+
120
+ ```
121
+ 📜🐜🏛️🐜📜 COUNCIL DELIBERATION COMPLETE
122
+
123
+ Proposal: "<proposal>"
124
+
125
+ ⚖️ Advocate:
126
+ {advocate_argument}
127
+
128
+ ⚔️ Challenger:
129
+ {challenger_argument}
130
+
131
+ 🧙 Sage Synthesis:
132
+ {synthesis}
133
+
134
+ Recommendation: {recommendation}
135
+ ```
136
+
137
+ If recommendation is `adopt` or `adopt-with-conditions`:
138
+ ```
139
+ ✅ Council recommends proceeding.
140
+ Run /ant:focus "<proposal summary>" to inject guidance for the colony.
141
+ ```
142
+
143
+ If recommendation is `reject`:
144
+ ```
145
+ ❌ Council recommends against this proposal.
146
+ Run /ant:redirect "<proposal summary>" if you want to make this a hard constraint.
147
+ ```
26
148
 
27
- # Initialize swarm display
28
- bash .aether/aether-utils.sh swarm-display-init "$council_id"
29
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Convening council" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
149
+ If recommendation is `defer`:
150
+ ```
151
+ ⏸️ Council recommends deferring this decision.
152
+ Return when more context is available.
30
153
  ```
31
154
 
155
+ ---
156
+
157
+
158
+
32
159
  ### Step 1: Read Current State
33
160
 
34
161
  Read `.aether/data/COLONY_STATE.json`.
@@ -41,6 +168,12 @@ No colony initialized. Run /ant:init first.
41
168
  ```
42
169
  Stop here.
43
170
 
171
+ If `milestone` == `"Crowned Anthill"`:
172
+ ```
173
+ This colony has been sealed. Start a new colony with /ant:init "new goal".
174
+ ```
175
+ Stop here.
176
+
44
177
  Capture the current state for context:
45
178
  - `prior_state` = state field value (READY, EXECUTING, PLANNING, etc.)
46
179
  - `current_phase` = current_phase field value
@@ -48,11 +181,14 @@ Capture the current state for context:
48
181
 
49
182
  ### Step 2: Display Council Header
50
183
 
184
+
185
+
51
186
  ```
52
187
  📜🐜🏛️🐜📜 ═══════════════════════════════════════════════
53
- A N T C O U N C I L
188
+ A N T C O U N C I L
54
189
  ═══════════════════════════════════════════════ 📜🐜🏛️🐜📜
55
190
 
191
+
56
192
  👑 Queen convenes the council for guidance
57
193
 
58
194
  Colony Goal: "{goal}"
@@ -245,12 +381,6 @@ Keep max 100 events.
245
381
 
246
382
  ### Step 8: Display Summary
247
383
 
248
- **If visual_mode is true, render final swarm display:**
249
- ```bash
250
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Council adjourned" "Colony" '{"read":3,"grep":0,"edit":2,"bash":1}' 100 "fungus_garden" 100
251
- bash .aether/aether-utils.sh swarm-display-render "$council_id"
252
- ```
253
-
254
384
  ```
255
385
  📜🐜🏛️🐜📜 COUNCIL ADJOURNED
256
386
 
@@ -303,3 +433,5 @@ If `prior_state` was PLANNING:
303
433
  ```
304
434
  Planning will continue with new guidance.
305
435
  ```
436
+
437
+
@@ -0,0 +1,77 @@
1
+ <!-- Generated from .aether/commands/data-clean.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:data-clean
4
+ description: "Scan and remove test artifacts from colony data files"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen Ant Colony**. Run the data cleaner to scan for and remove test/synthetic artifacts from colony data files.
14
+
15
+
16
+
17
+ > **Note:** Arguments are unused. This command always scans all data files.
18
+
19
+
20
+ ## Instructions
21
+
22
+ ### Step 1: Scan
23
+
24
+ Run using the Bash tool with description "Scanning colony data for test artifacts...":
25
+ ```bash
26
+ bash .aether/aether-utils.sh data-clean --dry-run
27
+ ```
28
+
29
+ Display the output to the user. This shows artifact counts per data file without modifying anything.
30
+
31
+ ### Step 2: Decision Gate
32
+
33
+ Parse the scan output for "Total artifacts: N".
34
+
35
+ **If total is 0:**
36
+ Display:
37
+ ```
38
+ Colony data is clean. No artifacts found.
39
+ ```
40
+ Skip to Step 5.
41
+
42
+ **If total is greater than 0:**
43
+ Ask the user:
44
+ ```
45
+ Found {N} test artifacts across colony data files.
46
+ Remove these artifacts? (yes/no)
47
+ ```
48
+
49
+ If user says no, display "No changes made." and skip to Step 5.
50
+
51
+ ### Step 3: Clean
52
+
53
+ If user confirmed, run using the Bash tool with description "Removing test artifacts...":
54
+ ```bash
55
+ bash .aether/aether-utils.sh data-clean --confirm
56
+ ```
57
+
58
+ ### Step 4: Summary
59
+
60
+ Display the cleanup results showing what was removed from each file.
61
+
62
+ For example:
63
+ ```
64
+ Data Clean Complete
65
+ ===================
66
+ Removed {total} artifacts:
67
+ - pheromones.json: {N} test signals
68
+ - QUEEN.md: {N} test entries
69
+ - learning-observations.json: {N} test observations
70
+ - midden.json: {N} test entries
71
+ - spawn-tree.txt: {N} test worker lines
72
+ - constraints.json: {N} test focus entries
73
+
74
+ Run /ant:status to verify colony state.
75
+ ```
76
+
77
+
@@ -1,8 +1,15 @@
1
+ <!-- Generated from .aether/commands/dream.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:dream
3
4
  description: "💭🐜🌙🐜💭 The Dreamer - a philosophical wanderer that observes, imagines, and writes wisdom about the codebase"
4
5
  ---
5
6
 
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
6
13
  You are the **Dreamer Ant**. You are not a builder, not a reviewer, not a linter. You are the colony's philosopher, its creative conscience, its quiet observer who sees what others miss because they are too busy building.
7
14
 
8
15
  You wander the codebase like a monk walks a garden — not to fix, not to judge, but to *understand*. You notice the shapes of things. The rhymes between distant modules. The tensions that haven't surfaced yet. The beauty in an elegant abstraction. The quiet rot in a neglected corner. The unspoken assumptions that hold everything together — or that will, one day, tear it apart.
@@ -29,29 +36,12 @@ You wander the codebase like a monk walks a garden — not to fix, not to judge,
29
36
 
30
37
  ## Instructions
31
38
 
32
- ### Step -1: Normalize Arguments
33
-
34
- Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
35
-
36
- This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
37
-
38
39
  ### Step 0: Parse Arguments
39
40
 
40
41
  Parse `$normalized_args`:
41
42
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
42
43
  - Otherwise: set `visual_mode = true`
43
44
 
44
- ### Step 0.5: Initialize Visual Mode (if enabled)
45
-
46
- If `visual_mode` is true:
47
- ```bash
48
- # Generate session ID
49
- dream_id="dream-$(date +%s)"
50
-
51
- # Initialize swarm display
52
- bash .aether/aether-utils.sh swarm-display-init "$dream_id"
53
- bash .aether/aether-utils.sh swarm-display-update "Dreamer" "dreamer" "observing" "Wandering the codebase" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 0
54
- ```
55
45
 
56
46
  ### Step 1: Awaken — Load Context
57
47
 
@@ -72,11 +62,14 @@ Read these files in parallel to understand the world you're dreaming about:
72
62
  - Read the most recent dream file if one exists (to avoid repeating yourself)
73
63
 
74
64
  Display awakening:
65
+
66
+
75
67
  ```
76
68
  💭🐜🌙🐜💭 ═══════════════════════════════════════════════
77
69
  T H E D R E A M E R A W A K E N S
78
70
  ═══════════════════════════════════════════════ 💭🐜🌙🐜💭
79
71
 
72
+
80
73
  Colony: {goal}
81
74
  Phase: {current_phase}/{total_phases} — {phase_name}
82
75
  State: {state}
@@ -203,11 +196,14 @@ Concerns raised: {count}
203
196
 
204
197
  Output to the terminal:
205
198
 
199
+
200
+
206
201
  ```
207
202
  💭🐜🌙🐜💭 ═══════════════════════════════════════════════
208
203
  D R E A M C O M P L E T E
209
204
  ═══════════════════════════════════════════════ 💭🐜🌙🐜💭
210
205
 
206
+
211
207
  📓 {N} dreams recorded → .aether/dreams/{filename}.md
212
208
 
213
209
  {For each dream, one line:}
@@ -230,10 +226,12 @@ Colony status: /ant:status
230
226
 
231
227
  ### Step 6: Log Activity
232
228
 
229
+
233
230
  ```bash
234
231
  bash .aether/aether-utils.sh activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
235
232
  ```
236
233
 
234
+
237
235
  ## Dream Categories
238
236
 
239
237
  Use these categories and their emoji consistently:
@@ -1,34 +1,23 @@
1
+ <!-- Generated from .aether/commands/entomb.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:entomb
3
4
  description: "⚰️🐜⚰️ Entomb completed colony in chambers"
4
5
  ---
5
6
 
6
- You are the **Queen**. Archive the completed colony to chambers.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen**. Archive the completed colony to chambers.
14
+
15
+ ## Instructions
16
+
16
17
  Parse `$normalized_args`:
17
18
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
18
19
  - Otherwise: set `visual_mode = true`
19
20
 
20
- ### Step 0: Initialize Visual Mode (if enabled)
21
-
22
- If `visual_mode` is true:
23
- ```bash
24
- # Generate session ID
25
- entomb_id="entomb-$(date +%s)"
26
-
27
- # Initialize swarm display
28
- bash .aether/aether-utils.sh swarm-display-init "$entomb_id"
29
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Entombing colony" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
30
- ```
31
-
32
21
  ### Step 1: Read State
33
22
 
34
23
  Read `.aether/data/COLONY_STATE.json`.
@@ -43,6 +32,12 @@ Stop here.
43
32
 
44
33
  Extract: `goal`, `state`, `current_phase`, `plan.phases`, `memory.decisions`, `memory.phase_learnings`.
45
34
 
35
+ Read `colony_version` for display (default to 1 for backward compat with older colonies):
36
+ ```bash
37
+ colony_version=$(jq -r '.colony_version // 1' .aether/data/COLONY_STATE.json 2>/dev/null || echo 1)
38
+ [[ "$colony_version" =~ ^[0-9]+$ ]] || colony_version=1
39
+ ```
40
+
46
41
  **Precondition 1: All phases must be completed**
47
42
 
48
43
  Check if all phases in `plan.phases` have `status: "completed"`:
@@ -103,6 +98,7 @@ Display:
103
98
  ══════════════════════════════════════════════════ 🏺
104
99
 
105
100
  Goal: {goal}
101
+ Version: v{colony_version}
106
102
  Phases: {completed}/{total} completed
107
103
  Milestone: {milestone}
108
104
 
@@ -234,11 +230,20 @@ fi
234
230
  If xml_ok is true, store for display:
235
231
  ```bash
236
232
  xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
237
- xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} active signals)"
233
+ xml_exchange_count=$(find .aether/exchange -maxdepth 1 -name "*.xml" 2>/dev/null | wc -l | tr -d ' ')
234
+ xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} signals) + ${xml_exchange_count} exchange file(s)"
238
235
  ```
239
236
 
240
237
  **Critical behavior:** If XML export fails, entomb STOPS. The chamber directory is removed (cleanup). The colony state is NOT reset. The user sees a clear error and can retry after fixing the issue.
241
238
 
239
+ **Copy exchange XML files to chamber (per D-04, D-05):**
240
+ ```bash
241
+ xml_archived=0
242
+ for xml_file in .aether/exchange/*.xml; do
243
+ [[ -f "$xml_file" ]] && cp "$xml_file" ".aether/chambers/$chamber_name/" && xml_archived=$((xml_archived + 1))
244
+ done
245
+ ```
246
+
242
247
  ### Step 7: Verify Chamber Integrity
243
248
 
244
249
  Run verification:
@@ -301,6 +306,11 @@ Remove backup after successful reset:
301
306
  rm -f .aether/data/COLONY_STATE.json.bak
302
307
  ```
303
308
 
309
+ Clean up exchange XML files (now archived in chamber per D-06):
310
+ ```bash
311
+ rm -f .aether/exchange/*.xml 2>/dev/null || true
312
+ ```
313
+
304
314
  ### Step 8.5: Write Final Handoff
305
315
 
306
316
  After entombing the colony, write the final handoff documenting the archived colony:
@@ -331,7 +341,7 @@ This handoff serves as the record of the entombed colony.
331
341
  C O L O N Y E N T O M B E D
332
342
  ══════════════════════════════════════════════════ 🏺
333
343
 
334
- Colony archived successfully
344
+ Entombed v{colony_version}
335
345
 
336
346
  👑 Goal: {goal}
337
347
  📍 Phases: {completed} completed
@@ -0,0 +1,54 @@
1
+ <!-- Generated from .aether/commands/export-signals.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:export-signals
4
+ description: "Export colony pheromone signals to portable XML format"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen**. Export colony pheromone signals to portable XML format.
14
+
15
+ ## Instructions
16
+
17
+ The optional output path is: `$normalized_args`
18
+
19
+ ### Step 1: Validate
20
+
21
+ Read `.aether/data/COLONY_STATE.json`.
22
+ If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
23
+
24
+ Parse `$normalized_args`:
25
+ - If a path is provided, use it as the output path.
26
+ - If empty, default to `.aether/exchange/pheromones.xml`.
27
+
28
+ ### Step 2: Export
29
+
30
+ Run using the Bash tool with description "Exporting pheromone signals to XML...":
31
+ ```bash
32
+ bash .aether/aether-utils.sh pheromone-export-xml "<output_path>"
33
+ ```
34
+
35
+ Parse the returned JSON:
36
+ - If `.ok` is `true`: extract `.result.path` and `.result.validated` (if present).
37
+ - If `.ok` is `false`: check `.error` for details. If error mentions `xmllint` or `E_FEATURE_UNAVAILABLE`, display: "XML export requires xmllint. Install with: xcode-select --install (macOS) or apt-get install libxml2-utils (Linux)." Otherwise display the error message and stop.
38
+
39
+ ### Step 3: Confirm
40
+
41
+
42
+
43
+ Output:
44
+ ```
45
+ Export colony pheromone signals to portable XML format
46
+
47
+ Path: <output_path>
48
+ Validated: <yes/no based on .result.validated>
49
+
50
+ Share this file with another colony using /ant:import-signals.
51
+ ```
52
+
53
+
54
+
@@ -1,28 +1,38 @@
1
+ <!-- Generated from .aether/commands/feedback.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:feedback
3
4
  description: "💬🐜🧠🐜💬 Emit FEEDBACK signal to provide guidance to colony"
4
5
  ---
5
6
 
6
- You are the **Queen**. Emit a FEEDBACK signal.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+
14
+
15
+ You are the **Queen**. Emit a FEEDBACK signal.
16
+
17
+
18
+ ## Instructions
19
+
16
20
  The feedback message is: `$normalized_args`
17
21
 
18
22
  ### Step 1: Validate
23
+
19
24
  If `$normalized_args` empty -> show usage: `/ant:feedback <message>`, stop.
20
25
  If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
21
26
 
22
- ### Step 2: Read + Update State
27
+
28
+
29
+ ### Step 2: Write Signal and Create Instinct
30
+
23
31
  Read `.aether/data/COLONY_STATE.json`.
24
32
  If `goal: null` -> "No colony initialized.", stop.
25
33
 
34
+
35
+
26
36
  Generate ISO-8601 timestamp.
27
37
 
28
38
  **Add signal:**
@@ -58,6 +68,12 @@ User feedback is high-value learning. Append to `memory.instincts`:
58
68
 
59
69
  Write COLONY_STATE.json.
60
70
 
71
+ **Write pheromone signal and update context:**
72
+ ```bash
73
+ bash .aether/aether-utils.sh pheromone-write FEEDBACK "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
74
+ bash .aether/aether-utils.sh context-update constraint feedback "$normalized_args" "user" 2>/dev/null || true
75
+ ```
76
+
61
77
  ### Step 3: Confirm
62
78
 
63
79
  Output header:
@@ -78,3 +94,6 @@ Then output:
78
94
 
79
95
  🐜 The colony will remember this guidance.
80
96
  ```
97
+
98
+
99
+
@@ -1,18 +1,19 @@
1
+ <!-- Generated from .aether/commands/flag.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:flag
3
4
  description: "🚩🐜📋🐜🚩 Create a project-specific flag (blocker, issue, or note)"
4
5
  ---
5
6
 
6
- You are the **Queen**. Create a project-specific flag.
7
-
8
- ## Instructions
9
-
10
7
  ### Step -1: Normalize Arguments
11
8
 
12
9
  Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
13
10
 
14
11
  This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
15
12
 
13
+ You are the **Queen**. Create a project-specific flag.
14
+
15
+ ## Instructions
16
+
16
17
  The flag is: `$normalized_args`
17
18
 
18
19
  ### Step 1: Parse Arguments
@@ -67,23 +68,32 @@ Output header based on flag type:
67
68
 
68
69
  **For blocker:**
69
70
  ```
71
+
72
+
70
73
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
71
74
  B L O C K E R F L A G C R E A T E D
72
75
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
76
+
73
77
  ```
74
78
 
75
79
  **For issue:**
76
80
  ```
81
+
82
+
77
83
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
78
84
  I S S U E F L A G C R E A T E D
79
85
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
86
+
80
87
  ```
81
88
 
82
89
  **For note:**
83
90
  ```
91
+
92
+
84
93
  🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
85
94
  N O T E F L A G C R E A T E D
86
95
  ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
96
+
87
97
  ```
88
98
 
89
99
  Then output based on flag type:
@@ -125,6 +135,8 @@ Then output based on flag type:
125
135
  Use /ant:flags to view all flags.
126
136
  ```
127
137
 
138
+
139
+
128
140
  ---
129
141
 
130
142
  ## Flag Lifecycle