aether-colony 5.0.0 → 5.1.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 (312) hide show
  1. package/.aether/aether-utils.sh +3150 -3349
  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 +438 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +304 -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 +469 -0
  44. package/.aether/commands/insert-phase.yaml +98 -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 +1313 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/redirect.yaml +123 -0
  59. package/.aether/commands/resume-colony.yaml +373 -0
  60. package/.aether/commands/resume.yaml +398 -0
  61. package/.aether/commands/run.yaml +193 -0
  62. package/.aether/commands/seal.yaml +1205 -0
  63. package/.aether/commands/skill-create.yaml +337 -0
  64. package/.aether/commands/status.yaml +364 -0
  65. package/.aether/commands/swarm.yaml +352 -0
  66. package/.aether/commands/tunnels.yaml +814 -0
  67. package/.aether/commands/update.yaml +131 -0
  68. package/.aether/commands/verify-castes.yaml +159 -0
  69. package/.aether/commands/watch.yaml +454 -0
  70. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  71. package/.aether/docs/QUEEN-SYSTEM.md +11 -11
  72. package/.aether/docs/README.md +32 -2
  73. package/.aether/docs/command-playbooks/README.md +23 -0
  74. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  75. package/.aether/docs/command-playbooks/build-context.md +282 -0
  76. package/.aether/docs/command-playbooks/build-full.md +1682 -0
  77. package/.aether/docs/command-playbooks/build-prep.md +283 -0
  78. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  79. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  80. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  81. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  82. package/.aether/docs/command-playbooks/continue-full.md +1724 -0
  83. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  84. package/.aether/docs/command-playbooks/continue-verify.md +406 -0
  85. package/.aether/docs/context-continuity.md +84 -0
  86. package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
  87. package/.aether/docs/error-codes.md +1 -1
  88. package/.aether/docs/known-issues.md +34 -173
  89. package/.aether/docs/pheromones.md +86 -6
  90. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  91. package/.aether/docs/queen-commands.md +10 -9
  92. package/.aether/docs/source-of-truth-map.md +132 -0
  93. package/.aether/docs/xml-utilities.md +47 -0
  94. package/.aether/rules/aether-colony.md +23 -13
  95. package/.aether/scripts/incident-test-add.sh +47 -0
  96. package/.aether/scripts/weekly-audit.sh +79 -0
  97. package/.aether/skills/.index.json +649 -0
  98. package/.aether/skills/colony/.manifest.json +16 -0
  99. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  100. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  101. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  102. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  103. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  104. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  105. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  106. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  107. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  108. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  109. package/.aether/skills/domain/.manifest.json +24 -0
  110. package/.aether/skills/domain/README.md +33 -0
  111. package/.aether/skills/domain/django/SKILL.md +49 -0
  112. package/.aether/skills/domain/docker/SKILL.md +52 -0
  113. package/.aether/skills/domain/golang/SKILL.md +52 -0
  114. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  115. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  116. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  117. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  118. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  119. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  120. package/.aether/skills/domain/python/SKILL.md +50 -0
  121. package/.aether/skills/domain/rails/SKILL.md +52 -0
  122. package/.aether/skills/domain/react/SKILL.md +45 -0
  123. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  124. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  125. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  126. package/.aether/skills/domain/testing/SKILL.md +53 -0
  127. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  128. package/.aether/skills/domain/vue/SKILL.md +49 -0
  129. package/.aether/templates/QUEEN.md.template +23 -41
  130. package/.aether/templates/colony-state-reset.jq.template +1 -0
  131. package/.aether/templates/colony-state.template.json +4 -0
  132. package/.aether/templates/learning-observations.template.json +6 -0
  133. package/.aether/templates/midden.template.json +13 -0
  134. package/.aether/templates/pheromones.template.json +6 -0
  135. package/.aether/templates/session.template.json +9 -0
  136. package/.aether/utils/atomic-write.sh +63 -17
  137. package/.aether/utils/chamber-utils.sh +145 -2
  138. package/.aether/utils/emoji-audit.sh +166 -0
  139. package/.aether/utils/error-handler.sh +21 -7
  140. package/.aether/utils/file-lock.sh +182 -27
  141. package/.aether/utils/flag.sh +267 -0
  142. package/.aether/utils/hive.sh +572 -0
  143. package/.aether/utils/learning.sh +1928 -0
  144. package/.aether/utils/midden.sh +342 -0
  145. package/.aether/utils/oracle/oracle.md +168 -0
  146. package/.aether/utils/oracle/oracle.sh +1023 -0
  147. package/.aether/utils/pheromone.sh +2029 -0
  148. package/.aether/utils/queen.sh +1698 -0
  149. package/.aether/utils/scan.sh +860 -0
  150. package/.aether/utils/semantic-cli.sh +10 -8
  151. package/.aether/utils/session.sh +552 -0
  152. package/.aether/utils/skills.sh +509 -0
  153. package/.aether/utils/spawn-tree.sh +103 -271
  154. package/.aether/utils/spawn.sh +260 -0
  155. package/.aether/utils/state-api.sh +199 -0
  156. package/.aether/utils/state-loader.sh +8 -6
  157. package/.aether/utils/suggest.sh +611 -0
  158. package/.aether/utils/swarm-display.sh +10 -1
  159. package/.aether/utils/swarm.sh +1004 -0
  160. package/.aether/utils/watch-spawn-tree.sh +11 -2
  161. package/.aether/utils/xml-compose.sh +2 -2
  162. package/.aether/utils/xml-convert.sh +9 -5
  163. package/.aether/utils/xml-core.sh +5 -9
  164. package/.aether/utils/xml-query.sh +4 -4
  165. package/.aether/workers.md +86 -67
  166. package/.claude/agents/ant/aether-ambassador.md +2 -1
  167. package/.claude/agents/ant/aether-archaeologist.md +6 -1
  168. package/.claude/agents/ant/aether-architect.md +236 -0
  169. package/.claude/agents/ant/aether-auditor.md +6 -1
  170. package/.claude/agents/ant/aether-builder.md +38 -1
  171. package/.claude/agents/ant/aether-chaos.md +2 -1
  172. package/.claude/agents/ant/aether-chronicler.md +1 -0
  173. package/.claude/agents/ant/aether-gatekeeper.md +6 -1
  174. package/.claude/agents/ant/aether-includer.md +1 -0
  175. package/.claude/agents/ant/aether-keeper.md +1 -0
  176. package/.claude/agents/ant/aether-measurer.md +6 -1
  177. package/.claude/agents/ant/aether-oracle.md +237 -0
  178. package/.claude/agents/ant/aether-probe.md +2 -1
  179. package/.claude/agents/ant/aether-queen.md +6 -1
  180. package/.claude/agents/ant/aether-route-setter.md +6 -1
  181. package/.claude/agents/ant/aether-sage.md +68 -3
  182. package/.claude/agents/ant/aether-scout.md +38 -1
  183. package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
  184. package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
  185. package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
  186. package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
  187. package/.claude/agents/ant/aether-tracker.md +6 -1
  188. package/.claude/agents/ant/aether-watcher.md +37 -1
  189. package/.claude/agents/ant/aether-weaver.md +2 -1
  190. package/.claude/commands/ant/archaeology.md +1 -8
  191. package/.claude/commands/ant/build.md +43 -1159
  192. package/.claude/commands/ant/chaos.md +1 -14
  193. package/.claude/commands/ant/colonize.md +1 -14
  194. package/.claude/commands/ant/continue.md +40 -1026
  195. package/.claude/commands/ant/council.md +9 -16
  196. package/.claude/commands/ant/data-clean.md +81 -0
  197. package/.claude/commands/ant/dream.md +12 -9
  198. package/.claude/commands/ant/entomb.md +62 -87
  199. package/.claude/commands/ant/export-signals.md +57 -0
  200. package/.claude/commands/ant/feedback.md +18 -0
  201. package/.claude/commands/ant/flag.md +12 -0
  202. package/.claude/commands/ant/flags.md +22 -8
  203. package/.claude/commands/ant/focus.md +18 -0
  204. package/.claude/commands/ant/help.md +40 -8
  205. package/.claude/commands/ant/history.md +3 -0
  206. package/.claude/commands/ant/import-signals.md +71 -0
  207. package/.claude/commands/ant/init.md +316 -191
  208. package/.claude/commands/ant/insert-phase.md +101 -0
  209. package/.claude/commands/ant/interpret.md +11 -0
  210. package/.claude/commands/ant/lay-eggs.md +167 -158
  211. package/.claude/commands/ant/maturity.md +22 -11
  212. package/.claude/commands/ant/memory-details.md +77 -0
  213. package/.claude/commands/ant/migrate-state.md +6 -0
  214. package/.claude/commands/ant/oracle.md +317 -62
  215. package/.claude/commands/ant/organize.md +10 -5
  216. package/.claude/commands/ant/patrol.md +620 -0
  217. package/.claude/commands/ant/pause-colony.md +8 -22
  218. package/.claude/commands/ant/phase.md +26 -37
  219. package/.claude/commands/ant/pheromones.md +156 -0
  220. package/.claude/commands/ant/plan.md +175 -52
  221. package/.claude/commands/ant/preferences.md +65 -0
  222. package/.claude/commands/ant/redirect.md +18 -0
  223. package/.claude/commands/ant/resume-colony.md +34 -20
  224. package/.claude/commands/ant/resume.md +51 -7
  225. package/.claude/commands/ant/run.md +195 -0
  226. package/.claude/commands/ant/seal.md +497 -78
  227. package/.claude/commands/ant/skill-create.md +286 -0
  228. package/.claude/commands/ant/status.md +127 -1
  229. package/.claude/commands/ant/swarm.md +11 -23
  230. package/.claude/commands/ant/tunnels.md +1 -0
  231. package/.claude/commands/ant/update.md +58 -135
  232. package/.claude/commands/ant/verify-castes.md +90 -42
  233. package/.claude/commands/ant/watch.md +1 -0
  234. package/.opencode/agents/aether-ambassador.md +1 -1
  235. package/.opencode/agents/aether-architect.md +133 -0
  236. package/.opencode/agents/aether-builder.md +3 -3
  237. package/.opencode/agents/aether-oracle.md +137 -0
  238. package/.opencode/agents/aether-queen.md +1 -1
  239. package/.opencode/agents/aether-route-setter.md +1 -1
  240. package/.opencode/agents/aether-scout.md +1 -1
  241. package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
  242. package/.opencode/agents/aether-surveyor-nest.md +6 -1
  243. package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
  244. package/.opencode/agents/aether-surveyor-provisions.md +6 -1
  245. package/.opencode/agents/aether-tracker.md +1 -1
  246. package/.opencode/agents/aether-watcher.md +1 -1
  247. package/.opencode/agents/aether-weaver.md +1 -1
  248. package/.opencode/commands/ant/archaeology.md +7 -14
  249. package/.opencode/commands/ant/build.md +54 -88
  250. package/.opencode/commands/ant/chaos.md +7 -24
  251. package/.opencode/commands/ant/colonize.md +8 -17
  252. package/.opencode/commands/ant/continue.md +595 -66
  253. package/.opencode/commands/ant/council.md +11 -22
  254. package/.opencode/commands/ant/data-clean.md +77 -0
  255. package/.opencode/commands/ant/dream.md +15 -17
  256. package/.opencode/commands/ant/entomb.md +28 -18
  257. package/.opencode/commands/ant/export-signals.md +54 -0
  258. package/.opencode/commands/ant/feedback.md +24 -5
  259. package/.opencode/commands/ant/flag.md +16 -4
  260. package/.opencode/commands/ant/flags.md +24 -10
  261. package/.opencode/commands/ant/focus.md +22 -5
  262. package/.opencode/commands/ant/help.md +41 -8
  263. package/.opencode/commands/ant/history.md +9 -0
  264. package/.opencode/commands/ant/import-signals.md +68 -0
  265. package/.opencode/commands/ant/init.md +365 -156
  266. package/.opencode/commands/ant/insert-phase.md +107 -0
  267. package/.opencode/commands/ant/interpret.md +16 -0
  268. package/.opencode/commands/ant/lay-eggs.md +184 -112
  269. package/.opencode/commands/ant/maturity.md +18 -2
  270. package/.opencode/commands/ant/memory-details.md +83 -0
  271. package/.opencode/commands/ant/migrate-state.md +12 -0
  272. package/.opencode/commands/ant/oracle.md +322 -67
  273. package/.opencode/commands/ant/organize.md +14 -12
  274. package/.opencode/commands/ant/patrol.md +626 -0
  275. package/.opencode/commands/ant/pause-colony.md +12 -29
  276. package/.opencode/commands/ant/phase.md +30 -40
  277. package/.opencode/commands/ant/pheromones.md +162 -0
  278. package/.opencode/commands/ant/plan.md +184 -56
  279. package/.opencode/commands/ant/preferences.md +71 -0
  280. package/.opencode/commands/ant/redirect.md +22 -5
  281. package/.opencode/commands/ant/resume-colony.md +38 -27
  282. package/.opencode/commands/ant/resume.md +71 -20
  283. package/.opencode/commands/ant/run.md +201 -0
  284. package/.opencode/commands/ant/seal.md +230 -25
  285. package/.opencode/commands/ant/skill-create.md +63 -0
  286. package/.opencode/commands/ant/status.md +124 -31
  287. package/.opencode/commands/ant/swarm.md +3 -345
  288. package/.opencode/commands/ant/tunnels.md +3 -9
  289. package/.opencode/commands/ant/update.md +63 -127
  290. package/.opencode/commands/ant/verify-castes.md +96 -42
  291. package/.opencode/commands/ant/watch.md +7 -0
  292. package/CHANGELOG.md +278 -1
  293. package/README.md +188 -340
  294. package/bin/cli.js +236 -429
  295. package/bin/generate-commands.js +186 -0
  296. package/bin/generate-commands.sh +128 -89
  297. package/bin/lib/spawn-logger.js +0 -15
  298. package/bin/lib/update-transaction.js +285 -35
  299. package/bin/npx-install.js +178 -0
  300. package/bin/validate-package.sh +85 -3
  301. package/package.json +7 -3
  302. package/.aether/CONTEXT.md +0 -160
  303. package/.aether/docs/QUEEN.md +0 -84
  304. package/.aether/exchange/colony-registry.xml +0 -11
  305. package/.aether/exchange/pheromones.xml +0 -87
  306. package/.aether/exchange/queen-wisdom.xml +0 -14
  307. package/.aether/model-profiles.yaml +0 -100
  308. package/.aether/utils/spawn-with-model.sh +0 -56
  309. package/bin/lib/model-profiles.js +0 -445
  310. package/bin/lib/model-verify.js +0 -288
  311. package/bin/lib/proxy-health.js +0 -253
  312. package/bin/lib/telemetry.js +0 -441
@@ -1,3 +1,4 @@
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"
@@ -11,17 +12,10 @@ Parse `$ARGUMENTS`:
11
12
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
12
13
  - Otherwise: set `visual_mode = true`
13
14
 
15
+
14
16
  ### Step 0: Initialize Visual Mode (if enabled)
15
17
 
16
18
  If `visual_mode` is true, run using the Bash tool with description "Initializing council display...":
17
- ```bash
18
- # Generate session ID
19
- council_id="council-$(date +%s)"
20
-
21
- # Initialize swarm display
22
- bash .aether/aether-utils.sh swarm-display-init "$council_id"
23
- 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
24
- ```
25
19
 
26
20
  ### Step 1: Read Current State
27
21
 
@@ -42,10 +36,13 @@ Capture the current state for context:
42
36
 
43
37
  ### Step 2: Display Council Header
44
38
 
39
+
45
40
  ```
46
41
  📜🐜🏛️🐜📜 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
- A N T C O U N C I L
48
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📜🐜🏛️🐜📜
42
+ A N T C O U N C I L
43
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📜🐜🏛️🐜📜
44
+
45
+
49
46
 
50
47
  👑 Queen convenes the council for guidance
51
48
 
@@ -239,12 +236,6 @@ Keep max 100 events.
239
236
 
240
237
  ### Step 8: Display Summary
241
238
 
242
- **If visual_mode is true, render final swarm display** by running using the Bash tool with description "Updating council display...":
243
- ```bash
244
- 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
245
- bash .aether/aether-utils.sh swarm-display-text "$council_id"
246
- ```
247
-
248
239
  ```
249
240
  📜🐜🏛️🐜📜 COUNCIL ADJOURNED
250
241
 
@@ -298,6 +289,7 @@ If `prior_state` was PLANNING:
298
289
  Planning will continue with new guidance.
299
290
  ```
300
291
 
292
+
301
293
  ### Step 9: Next Up
302
294
 
303
295
  Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
@@ -307,3 +299,4 @@ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
307
299
  total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
308
300
  bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
309
301
  ```
302
+
@@ -0,0 +1,81 @@
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
+ You are the **Queen Ant Colony**. Run the data cleaner to scan for and remove test/synthetic artifacts from colony data files.
8
+
9
+
10
+ > **Note:** `$ARGUMENTS` is unused. This command always scans all data files.
11
+
12
+
13
+
14
+ ## Instructions
15
+
16
+ ### Step 1: Scan
17
+
18
+ Run using the Bash tool with description "Scanning colony data for test artifacts...":
19
+ ```bash
20
+ bash .aether/aether-utils.sh data-clean --dry-run
21
+ ```
22
+
23
+ Display the output to the user. This shows artifact counts per data file without modifying anything.
24
+
25
+ ### Step 2: Decision Gate
26
+
27
+ Parse the scan output for "Total artifacts: N".
28
+
29
+ **If total is 0:**
30
+ Display:
31
+ ```
32
+ Colony data is clean. No artifacts found.
33
+ ```
34
+ Skip to Step 5.
35
+
36
+ **If total is greater than 0:**
37
+ Ask the user:
38
+ ```
39
+ Found {N} test artifacts across colony data files.
40
+ Remove these artifacts? (yes/no)
41
+ ```
42
+
43
+ If user says no, display "No changes made." and skip to Step 5.
44
+
45
+ ### Step 3: Clean
46
+
47
+ If user confirmed, run using the Bash tool with description "Removing test artifacts...":
48
+ ```bash
49
+ bash .aether/aether-utils.sh data-clean --confirm
50
+ ```
51
+
52
+ ### Step 4: Summary
53
+
54
+ Display the cleanup results showing what was removed from each file.
55
+
56
+ For example:
57
+ ```
58
+ Data Clean Complete
59
+ ===================
60
+ Removed {total} artifacts:
61
+ - pheromones.json: {N} test signals
62
+ - QUEEN.md: {N} test entries
63
+ - learning-observations.json: {N} test observations
64
+ - midden.json: {N} test entries
65
+ - spawn-tree.txt: {N} test worker lines
66
+ - constraints.json: {N} test focus entries
67
+
68
+ Run /ant:status to verify colony state.
69
+ ```
70
+
71
+
72
+ ### Step 5: Next Up
73
+
74
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
75
+ ```bash
76
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
77
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
78
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
79
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
80
+ ```
81
+
@@ -1,3 +1,4 @@
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"
@@ -35,17 +36,9 @@ Parse `$ARGUMENTS`:
35
36
  - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
36
37
  - Otherwise: set `visual_mode = true`
37
38
 
38
- ### Step 0.5: Initialize Visual Mode (if enabled)
39
39
 
40
- If `visual_mode` is true, run using the Bash tool with description "Initializing dream display...":
41
- ```bash
42
- # Generate session ID
43
- dream_id="dream-$(date +%s)"
40
+ ### Step 0.5: Initialize Visual Mode (if enabled)
44
41
 
45
- # Initialize swarm display
46
- bash .aether/aether-utils.sh swarm-display-init "$dream_id"
47
- 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
48
- ```
49
42
 
50
43
  ### Step 1: Awaken — Load Context
51
44
 
@@ -66,11 +59,14 @@ Read these files in parallel to understand the world you're dreaming about:
66
59
  - Read the most recent dream file if one exists (to avoid repeating yourself)
67
60
 
68
61
  Display awakening:
62
+
69
63
  ```
70
64
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
65
  💭🐜🌙🐜💭 T H E D R E A M E R A W A K E N S
72
66
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
73
67
 
68
+
69
+
74
70
  Colony: {goal}
75
71
  Phase: {current_phase}/{total_phases} — {phase_name}
76
72
  State: {state}
@@ -197,11 +193,14 @@ Concerns raised: {count}
197
193
 
198
194
  Output to the terminal:
199
195
 
196
+
200
197
  ```
201
198
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
202
199
  💭🐜🌙🐜💭 D R E A M C O M P L E T E
203
200
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
204
201
 
202
+
203
+
205
204
  📓 {N} dreams recorded → .aether/dreams/{filename}.md
206
205
 
207
206
  {For each dream, one line:}
@@ -224,11 +223,14 @@ Colony status: /ant:status
224
223
 
225
224
  ### Step 6: Log Activity
226
225
 
226
+
227
227
  Run using the Bash tool with description "Logging dream activity...":
228
+
228
229
  ```bash
229
230
  bash .aether/aether-utils.sh activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
230
231
  ```
231
232
 
233
+
232
234
  Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
233
235
  ```bash
234
236
  state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
@@ -237,6 +239,7 @@ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
237
239
  bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
238
240
  ```
239
241
 
242
+
240
243
  ## Dream Categories
241
244
 
242
245
  Use these categories and their emoji consistently:
@@ -1,3 +1,4 @@
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"
@@ -52,14 +53,6 @@ Do not touch during entomb:
52
53
  ### Step 0: Initialize Visual Mode (if enabled)
53
54
 
54
55
  If `visual_mode` is true:
55
- ```bash
56
- # Generate session ID
57
- entomb_id="entomb-$(date +%s)"
58
-
59
- # Initialize swarm display (consolidated)
60
- bash .aether/aether-utils.sh swarm-display-init "$entomb_id" && 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
61
- ```
62
-
63
56
  ### Step 1: Read State
64
57
 
65
58
  Read `.aether/data/COLONY_STATE.json`.
@@ -72,6 +65,12 @@ Stop here.
72
65
 
73
66
  Extract: `goal`, `state`, `current_phase`, `plan.phases`, `milestone`, `version`, `initialized_at`, `memory.decisions`, `memory.phase_learnings`, `memory.instincts`.
74
67
 
68
+ Read `colony_version` for display (default to 1 for backward compat with older colonies):
69
+ ```bash
70
+ colony_version=$(jq -r '.colony_version // 1' .aether/data/COLONY_STATE.json 2>/dev/null || echo 1)
71
+ [[ "$colony_version" =~ ^[0-9]+$ ]] || colony_version=1
72
+ ```
73
+
75
74
  ### Step 2: Seal-First Enforcement
76
75
 
77
76
  Check `milestone` in COLONY_STATE.json.
@@ -100,6 +99,7 @@ Show what will be archived:
100
99
  ENTOMB COLONY
101
100
 
102
101
  Goal: {goal}
102
+ Version: v{colony_version}
103
103
  Milestone: Crowned Anthill
104
104
  Phases: {phases_completed} of {total_phases}
105
105
 
@@ -123,6 +123,36 @@ Entombment cancelled. Colony remains active.
123
123
  ```
124
124
  Stop here.
125
125
 
126
+ ### Step 3.25: Wisdom Approval
127
+
128
+ Before archiving, review wisdom proposals accumulated during this colony's lifecycle.
129
+
130
+ ```bash
131
+ # Check for pending proposals
132
+ proposals=$(bash .aether/aether-utils.sh learning-check-promotion 2>/dev/null || echo '{"proposals":[]}')
133
+ proposal_count=$(echo "$proposals" | jq '.proposals | length')
134
+
135
+ if [[ "$proposal_count" -gt 0 ]]; then
136
+ echo ""
137
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
138
+ echo " 🧠 FINAL WISDOM REVIEW"
139
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
140
+ echo ""
141
+ echo "Review wisdom proposals before archiving this colony."
142
+ echo "Approved proposals will be promoted to QUEEN.md."
143
+ echo ""
144
+
145
+ # Run approval workflow (blocking)
146
+ bash .aether/aether-utils.sh learning-approve-proposals
147
+
148
+ echo ""
149
+ echo "Wisdom review complete. Proceeding with entombment..."
150
+ echo ""
151
+ else
152
+ echo "No wisdom proposals to review."
153
+ fi
154
+ ```
155
+
126
156
  ### Step 3.5: Check XML Tools
127
157
 
128
158
  XML archiving is required for entombment. Check tool availability before proceeding.
@@ -168,90 +198,24 @@ Entombment requires XML archiving. Install xmllint and try again.
168
198
  ```
169
199
  Stop here.
170
200
 
171
- ### Step 4: Promote Wisdom to QUEEN.md
172
-
173
- Before creating the chamber, promote validated learnings to QUEEN.md for future colonies.
201
+ ### Step 4: Ensure QUEEN.md Exists
174
202
 
175
- **Step 4.1: Ensure QUEEN.md exists**
203
+ Verify QUEEN.md is initialized for wisdom storage:
176
204
 
177
205
  ```bash
178
- queen_file=".aether/docs/QUEEN.md"
206
+ queen_file=".aether/QUEEN.md"
179
207
  if [[ ! -f "$queen_file" ]]; then
180
208
  init_result=$(bash .aether/aether-utils.sh queen-init 2>/dev/null || echo '{"ok":false}')
181
209
  init_ok=$(echo "$init_result" | jq -r '.ok // false')
182
210
  if [[ "$init_ok" == "true" ]]; then
183
211
  created=$(echo "$init_result" | jq -r '.result.created // false')
184
212
  if [[ "$created" == "true" ]]; then
185
- bash .aether/aether-utils.sh activity-log "CREATED" "Queen" "Initialized QUEEN.md for wisdom promotion"
213
+ bash .aether/aether-utils.sh activity-log "CREATED" "Queen" "Initialized QUEEN.md for wisdom storage"
186
214
  fi
187
215
  fi
188
216
  fi
189
217
  ```
190
218
 
191
- **Step 4.2: Extract and promote validated learnings**
192
-
193
- ```bash
194
- # Extract colony name from goal (sanitized)
195
- colony_name=$(jq -r '.goal' .aether/data/COLONY_STATE.json | tr '[:upper:]' '[:lower:]' | tr -cs '[:alnum:]' '-' | sed 's/^-//;s/-$//' | cut -c1-30)
196
-
197
- # Extract validated learnings from phase_learnings
198
- learnings=$(jq -c '.memory.phase_learnings // []' .aether/data/COLONY_STATE.json)
199
-
200
- # Extract decisions
201
- decisions=$(jq -c '.memory.decisions // []' .aether/data/COLONY_STATE.json)
202
-
203
- promotion_count=0
204
-
205
- # Promote patterns from validated learnings
206
- if [[ -f "$queen_file" ]]; then
207
- # Process each phase's learnings
208
- echo "$learnings" | jq -c '.[]' 2>/dev/null | while read -r learning_group; do
209
- phase=$(echo "$learning_group" | jq -r '.phase // "unknown"')
210
- # Extract individual learnings and promote as patterns
211
- echo "$learning_group" | jq -r '.learnings[]? | select(.status == "validated") | .claim' 2>/dev/null | while read -r claim; do
212
- if [[ -n "$claim" && "$claim" != "null" ]]; then
213
- # Truncate if too long
214
- content=$(echo "$claim" | cut -c1-200)
215
- result=$(bash .aether/aether-utils.sh queen-promote "pattern" "$content" "$colony_name" 2>/dev/null || echo '{"ok":false}')
216
- if [[ $(echo "$result" | jq -r '.ok // false') == "true" ]]; then
217
- promotion_count=$((promotion_count + 1))
218
- fi
219
- fi
220
- done
221
- done
222
-
223
- # Promote high-confidence instincts as patterns
224
- instincts=$(jq -c '.memory.instincts // []' .aether/data/COLONY_STATE.json)
225
- echo "$instincts" | jq -c '.[]' 2>/dev/null | while read -r instinct; do
226
- confidence=$(echo "$instinct" | jq -r '.confidence // 0')
227
- status=$(echo "$instinct" | jq -r '.status // ""')
228
- action=$(echo "$instinct" | jq -r '.action // ""')
229
- # Promote validated instincts with high confidence (>= 0.7)
230
- if [[ "$status" == "validated" && $(echo "$confidence >= 0.7" | bc -l 2>/dev/null || echo 0) -eq 1 && -n "$action" ]]; then
231
- content=$(echo "$action" | cut -c1-200)
232
- result=$(bash .aether/aether-utils.sh queen-promote "pattern" "$content" "$colony_name" 2>/dev/null || echo '{"ok":false}')
233
- if [[ $(echo "$result" | jq -r '.ok // false') == "true" ]]; then
234
- promotion_count=$((promotion_count + 1))
235
- fi
236
- fi
237
- done
238
-
239
- # Log promotion results
240
- bash .aether/aether-utils.sh activity-log "MODIFIED" "Queen" "Promoted $promotion_count validated learnings to QUEEN.md from entombed colony"
241
- fi
242
- ```
243
-
244
- **Step 4.3: Display promotion summary**
245
-
246
- ```
247
- ---
248
- Wisdom Promotion Summary
249
- ---
250
- Colony: {colony_name}
251
- Promoted: {promotion_count} validated patterns to QUEEN.md
252
- ---
253
- ```
254
-
255
219
  ### Step 5: Generate Chamber Name
256
220
 
257
221
  Date-first naming:
@@ -315,6 +279,15 @@ done
315
279
 
316
280
  # Archive dreams directory (optional — may not exist)
317
281
  [[ -d ".aether/dreams" ]] && cp -r ".aether/dreams" "$chamber_dir/dreams" 2>/dev/null || true
282
+
283
+ # Archive XML exchange files to chamber (per D-04, D-05)
284
+ xml_archived=0
285
+ for xml_file in .aether/exchange/*.xml; do
286
+ [[ -f "$xml_file" ]] && cp "$xml_file" "$chamber_dir/" && xml_archived=$((xml_archived + 1))
287
+ done
288
+ if [[ "$xml_archived" -gt 0 ]]; then
289
+ echo "XML Archive: ${xml_archived} exchange file(s) copied to chamber"
290
+ fi
318
291
  ```
319
292
 
320
293
  Do NOT copy: `.aether/data/backups/`, `.aether/data/locks/`, `.aether/data/midden/`, `.aether/data/survey/`.
@@ -343,7 +316,8 @@ fi
343
316
  If xml_ok is true, store for display:
344
317
  ```bash
345
318
  xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
346
- xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} active signals)"
319
+ xml_exchange_count=$(find .aether/exchange -maxdepth 1 -name "*.xml" 2>/dev/null | wc -l | tr -d ' ')
320
+ xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} signals) + ${xml_exchange_count} exchange file(s)"
347
321
  ```
348
322
 
349
323
  **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.
@@ -379,8 +353,9 @@ if [[ -f "$eternal_file" ]]; then
379
353
  --arg sealed_at "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
380
354
  --arg chamber ".aether/chambers/$chamber_name" \
381
355
  '{goal: $goal, milestone: $milestone, sealed_at: $sealed_at, chamber: $chamber}')
382
- jq --argjson entry "$colony_entry" '.colonies += [$entry]' "$eternal_file" > /tmp/eternal-tmp.json \
383
- && mv /tmp/eternal-tmp.json "$eternal_file"
356
+ tmp_eternal="$(mktemp /tmp/aether-eternal.XXXXXX)"
357
+ jq --argjson colony_entry "$colony_entry" '.colonies = ((.colonies // []) + [$colony_entry])' "$eternal_file" > "$tmp_eternal" \
358
+ && mv "$tmp_eternal" "$eternal_file"
384
359
  fi
385
360
  ```
386
361
 
@@ -438,6 +413,11 @@ Clean up seal document (it's now in the chamber):
438
413
  rm -f .aether/CROWNED-ANTHILL.md
439
414
  ```
440
415
 
416
+ Clean up exchange XML files (now archived in chamber per D-06):
417
+ ```bash
418
+ rm -f .aether/exchange/*.xml 2>/dev/null || true
419
+ ```
420
+
441
421
  ### Step 11: Write HANDOFF.md
442
422
 
443
423
  Write handoff documenting the entombed colony:
@@ -461,18 +441,13 @@ Write the result to .aether/HANDOFF.md using the Write tool.
461
441
 
462
442
  ### Step 12: Display Result
463
443
 
464
- **If visual_mode is true, render swarm display (consolidated):**
465
- ```bash
466
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Colony entombed" "Colony" '{"read":3,"grep":0,"edit":2,"bash":5}' 100 "fungus_garden" 100 && bash .aether/aether-utils.sh swarm-display-inline "$entomb_id"
467
- ```
468
-
469
444
  Display:
470
445
  ```
471
446
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
472
447
  C O L O N Y E N T O M B E D
473
448
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
474
449
 
475
- Colony archived successfully
450
+ Entombed v{colony_version}
476
451
 
477
452
  Goal: {goal}
478
453
  Phases: {completed} completed
@@ -0,0 +1,57 @@
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
+ You are the **Queen**. Export colony pheromone signals to portable XML format.
8
+
9
+ ## Instructions
10
+
11
+ The optional output path is: `$ARGUMENTS`
12
+
13
+ ### Step 1: Validate
14
+
15
+ Read `.aether/data/COLONY_STATE.json`.
16
+ If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
17
+
18
+ Parse `$ARGUMENTS`:
19
+ - If a path is provided, use it as the output path.
20
+ - If empty, default to `.aether/exchange/pheromones.xml`.
21
+
22
+ ### Step 2: Export
23
+
24
+ Run using the Bash tool with description "Exporting pheromone signals to XML...":
25
+ ```bash
26
+ bash .aether/aether-utils.sh pheromone-export-xml "<output_path>"
27
+ ```
28
+
29
+ Parse the returned JSON:
30
+ - If `.ok` is `true`: extract `.result.path` and `.result.validated` (if present).
31
+ - 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.
32
+
33
+ ### Step 3: Confirm
34
+
35
+
36
+ Output (3-5 lines, no banners):
37
+ ```
38
+ Pheromone signals exported to XML
39
+ Path: <output_path>
40
+ Validated: <yes/no based on .result.validated>
41
+
42
+ Share this file with another colony using /ant:import-signals.
43
+ ```
44
+
45
+
46
+
47
+
48
+ ### Step 4: Next Up
49
+
50
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
51
+ ```bash
52
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
53
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
54
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
55
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
56
+ ```
57
+
@@ -1,10 +1,14 @@
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
 
7
+
6
8
  You are the **Queen**. Emit a FEEDBACK pheromone signal.
7
9
 
10
+
11
+
8
12
  ## Instructions
9
13
 
10
14
  The feedback message is: `$ARGUMENTS`
@@ -14,15 +18,18 @@ The feedback message is: `$ARGUMENTS`
14
18
  If `$ARGUMENTS` empty -> show usage: `/ant:feedback <message>`, stop.
15
19
  If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
16
20
 
21
+
17
22
  Parse optional flags from `$ARGUMENTS`:
18
23
  - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
19
24
  - Strip flags from content before using it as the feedback message.
20
25
 
26
+
21
27
  ### Step 2: Write Signal and Create Instinct
22
28
 
23
29
  Read `.aether/data/COLONY_STATE.json`.
24
30
  If `goal: null` -> "No colony initialized.", stop.
25
31
 
32
+
26
33
  Run using the Bash tool with description "Recording colony feedback...":
27
34
  ```bash
28
35
  bash .aether/aether-utils.sh pheromone-write FEEDBACK "<content>" --strength 0.7 --reason "User feedback guidance" --ttl <ttl>
@@ -48,6 +55,13 @@ User feedback is high-value learning. Generate ISO-8601 timestamp and append to
48
55
 
49
56
  Write COLONY_STATE.json.
50
57
 
58
+ ### Step 2.5: Update Context Document
59
+
60
+ Run using the Bash tool with description "Updating context document...":
61
+ ```bash
62
+ bash .aether/aether-utils.sh context-update constraint feedback "<content>" "user" 2>/dev/null || true
63
+ ```
64
+
51
65
  ### Step 3: Get Active Counts
52
66
 
53
67
  Run using the Bash tool with description "Counting active signals...":
@@ -67,6 +81,9 @@ FEEDBACK signal emitted
67
81
  Instinct created: [0.7] <domain>: <action summary>
68
82
  ```
69
83
 
84
+
85
+
86
+
70
87
  ### Step 5: Next Up
71
88
 
72
89
  Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
@@ -76,3 +93,4 @@ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
76
93
  total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
77
94
  bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
78
95
  ```
96
+
@@ -1,3 +1,4 @@
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)"
@@ -61,23 +62,32 @@ Output header based on flag type:
61
62
 
62
63
  **For blocker:**
63
64
  ```
65
+
64
66
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
65
67
  🚩🐜📋🐜🚩 B L O C K E R F L A G C R E A T E D
66
68
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+
70
+
67
71
  ```
68
72
 
69
73
  **For issue:**
70
74
  ```
75
+
71
76
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
77
  🚩🐜📋🐜🚩 I S S U E F L A G C R E A T E D
73
78
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
79
+
80
+
74
81
  ```
75
82
 
76
83
  **For note:**
77
84
  ```
85
+
78
86
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
79
87
  🚩🐜📋🐜🚩 N O T E F L A G C R E A T E D
80
88
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
89
+
90
+
81
91
  ```
82
92
 
83
93
  Then output based on flag type:
@@ -119,6 +129,7 @@ Then output based on flag type:
119
129
  Use /ant:flags to view all flags.
120
130
  ```
121
131
 
132
+
122
133
  Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
123
134
  ```bash
124
135
  state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
@@ -127,6 +138,7 @@ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
127
138
  bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
128
139
  ```
129
140
 
141
+
130
142
  ---
131
143
 
132
144
  ## Flag Lifecycle