aether-colony 1.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 (207) hide show
  1. package/.aether/CONTEXT.md +160 -0
  2. package/.aether/QUEEN.md +84 -0
  3. package/.aether/aether-utils.sh +7749 -0
  4. package/.aether/docs/QUEEN-SYSTEM.md +211 -0
  5. package/.aether/docs/README.md +68 -0
  6. package/.aether/docs/caste-system.md +48 -0
  7. package/.aether/docs/disciplines/DISCIPLINES.md +93 -0
  8. package/.aether/docs/disciplines/coding-standards.md +197 -0
  9. package/.aether/docs/disciplines/debugging.md +207 -0
  10. package/.aether/docs/disciplines/learning.md +254 -0
  11. package/.aether/docs/disciplines/tdd.md +257 -0
  12. package/.aether/docs/disciplines/verification-loop.md +167 -0
  13. package/.aether/docs/disciplines/verification.md +116 -0
  14. package/.aether/docs/error-codes.md +268 -0
  15. package/.aether/docs/known-issues.md +233 -0
  16. package/.aether/docs/pheromones.md +205 -0
  17. package/.aether/docs/queen-commands.md +97 -0
  18. package/.aether/exchange/colony-registry.xml +11 -0
  19. package/.aether/exchange/pheromone-xml.sh +575 -0
  20. package/.aether/exchange/pheromones.xml +87 -0
  21. package/.aether/exchange/queen-wisdom.xml +14 -0
  22. package/.aether/exchange/registry-xml.sh +273 -0
  23. package/.aether/exchange/wisdom-xml.sh +319 -0
  24. package/.aether/midden/approach-changes.md +5 -0
  25. package/.aether/midden/build-failures.md +5 -0
  26. package/.aether/midden/test-failures.md +5 -0
  27. package/.aether/model-profiles.yaml +100 -0
  28. package/.aether/rules/aether-colony.md +134 -0
  29. package/.aether/schemas/aether-types.xsd +255 -0
  30. package/.aether/schemas/colony-registry.xsd +309 -0
  31. package/.aether/schemas/example-prompt-builder.xml +234 -0
  32. package/.aether/schemas/pheromone.xsd +163 -0
  33. package/.aether/schemas/prompt.xsd +416 -0
  34. package/.aether/schemas/queen-wisdom.xsd +325 -0
  35. package/.aether/schemas/worker-priming.xsd +276 -0
  36. package/.aether/templates/QUEEN.md.template +79 -0
  37. package/.aether/templates/colony-state-reset.jq.template +22 -0
  38. package/.aether/templates/colony-state.template.json +35 -0
  39. package/.aether/templates/constraints.template.json +9 -0
  40. package/.aether/templates/crowned-anthill.template.md +36 -0
  41. package/.aether/templates/handoff-build-error.template.md +30 -0
  42. package/.aether/templates/handoff-build-success.template.md +39 -0
  43. package/.aether/templates/handoff.template.md +40 -0
  44. package/.aether/templates/learning-observations.template.json +6 -0
  45. package/.aether/templates/midden.template.json +7 -0
  46. package/.aether/templates/pheromones.template.json +6 -0
  47. package/.aether/templates/session.template.json +9 -0
  48. package/.aether/utils/atomic-write.sh +219 -0
  49. package/.aether/utils/chamber-compare.sh +193 -0
  50. package/.aether/utils/chamber-utils.sh +297 -0
  51. package/.aether/utils/colorize-log.sh +132 -0
  52. package/.aether/utils/error-handler.sh +212 -0
  53. package/.aether/utils/file-lock.sh +158 -0
  54. package/.aether/utils/queen-to-md.xsl +395 -0
  55. package/.aether/utils/semantic-cli.sh +413 -0
  56. package/.aether/utils/spawn-tree.sh +428 -0
  57. package/.aether/utils/spawn-with-model.sh +56 -0
  58. package/.aether/utils/state-loader.sh +215 -0
  59. package/.aether/utils/swarm-display.sh +268 -0
  60. package/.aether/utils/watch-spawn-tree.sh +253 -0
  61. package/.aether/utils/xml-compose.sh +253 -0
  62. package/.aether/utils/xml-convert.sh +273 -0
  63. package/.aether/utils/xml-core.sh +186 -0
  64. package/.aether/utils/xml-query.sh +201 -0
  65. package/.aether/utils/xml-utils.sh +110 -0
  66. package/.aether/workers.md +765 -0
  67. package/.claude/agents/ant/aether-ambassador.md +264 -0
  68. package/.claude/agents/ant/aether-archaeologist.md +322 -0
  69. package/.claude/agents/ant/aether-auditor.md +266 -0
  70. package/.claude/agents/ant/aether-builder.md +187 -0
  71. package/.claude/agents/ant/aether-chaos.md +268 -0
  72. package/.claude/agents/ant/aether-chronicler.md +304 -0
  73. package/.claude/agents/ant/aether-gatekeeper.md +325 -0
  74. package/.claude/agents/ant/aether-includer.md +373 -0
  75. package/.claude/agents/ant/aether-keeper.md +271 -0
  76. package/.claude/agents/ant/aether-measurer.md +317 -0
  77. package/.claude/agents/ant/aether-probe.md +210 -0
  78. package/.claude/agents/ant/aether-queen.md +325 -0
  79. package/.claude/agents/ant/aether-route-setter.md +173 -0
  80. package/.claude/agents/ant/aether-sage.md +353 -0
  81. package/.claude/agents/ant/aether-scout.md +142 -0
  82. package/.claude/agents/ant/aether-surveyor-disciplines.md +416 -0
  83. package/.claude/agents/ant/aether-surveyor-nest.md +354 -0
  84. package/.claude/agents/ant/aether-surveyor-pathogens.md +288 -0
  85. package/.claude/agents/ant/aether-surveyor-provisions.md +359 -0
  86. package/.claude/agents/ant/aether-tracker.md +265 -0
  87. package/.claude/agents/ant/aether-watcher.md +244 -0
  88. package/.claude/agents/ant/aether-weaver.md +247 -0
  89. package/.claude/commands/ant/archaeology.md +341 -0
  90. package/.claude/commands/ant/build.md +1160 -0
  91. package/.claude/commands/ant/chaos.md +349 -0
  92. package/.claude/commands/ant/colonize.md +270 -0
  93. package/.claude/commands/ant/continue.md +1070 -0
  94. package/.claude/commands/ant/council.md +309 -0
  95. package/.claude/commands/ant/dream.md +265 -0
  96. package/.claude/commands/ant/entomb.md +487 -0
  97. package/.claude/commands/ant/feedback.md +78 -0
  98. package/.claude/commands/ant/flag.md +139 -0
  99. package/.claude/commands/ant/flags.md +155 -0
  100. package/.claude/commands/ant/focus.md +58 -0
  101. package/.claude/commands/ant/help.md +122 -0
  102. package/.claude/commands/ant/history.md +137 -0
  103. package/.claude/commands/ant/init.md +409 -0
  104. package/.claude/commands/ant/interpret.md +267 -0
  105. package/.claude/commands/ant/lay-eggs.md +201 -0
  106. package/.claude/commands/ant/maturity.md +102 -0
  107. package/.claude/commands/ant/memory-details.md +77 -0
  108. package/.claude/commands/ant/migrate-state.md +165 -0
  109. package/.claude/commands/ant/oracle.md +387 -0
  110. package/.claude/commands/ant/organize.md +227 -0
  111. package/.claude/commands/ant/pause-colony.md +247 -0
  112. package/.claude/commands/ant/phase.md +126 -0
  113. package/.claude/commands/ant/plan.md +544 -0
  114. package/.claude/commands/ant/redirect.md +58 -0
  115. package/.claude/commands/ant/resume-colony.md +182 -0
  116. package/.claude/commands/ant/resume.md +363 -0
  117. package/.claude/commands/ant/seal.md +306 -0
  118. package/.claude/commands/ant/status.md +272 -0
  119. package/.claude/commands/ant/swarm.md +361 -0
  120. package/.claude/commands/ant/tunnels.md +425 -0
  121. package/.claude/commands/ant/update.md +209 -0
  122. package/.claude/commands/ant/verify-castes.md +95 -0
  123. package/.claude/commands/ant/watch.md +238 -0
  124. package/.opencode/agents/aether-ambassador.md +140 -0
  125. package/.opencode/agents/aether-archaeologist.md +108 -0
  126. package/.opencode/agents/aether-auditor.md +144 -0
  127. package/.opencode/agents/aether-builder.md +184 -0
  128. package/.opencode/agents/aether-chaos.md +115 -0
  129. package/.opencode/agents/aether-chronicler.md +122 -0
  130. package/.opencode/agents/aether-gatekeeper.md +116 -0
  131. package/.opencode/agents/aether-includer.md +117 -0
  132. package/.opencode/agents/aether-keeper.md +177 -0
  133. package/.opencode/agents/aether-measurer.md +128 -0
  134. package/.opencode/agents/aether-probe.md +133 -0
  135. package/.opencode/agents/aether-queen.md +286 -0
  136. package/.opencode/agents/aether-route-setter.md +130 -0
  137. package/.opencode/agents/aether-sage.md +106 -0
  138. package/.opencode/agents/aether-scout.md +101 -0
  139. package/.opencode/agents/aether-surveyor-disciplines.md +386 -0
  140. package/.opencode/agents/aether-surveyor-nest.md +324 -0
  141. package/.opencode/agents/aether-surveyor-pathogens.md +259 -0
  142. package/.opencode/agents/aether-surveyor-provisions.md +329 -0
  143. package/.opencode/agents/aether-tracker.md +137 -0
  144. package/.opencode/agents/aether-watcher.md +174 -0
  145. package/.opencode/agents/aether-weaver.md +130 -0
  146. package/.opencode/commands/ant/archaeology.md +338 -0
  147. package/.opencode/commands/ant/build.md +1200 -0
  148. package/.opencode/commands/ant/chaos.md +346 -0
  149. package/.opencode/commands/ant/colonize.md +202 -0
  150. package/.opencode/commands/ant/continue.md +938 -0
  151. package/.opencode/commands/ant/council.md +305 -0
  152. package/.opencode/commands/ant/dream.md +262 -0
  153. package/.opencode/commands/ant/entomb.md +367 -0
  154. package/.opencode/commands/ant/feedback.md +80 -0
  155. package/.opencode/commands/ant/flag.md +137 -0
  156. package/.opencode/commands/ant/flags.md +153 -0
  157. package/.opencode/commands/ant/focus.md +56 -0
  158. package/.opencode/commands/ant/help.md +124 -0
  159. package/.opencode/commands/ant/history.md +127 -0
  160. package/.opencode/commands/ant/init.md +337 -0
  161. package/.opencode/commands/ant/interpret.md +256 -0
  162. package/.opencode/commands/ant/lay-eggs.md +141 -0
  163. package/.opencode/commands/ant/maturity.md +92 -0
  164. package/.opencode/commands/ant/memory-details.md +77 -0
  165. package/.opencode/commands/ant/migrate-state.md +153 -0
  166. package/.opencode/commands/ant/oracle.md +338 -0
  167. package/.opencode/commands/ant/organize.md +224 -0
  168. package/.opencode/commands/ant/pause-colony.md +220 -0
  169. package/.opencode/commands/ant/phase.md +123 -0
  170. package/.opencode/commands/ant/plan.md +531 -0
  171. package/.opencode/commands/ant/redirect.md +67 -0
  172. package/.opencode/commands/ant/resume-colony.md +178 -0
  173. package/.opencode/commands/ant/resume.md +363 -0
  174. package/.opencode/commands/ant/seal.md +247 -0
  175. package/.opencode/commands/ant/status.md +272 -0
  176. package/.opencode/commands/ant/swarm.md +357 -0
  177. package/.opencode/commands/ant/tunnels.md +406 -0
  178. package/.opencode/commands/ant/update.md +191 -0
  179. package/.opencode/commands/ant/verify-castes.md +85 -0
  180. package/.opencode/commands/ant/watch.md +220 -0
  181. package/.opencode/opencode.json +3 -0
  182. package/CHANGELOG.md +325 -0
  183. package/DISCLAIMER.md +74 -0
  184. package/LICENSE +21 -0
  185. package/README.md +258 -0
  186. package/bin/cli.js +2436 -0
  187. package/bin/generate-commands.sh +291 -0
  188. package/bin/lib/caste-colors.js +57 -0
  189. package/bin/lib/colors.js +76 -0
  190. package/bin/lib/errors.js +255 -0
  191. package/bin/lib/event-types.js +190 -0
  192. package/bin/lib/file-lock.js +695 -0
  193. package/bin/lib/init.js +454 -0
  194. package/bin/lib/logger.js +242 -0
  195. package/bin/lib/model-profiles.js +445 -0
  196. package/bin/lib/model-verify.js +288 -0
  197. package/bin/lib/nestmate-loader.js +130 -0
  198. package/bin/lib/proxy-health.js +253 -0
  199. package/bin/lib/spawn-logger.js +266 -0
  200. package/bin/lib/state-guard.js +602 -0
  201. package/bin/lib/state-sync.js +516 -0
  202. package/bin/lib/telemetry.js +441 -0
  203. package/bin/lib/update-transaction.js +1454 -0
  204. package/bin/npx-install.js +178 -0
  205. package/bin/sync-to-runtime.sh +6 -0
  206. package/bin/validate-package.sh +88 -0
  207. package/package.json +70 -0
@@ -0,0 +1,155 @@
1
+ ---
2
+ name: ant:flags
3
+ description: "📋🐜🚩🐜📋 List project flags (blockers, issues, notes)"
4
+ ---
5
+
6
+ You are the **Queen**. Display project flags.
7
+
8
+ ## Instructions
9
+
10
+ Arguments: `$ARGUMENTS`
11
+
12
+ ### Step 1: Parse Arguments
13
+
14
+ Parse `$ARGUMENTS` for:
15
+ - `--all` or `-a`: Show resolved flags too
16
+ - `--type` or `-t`: Filter by type (blocker|issue|note)
17
+ - `--phase` or `-p`: Filter by phase number
18
+ - `--resolve` or `-r`: Resolve a specific flag ID
19
+ - `--ack` or `-k`: Acknowledge a specific flag ID
20
+
21
+ Examples:
22
+ - `/ant:flags` → Show active flags
23
+ - `/ant:flags --all` → Include resolved flags
24
+ - `/ant:flags -t blocker` → Show only blockers
25
+ - `/ant:flags --resolve flag_123 "Fixed by commit abc"` → Resolve a flag
26
+ - `/ant:flags --ack flag_456` → Acknowledge an issue
27
+
28
+ ### Step 2: Handle Resolution/Acknowledgment
29
+
30
+ If `--resolve` was provided, run using the Bash tool with description "Resolving colony flag...":
31
+ ```bash
32
+ bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
33
+ ```
34
+ Output:
35
+ ```
36
+ ✅ Flag resolved: {flag_id}
37
+
38
+ Resolution: {message}
39
+ ```
40
+ Stop here.
41
+
42
+ If `--ack` was provided, run using the Bash tool with description "Acknowledging colony flag...":
43
+ ```bash
44
+ bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
45
+ ```
46
+ Output:
47
+ ```
48
+ 👁️ Flag acknowledged: {flag_id}
49
+
50
+ Flag noted. Continuing with work.
51
+ ```
52
+ Stop here.
53
+
54
+ ### Step 3: List Flags
55
+
56
+ Run using the Bash tool with description "Loading colony flags...":
57
+ ```bash
58
+ bash .aether/aether-utils.sh flag-list {options}
59
+ ```
60
+
61
+ Parse result for flags array.
62
+
63
+ ### Step 4: Display
64
+
65
+ Output header:
66
+
67
+ ```
68
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+ 📋🐜🚩🐜📋 P R O J E C T F L A G S
70
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
+ ```
72
+
73
+ If no flags:
74
+ ```
75
+ .-.
76
+ (o o) AETHER COLONY
77
+ | O | Flags
78
+ `-`
79
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
80
+
81
+ ✨ No active flags! Colony is clear.
82
+
83
+ {if --all was used: "No resolved flags either."}
84
+ ```
85
+
86
+ If flags exist:
87
+ ```
88
+ .-.
89
+ (o o) AETHER COLONY
90
+ | O | Flags
91
+ `-`
92
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
93
+
94
+ {for each flag, grouped by type:}
95
+
96
+ 🚫 BLOCKERS ({count})
97
+ {flag_id}: {title}
98
+ Phase: {phase or "all"} | Created: {date}
99
+ └─ {description preview}
100
+
101
+ ⚠️ ISSUES ({count})
102
+ {flag_id}: {title} {if acknowledged: "[ACK]"}
103
+ Phase: {phase or "all"} | Created: {date}
104
+ └─ {description preview}
105
+
106
+ 📝 NOTES ({count})
107
+ {flag_id}: {title}
108
+ Phase: {phase or "all"} | Created: {date}
109
+ └─ {description preview}
110
+
111
+ {if --all and resolved flags exist:}
112
+
113
+ ✅ RESOLVED ({count})
114
+ {flag_id}: {title}
115
+ Resolved: {date} | {resolution}
116
+
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+
119
+ Summary: {blockers} blockers | {issues} issues | {notes} notes
120
+
121
+ {if blockers > 0:}
122
+ ⚠️ Blockers must be resolved before /ant:continue
123
+
124
+ Commands:
125
+ /ant:flags --resolve {id} "message" Resolve a flag
126
+ /ant:flags --ack {id} Acknowledge an issue
127
+ /ant:flag "description" Create new flag
128
+ ```
129
+
130
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
131
+ ```bash
132
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
133
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
134
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
135
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Quick Actions
141
+
142
+ **Resolve a flag:**
143
+ ```
144
+ /ant:flags --resolve flag_123456 "Fixed in commit abc123"
145
+ ```
146
+
147
+ **Acknowledge an issue:**
148
+ ```
149
+ /ant:flags --ack flag_789012
150
+ ```
151
+
152
+ **Create a new flag:**
153
+ ```
154
+ /ant:flag --type blocker "Critical issue here"
155
+ ```
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: ant:focus
3
+ description: "Emit FOCUS signal to guide colony attention"
4
+ ---
5
+
6
+ You are the **Queen**. Emit a FOCUS pheromone signal.
7
+
8
+ ## Instructions
9
+
10
+ The focus area is: `$ARGUMENTS`
11
+
12
+ ### Step 1: Validate
13
+
14
+ If `$ARGUMENTS` empty -> show usage: `/ant:focus <area>`, stop.
15
+ If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
16
+
17
+ Parse optional flags from `$ARGUMENTS`:
18
+ - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
19
+ - Strip flags from content before using it as the focus area.
20
+
21
+ ### Step 2: Write Signal
22
+
23
+ Read `.aether/data/COLONY_STATE.json`.
24
+ If `goal: null` -> "No colony initialized.", stop.
25
+
26
+ Run using the Bash tool with description "Setting colony focus...":
27
+ ```bash
28
+ bash .aether/aether-utils.sh pheromone-write FOCUS "<content>" --strength 0.8 --reason "User directed colony attention" --ttl <ttl>
29
+ ```
30
+
31
+ Parse the returned JSON for the signal ID.
32
+
33
+ ### Step 3: Get Active Counts
34
+
35
+ Run using the Bash tool with description "Counting active signals...":
36
+ ```bash
37
+ bash .aether/aether-utils.sh pheromone-count
38
+ ```
39
+
40
+ ### Step 4: Confirm
41
+
42
+ Output (3-4 lines, no banners):
43
+ ```
44
+ FOCUS signal emitted
45
+ Area: "<content truncated to 60 chars>"
46
+ Strength: 0.8 | Expires: <phase end or ttl value>
47
+ Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
48
+ ```
49
+
50
+ ### Step 5: Next Up
51
+
52
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
53
+ ```bash
54
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
55
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
56
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
57
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
58
+ ```
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: help
3
+ description: "🐜📖 Aether Colony - command reference and system overview"
4
+ ---
5
+
6
+ You are the **Queen Ant Colony**. Display the system overview and available commands.
7
+
8
+ ## Instructions
9
+
10
+ Output the following:
11
+
12
+ ```
13
+ 👑 AETHER QUEEN ANT COLONY
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+
16
+ A multi-agent system built on ant colony intelligence.
17
+ Workers self-organize via pheromone signals. You guide with intention.
18
+
19
+ GETTING STARTED
20
+
21
+ /ant:init "<goal>" Set colony intention and initialize
22
+ /ant:colonize Analyze existing codebase (optional)
23
+ /ant:plan Generate project plan
24
+ /ant:build <phase> Execute a phase (spawns parallel workers)
25
+ /ant:continue Verify work, extract learnings, advance
26
+
27
+ PHEROMONE COMMANDS
28
+
29
+ /ant:focus "<area>" Guide colony attention (priority: normal, expires: phase end)
30
+ /ant:redirect "<pat>" Warn away from pattern (priority: high, expires: phase end)
31
+ /ant:feedback "<msg>" Adjust behavior (priority: low, expires: phase end)
32
+
33
+ STATUS & UPDATES
34
+
35
+ /ant:status Colony dashboard — goal, phase, instincts, flags
36
+ /ant:update Update system files from global hub (~/.aether/)
37
+ /ant:phase [N|list] View phase details or list all phases
38
+ /ant:flags List active flags (blockers, issues, notes)
39
+ /ant:flag "<title>" Create a flag (blocker, issue, or note)
40
+
41
+ SESSION COMMANDS
42
+
43
+ /ant:pause-colony Save state and create handoff document
44
+ /ant:resume-colony Restore from pause (full state + context)
45
+ /ant:watch Set up tmux session for live colony visibility
46
+
47
+ COLONY LIFECYCLE
48
+
49
+ /ant:seal Seal colony with Crowned Anthill milestone
50
+ /ant:history Browse colony event history
51
+
52
+ ADVANCED
53
+
54
+ /ant:swarm "<bug>" Parallel scouts investigate stubborn bugs
55
+ /ant:organize Codebase hygiene report (stale files, dead code)
56
+ /ant:council Convene council for intent clarification
57
+ /ant:dream Philosophical wanderer — observes and writes wisdom
58
+ /ant:interpret Review dreams — validate against codebase, discuss action
59
+ /ant:chaos 🎲 Resilience testing — adversarial probing of the codebase
60
+ /ant:archaeology 🏺 Git history analysis — excavate patterns from commit history
61
+
62
+ TYPICAL WORKFLOW
63
+
64
+ 1. /ant:init "Build a REST API with auth"
65
+ 2. /ant:colonize (if existing code)
66
+ 3. /ant:plan (generates phases)
67
+ 4. /ant:focus "security" (optional guidance)
68
+ 5. /ant:build 1 (workers execute phase 1)
69
+ 6. /ant:continue (verify, learn, advance)
70
+ 7. /ant:build 2 (repeat until complete)
71
+
72
+ After /clear or session break:
73
+ 8. /ant:resume-colony (restore full context)
74
+ 9. /ant:status (see where you left off)
75
+
76
+ WORKER CASTES
77
+
78
+ 👑 Queen — orchestrates, spawns workers, synthesizes results
79
+ 🗺️ colonizer — explores codebase, maps structure
80
+ 📋 route-setter — plans phases, breaks down goals
81
+ 🔨 builder — implements code, runs commands
82
+ 👁️ watcher — validates, tests, independent quality checks
83
+ 🔍 scout — researches, gathers information
84
+ 🏛️ architect — synthesizes knowledge, extracts patterns
85
+ 🎲 chaos — resilience tester, adversarial probing
86
+ 🏺 archaeologist — git history analyst, excavates commit patterns
87
+
88
+ HOW IT WORKS
89
+
90
+ Colony Lifecycle:
91
+ INIT → PLAN → BUILD → CONTINUE → BUILD → ... → COMPLETE
92
+
93
+ Workers spawn sub-workers autonomously (max depth 3).
94
+ Builders receive colony knowledge (instincts, learnings, error patterns).
95
+ Watchers independently verify work — builders never self-approve.
96
+ Phase boundaries are control points: emergence within, gates between.
97
+
98
+ Pheromone System:
99
+ Signals expire after their TTL. Workers sense active signals
100
+ and adjust behavior. FOCUS attracts, REDIRECT repels, FEEDBACK calibrates.
101
+
102
+ Colony Memory:
103
+ Instincts — learned patterns with confidence scores (validated through use)
104
+ Learnings — per-phase observations (hypothesis → validated → disproven)
105
+ Graveyards — markers on files where workers previously failed
106
+
107
+ State Files (.aether/data/):
108
+ COLONY_STATE.json Goal, phases, tasks, memory, signals, events
109
+ activity.log Timestamped worker activity
110
+ spawn-tree.txt Worker spawn hierarchy
111
+ constraints.json Focus/redirect pheromone data
112
+ ```
113
+
114
+ ### Next Up
115
+
116
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
117
+ ```bash
118
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
119
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
120
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
121
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
122
+ ```
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: ant:history
3
+ description: "📜🐜📜 Show colony event history"
4
+ ---
5
+
6
+ You are the **Queen**. Show colony history.
7
+
8
+ ## Instructions
9
+
10
+ ### Step 1: Read State
11
+
12
+ Read `.aether/data/COLONY_STATE.json`.
13
+
14
+ If file missing or `goal: null`:
15
+ ```
16
+ No colony initialized. Run /ant:init first.
17
+ ```
18
+ Stop here.
19
+
20
+ ### Step 2: Parse Events
21
+
22
+ Extract the `events` array from the state.
23
+
24
+ Each event is in format: `timestamp|type|source|description`
25
+
26
+ Parse each event into components:
27
+ - timestamp: before first `|`
28
+ - type: between first and second `|`
29
+ - source: between second and third `|`
30
+ - description: after third `|`
31
+
32
+ ### Step 3: Parse Filter Arguments
33
+
34
+ Parse optional filter arguments:
35
+
36
+ **Event Type Filter:**
37
+ - `--type TYPE` or `-t TYPE`: Filter by event type
38
+ - Multiple types can be specified (comma-separated)
39
+ - Valid types: `colony_initialized`, `phase_started`, `phase_advanced`, `plan_generated`, `milestone_reached`, `state_upgraded`
40
+
41
+ **Date Range Filter:**
42
+ - `--since DATE`: Show events since DATE
43
+ - ISO format: `2026-02-13`, `2026-02-13T14:30:00`
44
+ - Relative: `1d` (1 day ago), `2h` (2 hours ago), `30m` (30 minutes ago)
45
+ - `--until DATE`: Show events until DATE
46
+ - Same format options as `--since`
47
+
48
+ ### Step 4: Apply Limit
49
+
50
+ Parse optional `--limit N` argument (default: 10).
51
+
52
+ If `--limit` is provided, only show N events.
53
+
54
+ ### Step 5: Filter Events
55
+
56
+ Apply filters to the events array:
57
+
58
+ **Type Filtering:**
59
+ - If `--type` is provided, split by comma to get list of types
60
+ - Filter events to only include those where type matches any of the specified types (case-insensitive)
61
+
62
+ **Date Range Filtering:**
63
+ - For `--since`: Parse the date value
64
+ - If relative (e.g., "1d", "2h", "30m"), calculate timestamp by subtracting from current time
65
+ - If ISO format, parse directly
66
+ - Filter events with timestamp >= since date
67
+ - For `--until`: Same parsing logic
68
+ - Filter events with timestamp <= until date
69
+
70
+ **Track Active Filters:**
71
+ - Record which filters are active for display indicator
72
+
73
+ ### Step 6: Sort and Display
74
+
75
+ Sort events in reverse chronological order (most recent first).
76
+
77
+ If events array is empty:
78
+ ```
79
+ No colony events recorded yet.
80
+ ```
81
+
82
+ **Filter Indicators:**
83
+ - If any filters are active, show at the top:
84
+ - Type filter: `Filters: type=<TYPE>[,<TYPE>...]`
85
+ - Since filter: `Filters: since=<DATE>`
86
+ - Until filter: `Filters: until=<DATE>`
87
+ - Multiple filters: Combine on same line (e.g., `Filters: type=phase_started,phase_advanced since=1d`)
88
+ - Show filtered count: "Showing X of Y events (filtered from Z total)"
89
+
90
+ Otherwise, display in format:
91
+ ```
92
+ ━━━ Colony History (most recent first) ━━━
93
+
94
+ [TIMESTAMP] [TYPE] from [SOURCE]
95
+ Description: [description]
96
+
97
+ [TIMESTAMP] [TYPE] from [SOURCE]
98
+ Description: [description]
99
+
100
+ ... (up to limit)
101
+ ```
102
+
103
+ **Format:**
104
+ - Timestamp: Show in readable format (e.g., "2026-02-13 14:30:00")
105
+ - Type: Uppercase event type
106
+ - Source: Italics for source
107
+ - Description: Plain text
108
+
109
+ **Event type icons:**
110
+ - `colony_initialized`: 🏠
111
+ - `phase_started`: 🚀
112
+ - `phase_advanced`: ➡️
113
+ - `plan_generated`: 📋
114
+ - `milestone_reached`: 🏆
115
+ - `state_upgraded`: 🔄
116
+ - `default`: 📌
117
+
118
+ **Limit display:**
119
+ - If filtering is active, show: "Showing X of Y events (filtered from Z total)"
120
+ - If only limit is applied (no filters), show: "Showing X of Y events"
121
+
122
+ ### Step 7: Display Summary
123
+
124
+ Show total event count at the end:
125
+ ```
126
+ Total events recorded: <count>
127
+ ```
128
+
129
+ ### Step 8: Next Up
130
+
131
+ Generate the state-based Next Up block using the Bash tool with description "Generating Next Up suggestions...":
132
+ ```bash
133
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
134
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
135
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
136
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
137
+ ```