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.
- package/.aether/CONTEXT.md +160 -0
- package/.aether/QUEEN.md +84 -0
- package/.aether/aether-utils.sh +7749 -0
- package/.aether/docs/QUEEN-SYSTEM.md +211 -0
- package/.aether/docs/README.md +68 -0
- package/.aether/docs/caste-system.md +48 -0
- package/.aether/docs/disciplines/DISCIPLINES.md +93 -0
- package/.aether/docs/disciplines/coding-standards.md +197 -0
- package/.aether/docs/disciplines/debugging.md +207 -0
- package/.aether/docs/disciplines/learning.md +254 -0
- package/.aether/docs/disciplines/tdd.md +257 -0
- package/.aether/docs/disciplines/verification-loop.md +167 -0
- package/.aether/docs/disciplines/verification.md +116 -0
- package/.aether/docs/error-codes.md +268 -0
- package/.aether/docs/known-issues.md +233 -0
- package/.aether/docs/pheromones.md +205 -0
- package/.aether/docs/queen-commands.md +97 -0
- package/.aether/exchange/colony-registry.xml +11 -0
- package/.aether/exchange/pheromone-xml.sh +575 -0
- package/.aether/exchange/pheromones.xml +87 -0
- package/.aether/exchange/queen-wisdom.xml +14 -0
- package/.aether/exchange/registry-xml.sh +273 -0
- package/.aether/exchange/wisdom-xml.sh +319 -0
- package/.aether/midden/approach-changes.md +5 -0
- package/.aether/midden/build-failures.md +5 -0
- package/.aether/midden/test-failures.md +5 -0
- package/.aether/model-profiles.yaml +100 -0
- package/.aether/rules/aether-colony.md +134 -0
- package/.aether/schemas/aether-types.xsd +255 -0
- package/.aether/schemas/colony-registry.xsd +309 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- package/.aether/schemas/pheromone.xsd +163 -0
- package/.aether/schemas/prompt.xsd +416 -0
- package/.aether/schemas/queen-wisdom.xsd +325 -0
- package/.aether/schemas/worker-priming.xsd +276 -0
- package/.aether/templates/QUEEN.md.template +79 -0
- package/.aether/templates/colony-state-reset.jq.template +22 -0
- package/.aether/templates/colony-state.template.json +35 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +7 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/.aether/utils/atomic-write.sh +219 -0
- package/.aether/utils/chamber-compare.sh +193 -0
- package/.aether/utils/chamber-utils.sh +297 -0
- package/.aether/utils/colorize-log.sh +132 -0
- package/.aether/utils/error-handler.sh +212 -0
- package/.aether/utils/file-lock.sh +158 -0
- package/.aether/utils/queen-to-md.xsl +395 -0
- package/.aether/utils/semantic-cli.sh +413 -0
- package/.aether/utils/spawn-tree.sh +428 -0
- package/.aether/utils/spawn-with-model.sh +56 -0
- package/.aether/utils/state-loader.sh +215 -0
- package/.aether/utils/swarm-display.sh +268 -0
- package/.aether/utils/watch-spawn-tree.sh +253 -0
- package/.aether/utils/xml-compose.sh +253 -0
- package/.aether/utils/xml-convert.sh +273 -0
- package/.aether/utils/xml-core.sh +186 -0
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/.aether/workers.md +765 -0
- package/.claude/agents/ant/aether-ambassador.md +264 -0
- package/.claude/agents/ant/aether-archaeologist.md +322 -0
- package/.claude/agents/ant/aether-auditor.md +266 -0
- package/.claude/agents/ant/aether-builder.md +187 -0
- package/.claude/agents/ant/aether-chaos.md +268 -0
- package/.claude/agents/ant/aether-chronicler.md +304 -0
- package/.claude/agents/ant/aether-gatekeeper.md +325 -0
- package/.claude/agents/ant/aether-includer.md +373 -0
- package/.claude/agents/ant/aether-keeper.md +271 -0
- package/.claude/agents/ant/aether-measurer.md +317 -0
- package/.claude/agents/ant/aether-probe.md +210 -0
- package/.claude/agents/ant/aether-queen.md +325 -0
- package/.claude/agents/ant/aether-route-setter.md +173 -0
- package/.claude/agents/ant/aether-sage.md +353 -0
- package/.claude/agents/ant/aether-scout.md +142 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +416 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +354 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +288 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +359 -0
- package/.claude/agents/ant/aether-tracker.md +265 -0
- package/.claude/agents/ant/aether-watcher.md +244 -0
- package/.claude/agents/ant/aether-weaver.md +247 -0
- package/.claude/commands/ant/archaeology.md +341 -0
- package/.claude/commands/ant/build.md +1160 -0
- package/.claude/commands/ant/chaos.md +349 -0
- package/.claude/commands/ant/colonize.md +270 -0
- package/.claude/commands/ant/continue.md +1070 -0
- package/.claude/commands/ant/council.md +309 -0
- package/.claude/commands/ant/dream.md +265 -0
- package/.claude/commands/ant/entomb.md +487 -0
- package/.claude/commands/ant/feedback.md +78 -0
- package/.claude/commands/ant/flag.md +139 -0
- package/.claude/commands/ant/flags.md +155 -0
- package/.claude/commands/ant/focus.md +58 -0
- package/.claude/commands/ant/help.md +122 -0
- package/.claude/commands/ant/history.md +137 -0
- package/.claude/commands/ant/init.md +409 -0
- package/.claude/commands/ant/interpret.md +267 -0
- package/.claude/commands/ant/lay-eggs.md +201 -0
- package/.claude/commands/ant/maturity.md +102 -0
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +165 -0
- package/.claude/commands/ant/oracle.md +387 -0
- package/.claude/commands/ant/organize.md +227 -0
- package/.claude/commands/ant/pause-colony.md +247 -0
- package/.claude/commands/ant/phase.md +126 -0
- package/.claude/commands/ant/plan.md +544 -0
- package/.claude/commands/ant/redirect.md +58 -0
- package/.claude/commands/ant/resume-colony.md +182 -0
- package/.claude/commands/ant/resume.md +363 -0
- package/.claude/commands/ant/seal.md +306 -0
- package/.claude/commands/ant/status.md +272 -0
- package/.claude/commands/ant/swarm.md +361 -0
- package/.claude/commands/ant/tunnels.md +425 -0
- package/.claude/commands/ant/update.md +209 -0
- package/.claude/commands/ant/verify-castes.md +95 -0
- package/.claude/commands/ant/watch.md +238 -0
- package/.opencode/agents/aether-ambassador.md +140 -0
- package/.opencode/agents/aether-archaeologist.md +108 -0
- package/.opencode/agents/aether-auditor.md +144 -0
- package/.opencode/agents/aether-builder.md +184 -0
- package/.opencode/agents/aether-chaos.md +115 -0
- package/.opencode/agents/aether-chronicler.md +122 -0
- package/.opencode/agents/aether-gatekeeper.md +116 -0
- package/.opencode/agents/aether-includer.md +117 -0
- package/.opencode/agents/aether-keeper.md +177 -0
- package/.opencode/agents/aether-measurer.md +128 -0
- package/.opencode/agents/aether-probe.md +133 -0
- package/.opencode/agents/aether-queen.md +286 -0
- package/.opencode/agents/aether-route-setter.md +130 -0
- package/.opencode/agents/aether-sage.md +106 -0
- package/.opencode/agents/aether-scout.md +101 -0
- package/.opencode/agents/aether-surveyor-disciplines.md +386 -0
- package/.opencode/agents/aether-surveyor-nest.md +324 -0
- package/.opencode/agents/aether-surveyor-pathogens.md +259 -0
- package/.opencode/agents/aether-surveyor-provisions.md +329 -0
- package/.opencode/agents/aether-tracker.md +137 -0
- package/.opencode/agents/aether-watcher.md +174 -0
- package/.opencode/agents/aether-weaver.md +130 -0
- package/.opencode/commands/ant/archaeology.md +338 -0
- package/.opencode/commands/ant/build.md +1200 -0
- package/.opencode/commands/ant/chaos.md +346 -0
- package/.opencode/commands/ant/colonize.md +202 -0
- package/.opencode/commands/ant/continue.md +938 -0
- package/.opencode/commands/ant/council.md +305 -0
- package/.opencode/commands/ant/dream.md +262 -0
- package/.opencode/commands/ant/entomb.md +367 -0
- package/.opencode/commands/ant/feedback.md +80 -0
- package/.opencode/commands/ant/flag.md +137 -0
- package/.opencode/commands/ant/flags.md +153 -0
- package/.opencode/commands/ant/focus.md +56 -0
- package/.opencode/commands/ant/help.md +124 -0
- package/.opencode/commands/ant/history.md +127 -0
- package/.opencode/commands/ant/init.md +337 -0
- package/.opencode/commands/ant/interpret.md +256 -0
- package/.opencode/commands/ant/lay-eggs.md +141 -0
- package/.opencode/commands/ant/maturity.md +92 -0
- package/.opencode/commands/ant/memory-details.md +77 -0
- package/.opencode/commands/ant/migrate-state.md +153 -0
- package/.opencode/commands/ant/oracle.md +338 -0
- package/.opencode/commands/ant/organize.md +224 -0
- package/.opencode/commands/ant/pause-colony.md +220 -0
- package/.opencode/commands/ant/phase.md +123 -0
- package/.opencode/commands/ant/plan.md +531 -0
- package/.opencode/commands/ant/redirect.md +67 -0
- package/.opencode/commands/ant/resume-colony.md +178 -0
- package/.opencode/commands/ant/resume.md +363 -0
- package/.opencode/commands/ant/seal.md +247 -0
- package/.opencode/commands/ant/status.md +272 -0
- package/.opencode/commands/ant/swarm.md +357 -0
- package/.opencode/commands/ant/tunnels.md +406 -0
- package/.opencode/commands/ant/update.md +191 -0
- package/.opencode/commands/ant/verify-castes.md +85 -0
- package/.opencode/commands/ant/watch.md +220 -0
- package/.opencode/opencode.json +3 -0
- package/CHANGELOG.md +325 -0
- package/DISCLAIMER.md +74 -0
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/bin/cli.js +2436 -0
- package/bin/generate-commands.sh +291 -0
- package/bin/lib/caste-colors.js +57 -0
- package/bin/lib/colors.js +76 -0
- package/bin/lib/errors.js +255 -0
- package/bin/lib/event-types.js +190 -0
- package/bin/lib/file-lock.js +695 -0
- package/bin/lib/init.js +454 -0
- package/bin/lib/logger.js +242 -0
- package/bin/lib/model-profiles.js +445 -0
- package/bin/lib/model-verify.js +288 -0
- package/bin/lib/nestmate-loader.js +130 -0
- package/bin/lib/proxy-health.js +253 -0
- package/bin/lib/spawn-logger.js +266 -0
- package/bin/lib/state-guard.js +602 -0
- package/bin/lib/state-sync.js +516 -0
- package/bin/lib/telemetry.js +441 -0
- package/bin/lib/update-transaction.js +1454 -0
- package/bin/npx-install.js +178 -0
- package/bin/sync-to-runtime.sh +6 -0
- package/bin/validate-package.sh +88 -0
- 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
|
+
```
|