aether-colony 5.3.2 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/.aether/aether-utils.sh +181 -5
  2. package/.aether/commands/archaeology.yaml +3 -3
  3. package/.aether/commands/build.yaml +80 -45
  4. package/.aether/commands/chaos.yaml +7 -7
  5. package/.aether/commands/colonize.yaml +17 -17
  6. package/.aether/commands/continue.yaml +40 -40
  7. package/.aether/commands/council.yaml +6 -6
  8. package/.aether/commands/data-clean.yaml +3 -3
  9. package/.aether/commands/dream.yaml +2 -2
  10. package/.aether/commands/entomb.yaml +12 -12
  11. package/.aether/commands/export-signals.yaml +2 -2
  12. package/.aether/commands/feedback.yaml +6 -6
  13. package/.aether/commands/flag.yaml +2 -2
  14. package/.aether/commands/flags.yaml +4 -4
  15. package/.aether/commands/focus.yaml +6 -6
  16. package/.aether/commands/help.yaml +1 -1
  17. package/.aether/commands/history.yaml +1 -1
  18. package/.aether/commands/import-signals.yaml +2 -2
  19. package/.aether/commands/init.yaml +44 -27
  20. package/.aether/commands/insert-phase.yaml +1 -1
  21. package/.aether/commands/interpret.yaml +2 -2
  22. package/.aether/commands/lay-eggs.yaml +3 -3
  23. package/.aether/commands/maturity.yaml +2 -2
  24. package/.aether/commands/memory-details.yaml +1 -1
  25. package/.aether/commands/migrate-state.yaml +1 -1
  26. package/.aether/commands/oracle.yaml +147 -82
  27. package/.aether/commands/organize.yaml +5 -5
  28. package/.aether/commands/patrol.yaml +8 -8
  29. package/.aether/commands/pause-colony.yaml +7 -7
  30. package/.aether/commands/phase.yaml +1 -1
  31. package/.aether/commands/pheromones.yaml +1 -1
  32. package/.aether/commands/plan.yaml +14 -14
  33. package/.aether/commands/quick.yaml +4 -4
  34. package/.aether/commands/redirect.yaml +6 -6
  35. package/.aether/commands/resume-colony.yaml +9 -9
  36. package/.aether/commands/resume.yaml +5 -38
  37. package/.aether/commands/run.yaml +10 -10
  38. package/.aether/commands/seal.yaml +33 -33
  39. package/.aether/commands/skill-create.yaml +4 -4
  40. package/.aether/commands/status.yaml +14 -14
  41. package/.aether/commands/swarm.yaml +14 -14
  42. package/.aether/commands/tunnels.yaml +7 -7
  43. package/.aether/commands/update.yaml +1 -1
  44. package/.aether/commands/verify-castes.yaml +3 -3
  45. package/.aether/commands/watch.yaml +15 -15
  46. package/.aether/docs/command-playbooks/build-complete.md +48 -15
  47. package/.aether/docs/command-playbooks/build-context.md +11 -11
  48. package/.aether/docs/command-playbooks/build-full.md +76 -76
  49. package/.aether/docs/command-playbooks/build-prep.md +10 -10
  50. package/.aether/docs/command-playbooks/build-verify.md +27 -27
  51. package/.aether/docs/command-playbooks/build-wave.md +38 -38
  52. package/.aether/docs/command-playbooks/continue-advance.md +60 -27
  53. package/.aether/docs/command-playbooks/continue-finalize.md +25 -11
  54. package/.aether/docs/command-playbooks/continue-full.md +60 -46
  55. package/.aether/docs/command-playbooks/continue-gates.md +18 -18
  56. package/.aether/docs/command-playbooks/continue-verify.md +10 -10
  57. package/.aether/docs/source-of-truth-map.md +10 -10
  58. package/.aether/docs/structural-learning-stack.md +283 -0
  59. package/.aether/templates/colony-state-template.json +1 -0
  60. package/.aether/utils/consolidation-seal.sh +196 -0
  61. package/.aether/utils/consolidation.sh +127 -0
  62. package/.aether/utils/curation-ants/archivist.sh +97 -0
  63. package/.aether/utils/curation-ants/critic.sh +214 -0
  64. package/.aether/utils/curation-ants/herald.sh +102 -0
  65. package/.aether/utils/curation-ants/janitor.sh +121 -0
  66. package/.aether/utils/curation-ants/librarian.sh +99 -0
  67. package/.aether/utils/curation-ants/nurse.sh +153 -0
  68. package/.aether/utils/curation-ants/orchestrator.sh +181 -0
  69. package/.aether/utils/curation-ants/scribe.sh +164 -0
  70. package/.aether/utils/curation-ants/sentinel.sh +119 -0
  71. package/.aether/utils/event-bus.sh +301 -0
  72. package/.aether/utils/graph.sh +559 -0
  73. package/.aether/utils/instinct-store.sh +401 -0
  74. package/.aether/utils/learning.sh +79 -7
  75. package/.aether/utils/oracle/oracle-stop-hook.sh +896 -0
  76. package/.aether/utils/session.sh +13 -0
  77. package/.aether/utils/state-api.sh +1 -1
  78. package/.aether/utils/trust-scoring.sh +347 -0
  79. package/.aether/utils/worktree.sh +97 -0
  80. package/.claude/commands/ant/archaeology.md +2 -2
  81. package/.claude/commands/ant/chaos.md +4 -4
  82. package/.claude/commands/ant/colonize.md +9 -9
  83. package/.claude/commands/ant/council.md +6 -6
  84. package/.claude/commands/ant/data-clean.md +3 -3
  85. package/.claude/commands/ant/dream.md +2 -2
  86. package/.claude/commands/ant/entomb.md +9 -9
  87. package/.claude/commands/ant/export-signals.md +2 -2
  88. package/.claude/commands/ant/feedback.md +4 -4
  89. package/.claude/commands/ant/flag.md +2 -2
  90. package/.claude/commands/ant/flags.md +4 -4
  91. package/.claude/commands/ant/focus.md +4 -4
  92. package/.claude/commands/ant/help.md +1 -1
  93. package/.claude/commands/ant/history.md +1 -1
  94. package/.claude/commands/ant/import-signals.md +2 -2
  95. package/.claude/commands/ant/init.md +44 -27
  96. package/.claude/commands/ant/insert-phase.md +1 -1
  97. package/.claude/commands/ant/interpret.md +2 -2
  98. package/.claude/commands/ant/lay-eggs.md +2 -2
  99. package/.claude/commands/ant/maturity.md +2 -2
  100. package/.claude/commands/ant/memory-details.md +1 -1
  101. package/.claude/commands/ant/migrate-state.md +1 -1
  102. package/.claude/commands/ant/oracle.md +78 -42
  103. package/.claude/commands/ant/organize.md +3 -3
  104. package/.claude/commands/ant/patrol.md +8 -8
  105. package/.claude/commands/ant/pause-colony.md +5 -5
  106. package/.claude/commands/ant/phase.md +1 -1
  107. package/.claude/commands/ant/pheromones.md +1 -1
  108. package/.claude/commands/ant/plan.md +8 -8
  109. package/.claude/commands/ant/quick.md +4 -4
  110. package/.claude/commands/ant/redirect.md +4 -4
  111. package/.claude/commands/ant/resume-colony.md +5 -5
  112. package/.claude/commands/ant/resume.md +17 -29
  113. package/.claude/commands/ant/run.md +10 -10
  114. package/.claude/commands/ant/seal.md +25 -25
  115. package/.claude/commands/ant/skill-create.md +2 -2
  116. package/.claude/commands/ant/status.md +14 -14
  117. package/.claude/commands/ant/swarm.md +14 -14
  118. package/.claude/commands/ant/tunnels.md +4 -4
  119. package/.claude/commands/ant/update.md +1 -1
  120. package/.claude/commands/ant/verify-castes.md +2 -2
  121. package/.claude/commands/ant/watch.md +8 -8
  122. package/.opencode/commands/ant/archaeology.md +1 -1
  123. package/.opencode/commands/ant/build.md +80 -45
  124. package/.opencode/commands/ant/chaos.md +3 -3
  125. package/.opencode/commands/ant/colonize.md +8 -8
  126. package/.opencode/commands/ant/continue.md +40 -40
  127. package/.opencode/commands/ant/council.md +5 -5
  128. package/.opencode/commands/ant/data-clean.md +2 -2
  129. package/.opencode/commands/ant/dream.md +1 -1
  130. package/.opencode/commands/ant/entomb.md +3 -3
  131. package/.opencode/commands/ant/export-signals.md +1 -1
  132. package/.opencode/commands/ant/feedback.md +2 -2
  133. package/.opencode/commands/ant/flag.md +1 -1
  134. package/.opencode/commands/ant/flags.md +3 -3
  135. package/.opencode/commands/ant/focus.md +2 -2
  136. package/.opencode/commands/ant/import-signals.md +1 -1
  137. package/.opencode/commands/ant/init.md +44 -27
  138. package/.opencode/commands/ant/insert-phase.md +1 -1
  139. package/.opencode/commands/ant/interpret.md +1 -1
  140. package/.opencode/commands/ant/lay-eggs.md +2 -2
  141. package/.opencode/commands/ant/maturity.md +1 -1
  142. package/.opencode/commands/ant/memory-details.md +1 -1
  143. package/.opencode/commands/ant/oracle.md +69 -40
  144. package/.opencode/commands/ant/organize.md +2 -2
  145. package/.opencode/commands/ant/patrol.md +8 -8
  146. package/.opencode/commands/ant/pause-colony.md +2 -2
  147. package/.opencode/commands/ant/pheromones.md +1 -1
  148. package/.opencode/commands/ant/plan.md +6 -6
  149. package/.opencode/commands/ant/quick.md +4 -4
  150. package/.opencode/commands/ant/redirect.md +2 -2
  151. package/.opencode/commands/ant/resume-colony.md +4 -4
  152. package/.opencode/commands/ant/resume.md +5 -17
  153. package/.opencode/commands/ant/run.md +10 -10
  154. package/.opencode/commands/ant/seal.md +8 -8
  155. package/.opencode/commands/ant/skill-create.md +2 -2
  156. package/.opencode/commands/ant/status.md +10 -10
  157. package/.opencode/commands/ant/tunnels.md +3 -3
  158. package/.opencode/commands/ant/verify-castes.md +1 -1
  159. package/.opencode/commands/ant/watch.md +7 -7
  160. package/CHANGELOG.md +83 -0
  161. package/README.md +22 -9
  162. package/bin/cli.js +118 -3
  163. package/bin/lib/binary-downloader.js +267 -0
  164. package/bin/lib/update-transaction.js +27 -3
  165. package/bin/lib/version-gate.js +179 -0
  166. package/bin/npx-entry.js +0 -0
  167. package/package.json +1 -1
  168. package/.aether/agents/aether-ambassador.md +0 -140
  169. package/.aether/agents/aether-archaeologist.md +0 -108
  170. package/.aether/agents/aether-architect.md +0 -133
  171. package/.aether/agents/aether-auditor.md +0 -144
  172. package/.aether/agents/aether-builder.md +0 -184
  173. package/.aether/agents/aether-chaos.md +0 -115
  174. package/.aether/agents/aether-chronicler.md +0 -122
  175. package/.aether/agents/aether-gatekeeper.md +0 -116
  176. package/.aether/agents/aether-includer.md +0 -117
  177. package/.aether/agents/aether-keeper.md +0 -177
  178. package/.aether/agents/aether-measurer.md +0 -128
  179. package/.aether/agents/aether-oracle.md +0 -137
  180. package/.aether/agents/aether-probe.md +0 -133
  181. package/.aether/agents/aether-queen.md +0 -286
  182. package/.aether/agents/aether-route-setter.md +0 -130
  183. package/.aether/agents/aether-sage.md +0 -106
  184. package/.aether/agents/aether-scout.md +0 -101
  185. package/.aether/agents/aether-surveyor-disciplines.md +0 -391
  186. package/.aether/agents/aether-surveyor-nest.md +0 -329
  187. package/.aether/agents/aether-surveyor-pathogens.md +0 -264
  188. package/.aether/agents/aether-surveyor-provisions.md +0 -334
  189. package/.aether/agents/aether-tracker.md +0 -137
  190. package/.aether/agents/aether-watcher.md +0 -174
  191. package/.aether/agents/aether-weaver.md +0 -130
  192. package/.aether/commands/claude/archaeology.md +0 -334
  193. package/.aether/commands/claude/build.md +0 -65
  194. package/.aether/commands/claude/chaos.md +0 -336
  195. package/.aether/commands/claude/colonize.md +0 -259
  196. package/.aether/commands/claude/continue.md +0 -60
  197. package/.aether/commands/claude/council.md +0 -507
  198. package/.aether/commands/claude/data-clean.md +0 -81
  199. package/.aether/commands/claude/dream.md +0 -268
  200. package/.aether/commands/claude/entomb.md +0 -498
  201. package/.aether/commands/claude/export-signals.md +0 -57
  202. package/.aether/commands/claude/feedback.md +0 -96
  203. package/.aether/commands/claude/flag.md +0 -151
  204. package/.aether/commands/claude/flags.md +0 -169
  205. package/.aether/commands/claude/focus.md +0 -76
  206. package/.aether/commands/claude/help.md +0 -154
  207. package/.aether/commands/claude/history.md +0 -140
  208. package/.aether/commands/claude/import-signals.md +0 -71
  209. package/.aether/commands/claude/init.md +0 -505
  210. package/.aether/commands/claude/insert-phase.md +0 -105
  211. package/.aether/commands/claude/interpret.md +0 -278
  212. package/.aether/commands/claude/lay-eggs.md +0 -210
  213. package/.aether/commands/claude/maturity.md +0 -113
  214. package/.aether/commands/claude/memory-details.md +0 -77
  215. package/.aether/commands/claude/migrate-state.md +0 -171
  216. package/.aether/commands/claude/oracle.md +0 -642
  217. package/.aether/commands/claude/organize.md +0 -232
  218. package/.aether/commands/claude/patrol.md +0 -620
  219. package/.aether/commands/claude/pause-colony.md +0 -233
  220. package/.aether/commands/claude/phase.md +0 -115
  221. package/.aether/commands/claude/pheromones.md +0 -156
  222. package/.aether/commands/claude/plan.md +0 -693
  223. package/.aether/commands/claude/preferences.md +0 -65
  224. package/.aether/commands/claude/quick.md +0 -100
  225. package/.aether/commands/claude/redirect.md +0 -76
  226. package/.aether/commands/claude/resume-colony.md +0 -197
  227. package/.aether/commands/claude/resume.md +0 -388
  228. package/.aether/commands/claude/run.md +0 -231
  229. package/.aether/commands/claude/seal.md +0 -774
  230. package/.aether/commands/claude/skill-create.md +0 -286
  231. package/.aether/commands/claude/status.md +0 -410
  232. package/.aether/commands/claude/swarm.md +0 -349
  233. package/.aether/commands/claude/tunnels.md +0 -426
  234. package/.aether/commands/claude/update.md +0 -132
  235. package/.aether/commands/claude/verify-castes.md +0 -143
  236. package/.aether/commands/claude/watch.md +0 -239
  237. package/.aether/commands/opencode/archaeology.md +0 -331
  238. package/.aether/commands/opencode/build.md +0 -1168
  239. package/.aether/commands/opencode/chaos.md +0 -329
  240. package/.aether/commands/opencode/colonize.md +0 -195
  241. package/.aether/commands/opencode/continue.md +0 -1436
  242. package/.aether/commands/opencode/council.md +0 -437
  243. package/.aether/commands/opencode/data-clean.md +0 -77
  244. package/.aether/commands/opencode/dream.md +0 -260
  245. package/.aether/commands/opencode/entomb.md +0 -377
  246. package/.aether/commands/opencode/export-signals.md +0 -54
  247. package/.aether/commands/opencode/feedback.md +0 -99
  248. package/.aether/commands/opencode/flag.md +0 -149
  249. package/.aether/commands/opencode/flags.md +0 -167
  250. package/.aether/commands/opencode/focus.md +0 -73
  251. package/.aether/commands/opencode/help.md +0 -157
  252. package/.aether/commands/opencode/history.md +0 -136
  253. package/.aether/commands/opencode/import-signals.md +0 -68
  254. package/.aether/commands/opencode/init.md +0 -518
  255. package/.aether/commands/opencode/insert-phase.md +0 -111
  256. package/.aether/commands/opencode/interpret.md +0 -272
  257. package/.aether/commands/opencode/lay-eggs.md +0 -213
  258. package/.aether/commands/opencode/maturity.md +0 -108
  259. package/.aether/commands/opencode/memory-details.md +0 -83
  260. package/.aether/commands/opencode/migrate-state.md +0 -165
  261. package/.aether/commands/opencode/oracle.md +0 -593
  262. package/.aether/commands/opencode/organize.md +0 -226
  263. package/.aether/commands/opencode/patrol.md +0 -626
  264. package/.aether/commands/opencode/pause-colony.md +0 -203
  265. package/.aether/commands/opencode/phase.md +0 -113
  266. package/.aether/commands/opencode/pheromones.md +0 -162
  267. package/.aether/commands/opencode/plan.md +0 -684
  268. package/.aether/commands/opencode/preferences.md +0 -71
  269. package/.aether/commands/opencode/quick.md +0 -91
  270. package/.aether/commands/opencode/redirect.md +0 -84
  271. package/.aether/commands/opencode/resume-colony.md +0 -190
  272. package/.aether/commands/opencode/resume.md +0 -394
  273. package/.aether/commands/opencode/run.md +0 -237
  274. package/.aether/commands/opencode/seal.md +0 -452
  275. package/.aether/commands/opencode/skill-create.md +0 -63
  276. package/.aether/commands/opencode/status.md +0 -307
  277. package/.aether/commands/opencode/swarm.md +0 -15
  278. package/.aether/commands/opencode/tunnels.md +0 -400
  279. package/.aether/commands/opencode/update.md +0 -127
  280. package/.aether/commands/opencode/verify-castes.md +0 -139
  281. package/.aether/commands/opencode/watch.md +0 -227
@@ -1,65 +0,0 @@
1
- <!-- Generated from .aether/commands/preferences.yaml - DO NOT EDIT DIRECTLY -->
2
- ---
3
- name: ant:preferences
4
- description: "Add or list user preferences in hub QUEEN.md"
5
- ---
6
-
7
- You are the **Queen**. Manage user preferences in the hub `~/.aether/QUEEN.md`.
8
-
9
- ## Instructions
10
-
11
- The input is: `$ARGUMENTS`
12
-
13
- ### Step 1: Validate
14
-
15
- If `$ARGUMENTS` empty -> show usage: `/ant:preferences "preference text"` or `/ant:preferences --list`, stop.
16
-
17
- ### Step 2: Route
18
-
19
- - `$ARGUMENTS` is `--list` -> **List mode**
20
- - Otherwise -> **Add mode**
21
-
22
- ### List Mode
23
-
24
- Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
25
-
26
- Find the `## User Preferences` section (with or without emoji). Extract bullet lines (`- ...`) between that heading and the next `---`.
27
-
28
- If user-added bullets exist, output each. Otherwise:
29
- ```
30
- No user preferences set yet.
31
- Add one with: /ant:preferences "your preference"
32
- ```
33
- Stop.
34
-
35
- ### Add Mode
36
-
37
- Set `PREF` to `$ARGUMENTS` (strip surrounding quotes).
38
- If length > 500 chars -> "Preference too long (max 500 chars)", stop.
39
-
40
- Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
41
-
42
- **If `## User Preferences` section exists** (with or without emoji):
43
- 1. Remove `*No user preferences recorded yet.*` placeholder if present
44
- 2. Append `- $PREF` at end of section (before next `---`)
45
-
46
- **If section missing** (migration case):
47
- 1. Insert before `## Evolution Log` (with or without emoji):
48
- ```
49
- ## User Preferences
50
-
51
- - $PREF
52
-
53
- ---
54
-
55
- ```
56
-
57
- Update METADATA comment: increment `stats.total_user_prefs` by 1.
58
-
59
- ### Confirm
60
-
61
- Output (2 lines, no banners):
62
- ```
63
- Preference saved to hub QUEEN.md
64
- "$PREF"
65
- ```
@@ -1,100 +0,0 @@
1
- <!-- Generated from .aether/commands/quick.yaml - DO NOT EDIT DIRECTLY -->
2
- ---
3
- name: ant:quick
4
- description: "Quick scout query — fast answers without build ceremony"
5
- ---
6
-
7
- You are the **Queen**. Execute `/ant:quick` — a lightweight scout mission.
8
-
9
- The query is: `$ARGUMENTS`
10
-
11
- ## Purpose
12
-
13
- Quick, focused answers to questions about the codebase, patterns, or implementation
14
- details. No build ceremony, no state changes, no verification waves.
15
-
16
- ## Instructions
17
-
18
- ### Step 1: Validate Arguments
19
-
20
- If `$ARGUMENTS` is empty:
21
- ```
22
- Usage: /ant:quick "<question>"
23
-
24
- Examples:
25
- /ant:quick "how does the pheromone system work?"
26
- /ant:quick "find all uses of acquire_lock"
27
- /ant:quick "what tests cover midden-write?"
28
- /ant:quick "show me the colony-prime token budget logic"
29
- ```
30
- Stop here.
31
-
32
- ### Step 2: Generate Scout Name
33
-
34
- Run using the Bash tool with description "Naming scout...":
35
- ```bash
36
- bash .aether/aether-utils.sh generate-ant-name "scout"
37
- ```
38
-
39
- Capture the output as `scout_name`.
40
-
41
- ### Step 3: Spawn Scout
42
-
43
- Display:
44
- ```
45
- ━━━ Quick Scout ━━━
46
- Spawning {scout_name} — {query truncated to 50 chars}
47
- ```
48
-
49
- Run using the Bash tool with description "Dispatching scout...":
50
- ```bash
51
- bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{scout_name}" "Quick query: {query}"
52
- ```
53
-
54
-
55
- Spawn a Scout agent (using Task tool with subagent_type="aether-scout") with this prompt:
56
-
57
- ```
58
- You are {scout_name}, a Scout Ant on a quick mission.
59
-
60
- Query: {query from ARGUMENTS}
61
-
62
- Work:
63
- 1. Search the codebase to answer the query
64
- 2. Use Grep, Glob, and Read tools to find relevant code
65
- 3. Provide a clear, focused answer
66
- 4. Include file paths and line numbers for key findings
67
-
68
- Keep your answer concise and actionable. This is a quick mission —
69
- don't explore exhaustively, focus on the most relevant answer.
70
-
71
- Return your findings as a clear text answer (not JSON).
72
- ```
73
-
74
-
75
-
76
- ### Step 4: Display Results
77
-
78
-
79
- Display the Scout's answer directly to the user.
80
-
81
-
82
-
83
- Run using the Bash tool with description "Recording scout completion...":
84
- ```bash
85
- bash .aether/aether-utils.sh spawn-complete "{scout_name}" "completed" "Quick query answered"
86
- ```
87
-
88
- ### Step 5: Update Session (lightweight)
89
-
90
- Run using the Bash tool with description "Updating session...":
91
- ```bash
92
- bash .aether/aether-utils.sh session-update "/ant:quick" "" "Quick query: {query truncated to 60 chars}" 2>/dev/null || true
93
- ```
94
-
95
- **NOTE:** This command does NOT:
96
- - Modify COLONY_STATE.json
97
- - Advance phases
98
- - Create checkpoints
99
- - Spawn watchers or chaos ants
100
- - Run verification
@@ -1,76 +0,0 @@
1
- <!-- Generated from .aether/commands/redirect.yaml - DO NOT EDIT DIRECTLY -->
2
- ---
3
- name: ant:redirect
4
- description: "Emit REDIRECT signal to warn colony away from patterns"
5
- ---
6
-
7
-
8
- You are the **Queen**. Emit a REDIRECT pheromone signal.
9
-
10
-
11
-
12
- ## Instructions
13
-
14
- The pattern to avoid is: `$ARGUMENTS`
15
-
16
- ### Step 1: Validate
17
-
18
- If `$ARGUMENTS` empty -> show usage: `/ant:redirect <pattern to avoid>`, stop.
19
- If content > 500 chars -> "Redirect content too long (max 500 chars)", stop.
20
-
21
-
22
- Parse optional flags from `$ARGUMENTS`:
23
- - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
24
- - Strip flags from content before using it as the pattern.
25
-
26
-
27
- ### Step 2: Write Signal
28
-
29
- Read `.aether/data/COLONY_STATE.json`.
30
- If `goal: null` -> "No colony initialized.", stop.
31
-
32
-
33
- Run using the Bash tool with description "Setting colony redirect...":
34
- ```bash
35
- bash .aether/aether-utils.sh pheromone-write REDIRECT "<content>" --strength 0.9 --reason "User warned colony away from pattern" --ttl <ttl>
36
- ```
37
-
38
- Parse the returned JSON for the signal ID.
39
-
40
- ### Step 2.5: Update Context Document
41
-
42
- Run using the Bash tool with description "Updating context document...":
43
- ```bash
44
- bash .aether/aether-utils.sh context-update constraint redirect "<content>" "user" 2>/dev/null || true
45
- ```
46
-
47
- ### Step 3: Get Active Counts
48
-
49
- Run using the Bash tool with description "Counting active signals...":
50
- ```bash
51
- bash .aether/aether-utils.sh pheromone-count
52
- ```
53
-
54
- ### Step 4: Confirm
55
-
56
- Output (3-4 lines, no banners):
57
- ```
58
- REDIRECT signal emitted
59
- Avoid: "<content truncated to 60 chars>"
60
- Strength: 0.9 | Expires: <phase end or ttl value>
61
- Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
62
- ```
63
-
64
-
65
-
66
-
67
- ### Step 5: Next Up
68
-
69
- Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
70
- ```bash
71
- state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
72
- current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
73
- total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
74
- bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
75
- ```
76
-
@@ -1,197 +0,0 @@
1
- <!-- Generated from .aether/commands/resume-colony.yaml - DO NOT EDIT DIRECTLY -->
2
- ---
3
- name: ant:resume-colony
4
- description: "🚦➡️🐜💨💨 Resume colony from saved session - restores all state"
5
- ---
6
-
7
- You are the **Queen Ant Colony**. Restore state from a paused session.
8
-
9
- ## Instructions
10
-
11
- Parse `$ARGUMENTS`:
12
- - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
13
- - Otherwise: set `visual_mode = true`
14
-
15
- ### Step 0: Initialize Visual Mode (if enabled)
16
-
17
- If `visual_mode` is true, run using the Bash tool with description "Initializing resume display...":
18
- ### Step 0.5: Version Check (Non-blocking)
19
-
20
- Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
21
-
22
- If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
23
-
24
- ### Step 1: Load State and Validate
25
-
26
- Run using the Bash tool with description "Restoring colony session...": `bash .aether/aether-utils.sh load-state`
27
-
28
- If successful:
29
- 1. Parse state from result
30
- 2. If goal is null: Show "No colony state found..." message and stop
31
- 3. If `milestone` == `"Crowned Anthill"`: Show "This colony has been sealed. Start a new colony with `/ant:init \"new goal\"`." and stop
32
- 4. Check if paused flag is true - if not, note "Colony was not paused, but resuming anyway"
33
- 5. Extract all state fields for display
34
-
35
- Keep state loaded (don't unload yet) - we'll need it for the full display.
36
-
37
- ### Step 2: Compute Active Signals
38
-
39
- Run using the Bash tool with description "Loading active pheromones...":
40
- ```bash
41
- bash .aether/aether-utils.sh pheromone-read
42
- ```
43
-
44
- Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
45
- If empty, treat as "no active pheromones."
46
-
47
- ### Step 2.5: Load Survey Context (Advisory)
48
-
49
- Run using the Bash tool with description "Loading survey context...":
50
- ```bash
51
- survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
52
- survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
53
- if [[ -n "$survey_latest" ]]; then
54
- now_epoch=$(date +%s)
55
- modified_epoch=$(stat -f %m "$survey_latest" 2>/dev/null || stat -c %Y "$survey_latest" 2>/dev/null || echo 0)
56
- survey_age_days=$(( (now_epoch - modified_epoch) / 86400 ))
57
- else
58
- survey_age_days=-1
59
- fi
60
- echo "survey_docs=$survey_docs"
61
- echo "survey_age_days=$survey_age_days"
62
- ```
63
-
64
- Interpretation:
65
- - `survey_docs == 0` => survey missing
66
- - `survey_age_days > 14` => survey stale
67
- - otherwise survey fresh
68
-
69
- ### Step 3: Display Restored State
70
-
71
- **Note:** Other ant commands (`/ant:status`, `/ant:build`, `/ant:plan`, `/ant:continue`) also show brief resumption context automatically. This full resume provides complete state restoration for explicit session recovery.
72
-
73
- Output header:
74
-
75
- ```
76
- 🚦➡️🐜💨💨 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
77
- C O L O N Y R E S U M E D
78
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚦➡️🐜💨💨
79
- ```
80
-
81
- Read the .aether/HANDOFF.md for context about what was happening, then display:
82
-
83
- ```
84
- +=====================================================+
85
- | AETHER COLONY :: RESUMED |
86
- +=====================================================+
87
-
88
- Goal: "<goal>"
89
- State: <state>
90
- Session: <session_id>
91
- Phase: <current_phase>
92
-
93
- ACTIVE PHEROMONES
94
- {TYPE padded to 10 chars} [{bar of 20 chars using filled/empty}] {current_strength:.2f}
95
- "{content}"
96
-
97
- Where the bar uses round(current_strength * 20) filled characters and spaces for the remainder.
98
-
99
- If no active signals: (no active pheromones)
100
-
101
- PHASE PROGRESS
102
- Phase <id>: <name> [<status>]
103
- (list all phases from plan.phases)
104
-
105
- SURVEY CONTEXT
106
- Docs: <survey_docs>
107
- Age: <survey_age_days> days
108
- Status: <fresh|stale|missing>
109
- Recommendation: <if missing or stale, suggest /ant:colonize --force-resurvey>
110
-
111
- CONTEXT FROM HANDOFF
112
- <summarize what was happening from .aether/HANDOFF.md>
113
-
114
- NEXT ACTIONS
115
- ```
116
-
117
- Route to next action based on state:
118
- - If state is `READY` and there's a pending phase -> suggest `/ant:build <phase>`
119
- - If state is `EXECUTING` -> note that a build was interrupted, suggest restarting with `/ant:build <phase>`
120
- - If state is `PLANNING` -> note that planning was interrupted, suggest `/ant:plan`
121
- - Otherwise -> suggest `/ant:status` for full overview
122
-
123
- ### Step 6: Clear Paused State and Cleanup
124
-
125
- Use Write tool to update COLONY_STATE.json:
126
- - Remove or set to false: `"paused": false`
127
- - Remove: `"paused_at"` field
128
- - Update last_updated timestamp
129
- - Add event: `{timestamp, type: "colony_resumed", worker: "resume", details: "Session resumed"}`
130
-
131
- Use Bash tool with description "Cleaning up handoff file..." to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
132
-
133
- Run using the Bash tool with description "Releasing colony lock...": `bash .aether/aether-utils.sh unload-state` to release lock.
134
-
135
- ### Step 7: Next Up
136
-
137
- Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
138
- ```bash
139
- state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
140
- current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
141
- total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
142
- bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
143
- ```
144
-
145
- ---
146
-
147
- ## Auto-Recovery Pattern Reference
148
-
149
- The colony uses a tiered auto-recovery pattern to maintain context across session boundaries:
150
-
151
- ### Format Tiers
152
-
153
- | Context | Format | When Used |
154
- |---------|--------|-----------|
155
- | Brief | `🔄 Resuming: Phase X - Name` | Action commands (build, plan, continue) |
156
- | Extended | Brief + last activity timestamp | Status command |
157
- | Full | Complete state with pheromones, workers, context | resume-colony command |
158
-
159
- ### Brief Format (Action Commands)
160
-
161
- Used by `/ant:build`, `/ant:plan`, `/ant:continue`:
162
-
163
- ```
164
- 🔄 Resuming: Phase <current_phase> - <phase_name>
165
- ```
166
-
167
- Provides minimal orientation before executing the command's primary function.
168
-
169
- ### Extended Format (Status Command)
170
-
171
- Used by `/ant:status` Step 1.5:
172
-
173
- ```
174
- 🔄 Resuming: Phase <current_phase> - <phase_name>
175
- Last activity: <last_event_timestamp>
176
- ```
177
-
178
- Adds temporal context to help gauge session staleness.
179
-
180
- ### Full Format (Resume-Colony)
181
-
182
- Used by `/ant:resume-colony`:
183
-
184
- - Complete header with ASCII art
185
- - Goal, state, session ID, phase
186
- - Active pheromones with strength bars
187
- - Worker status by caste
188
- - Phase progress for all phases
189
- - Handoff context summary
190
- - Next action routing
191
-
192
- ### Implementation Notes
193
-
194
- 1. **State Source:** All formats read from `.aether/data/COLONY_STATE.json`
195
- 2. **Phase Name:** Extracted from `plan.phases[current_phase - 1].name`
196
- 3. **Last Activity:** Parsed from the last entry in `events` array
197
- 4. **Edge Cases:** Handle missing phase names, empty events, phase 0