aether-colony 3.1.2 → 3.1.4
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/.claude/commands/ant/build.md +12 -5
- package/.opencode/commands/ant/build.md +12 -5
- package/CHANGELOG.md +10 -0
- package/package.json +1 -1
- package/runtime/workers.md +22 -81
|
@@ -209,6 +209,7 @@ CONSTRAINTS: (none)
|
|
|
209
209
|
```bash
|
|
210
210
|
bash .aether/aether-utils.sh generate-ant-name "archaeologist"
|
|
211
211
|
bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{archaeologist_name}" "Pre-build archaeology scan"
|
|
212
|
+
bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "excavating" "Pre-build archaeology scan" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 15
|
|
212
213
|
```
|
|
213
214
|
|
|
214
215
|
Display:
|
|
@@ -257,9 +258,10 @@ CONSTRAINTS: (none)
|
|
|
257
258
|
|
|
258
259
|
**Wait for results** (blocking — use TaskOutput with `block: true`).
|
|
259
260
|
|
|
260
|
-
Log completion:
|
|
261
|
+
Log completion and update swarm display:
|
|
261
262
|
```bash
|
|
262
263
|
bash .aether/aether-utils.sh spawn-complete "{archaeologist_name}" "completed" "Pre-build archaeology scan"
|
|
264
|
+
bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "completed" "Pre-build archaeology scan" "Queen" '{"read":8,"grep":5,"edit":0,"bash":2}' 100 "fungus_garden" 100
|
|
263
265
|
```
|
|
264
266
|
|
|
265
267
|
3. **Store and display findings:**
|
|
@@ -425,9 +427,12 @@ DO NOT spawn for work you can complete in < 10 tool calls.
|
|
|
425
427
|
Before spawning:
|
|
426
428
|
1. Check: bash .aether/aether-utils.sh spawn-can-spawn {depth}
|
|
427
429
|
2. Generate name: bash .aether/aether-utils.sh generate-ant-name "{caste}"
|
|
428
|
-
3. Log: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
429
|
-
4.
|
|
430
|
-
5.
|
|
430
|
+
3. Log spawn: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
431
|
+
4. Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "excavating" "{task}" "{your_name}" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 10
|
|
432
|
+
5. Use Task tool with subagent_type="general"
|
|
433
|
+
6. After completion:
|
|
434
|
+
- Log completion: bash .aether/aether-utils.sh spawn-complete "{child_name}" "{status}" "{summary}"
|
|
435
|
+
- Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "completed" "{task}" "{your_name}" '{"read":5,"grep":3,"edit":2,"bash":1}' 100 "fungus_garden" 100
|
|
431
436
|
|
|
432
437
|
Full spawn format: .aether/workers.md section "Spawning Sub-Workers"
|
|
433
438
|
|
|
@@ -549,7 +554,9 @@ You are at depth {depth}. You MAY spawn sub-workers for:
|
|
|
549
554
|
Spawn limits: Depth 1→4, Depth 2→2, Depth 3→0
|
|
550
555
|
|
|
551
556
|
Before spawning:
|
|
552
|
-
bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
557
|
+
1. Log spawn: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
558
|
+
2. Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "observing" "{task}" "{your_name}" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 50
|
|
559
|
+
3. After completion: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "completed" "{task}" "{your_name}" '{"read":3,"grep":2,"edit":0,"bash":0}' 100 "nursery" 100
|
|
553
560
|
|
|
554
561
|
--- CRITICAL ---
|
|
555
562
|
- You did NOT build this code — verify it objectively
|
|
@@ -218,6 +218,7 @@ CONSTRAINTS: (none)
|
|
|
218
218
|
```bash
|
|
219
219
|
bash .aether/aether-utils.sh generate-ant-name "archaeologist"
|
|
220
220
|
bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{archaeologist_name}" "Pre-build archaeology scan"
|
|
221
|
+
bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "excavating" "Pre-build archaeology scan" "Queen" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 15
|
|
221
222
|
```
|
|
222
223
|
|
|
223
224
|
Display:
|
|
@@ -259,9 +260,10 @@ CONSTRAINTS: (none)
|
|
|
259
260
|
|
|
260
261
|
**Wait for results** (blocking — use TaskOutput with `block: true`).
|
|
261
262
|
|
|
262
|
-
Log completion:
|
|
263
|
+
Log completion and update swarm display:
|
|
263
264
|
```bash
|
|
264
265
|
bash .aether/aether-utils.sh spawn-complete "{archaeologist_name}" "completed" "Pre-build archaeology scan"
|
|
266
|
+
bash .aether/aether-utils.sh swarm-display-update "{archaeologist_name}" "scout" "completed" "Pre-build archaeology scan" "Queen" '{"read":8,"grep":5,"edit":0,"bash":2}' 100 "fungus_garden" 100
|
|
265
267
|
```
|
|
266
268
|
|
|
267
269
|
3. **Store and display findings:**
|
|
@@ -425,9 +427,12 @@ DO NOT spawn for work you can complete in < 10 tool calls.
|
|
|
425
427
|
Before spawning:
|
|
426
428
|
1. Check: bash .aether/aether-utils.sh spawn-can-spawn {depth}
|
|
427
429
|
2. Generate name: bash .aether/aether-utils.sh generate-ant-name "{caste}"
|
|
428
|
-
3. Log: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
429
|
-
4.
|
|
430
|
-
5.
|
|
430
|
+
3. Log spawn: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
431
|
+
4. Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "excavating" "{task}" "{your_name}" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 10
|
|
432
|
+
5. Use Task tool with subagent_type="general"
|
|
433
|
+
6. After completion:
|
|
434
|
+
- Log completion: bash .aether/aether-utils.sh spawn-complete "{child_name}" "{status}" "{summary}"
|
|
435
|
+
- Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "completed" "{task}" "{your_name}" '{"read":5,"grep":3,"edit":2,"bash":1}' 100 "fungus_garden" 100
|
|
431
436
|
|
|
432
437
|
Full spawn format: .aether/workers.md section "Spawning Sub-Workers"
|
|
433
438
|
|
|
@@ -538,7 +543,9 @@ You are at depth {depth}. You MAY spawn sub-workers for:
|
|
|
538
543
|
Spawn limits: Depth 1→4, Depth 2→2, Depth 3→0
|
|
539
544
|
|
|
540
545
|
Before spawning:
|
|
541
|
-
bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
546
|
+
1. Log spawn: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
547
|
+
2. Update swarm display: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "observing" "{task}" "{your_name}" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 50
|
|
548
|
+
3. After completion: bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{caste}" "completed" "{task}" "{your_name}" '{"read":3,"grep":2,"edit":0,"bash":0}' 100 "nursery" 100
|
|
542
549
|
|
|
543
550
|
--- CRITICAL ---
|
|
544
551
|
- You did NOT build this code — verify it objectively
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ All notable changes to the Aether Colony project will be documented in this file
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.1.4] - 2026-02-15
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Archaeologist Visualization** — Added swarm display integration for the Archaeologist scout (Step 4.5). The archaeologist now appears in the visual display with proper emoji (🏺), progress tracking (15% → 100%), and tool usage stats when spawned during pre-build scans. (`.claude/commands/ant/build.md`, `.opencode/commands/ant/build.md`)
|
|
12
|
+
|
|
13
|
+
## [3.1.3] - 2026-02-15
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- **Nested Spawn Visualization** — When builders or watchers spawn sub-workers, the swarm display now updates to show those nested spawns with colors and emojis. Added `swarm-display-update` calls to workers.md spawn protocol (Step 3 and Step 5), builder prompts, and watcher prompts. (`.aether/workers.md`, `.claude/commands/ant/build.md`, `.opencode/commands/ant/build.md`)
|
|
17
|
+
|
|
8
18
|
## [3.1.2] - 2026-02-15
|
|
9
19
|
|
|
10
20
|
### Fixed
|
package/package.json
CHANGED
package/runtime/workers.md
CHANGED
|
@@ -50,103 +50,42 @@ bash .aether/aether-utils.sh spawn-complete "Hammer-42" "completed" "auth module
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
-
## Model-
|
|
53
|
+
## Model Selection (Session-Level)
|
|
54
54
|
|
|
55
|
-
Aether
|
|
55
|
+
Aether can work with different AI models through a LiteLLM proxy, but **model selection happens at the session level**, not per-worker.
|
|
56
56
|
|
|
57
57
|
### How It Works
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
2. **Prompt Context**: Queen includes model assignment in worker's prompt via `--- MODEL CONTEXT ---` section
|
|
61
|
-
3. **Worker Self-Reporting**: Workers echo their assigned model in JSON output for verification
|
|
62
|
-
4. **Proxy Routing** (Optional): With LiteLLM proxy running, set `ANTHROPIC_MODEL` in parent shell for true model routing
|
|
59
|
+
Claude Code's Task tool does not support passing environment variables to spawned workers. All workers inherit the parent session's model configuration.
|
|
63
60
|
|
|
64
|
-
###
|
|
65
|
-
|
|
66
|
-
| Caste | Model | Purpose |
|
|
67
|
-
|-------|-------|---------|
|
|
68
|
-
| prime | glm-5 | Long-horizon coordination, strategic planning (200K context) |
|
|
69
|
-
| archaeologist | glm-5 | Historical pattern analysis across long timeframes |
|
|
70
|
-
| architect | glm-5 | Pattern synthesis, documentation coordination (200K context) |
|
|
71
|
-
| oracle | minimax-2.5 | Research, foresight, browse/search (76.3% BrowseComp) |
|
|
72
|
-
| route_setter | kimi-k2.5 | Task decomposition, structured planning (256K context) |
|
|
73
|
-
| builder | kimi-k2.5 | Code generation, refactoring (76.8% SWE-Bench) |
|
|
74
|
-
| watcher | kimi-k2.5 | Validation, testing, verification |
|
|
75
|
-
| scout | minimax-2.5| Research exploration, parallel sub-agent spawning |
|
|
76
|
-
| chaos | kimi-k2.5 | Edge case probing, resilience testing |
|
|
77
|
-
| colonizer | minimax-2.5| Environment setup, visual coding from screenshots |
|
|
78
|
-
|
|
79
|
-
### Worker Model Self-Reporting
|
|
80
|
-
|
|
81
|
-
All workers must include model context in their JSON output:
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"status": "completed",
|
|
86
|
-
"summary": "...",
|
|
87
|
-
"model_context": {
|
|
88
|
-
"assigned": "kimi-k2.5",
|
|
89
|
-
"caste": "builder",
|
|
90
|
-
"source": "caste-default",
|
|
91
|
-
"reported_at": "2026-02-15T10:30:00Z"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
This enables:
|
|
97
|
-
- **Visibility**: See which model each worker used
|
|
98
|
-
- **Verification**: Confirm routing is working correctly
|
|
99
|
-
- **Debugging**: Detect mismatches between expected and actual
|
|
100
|
-
|
|
101
|
-
### LiteLLM Proxy Integration (Optional)
|
|
102
|
-
|
|
103
|
-
For true model routing through LiteLLM:
|
|
61
|
+
### To Use a Specific Model
|
|
104
62
|
|
|
105
63
|
```bash
|
|
106
|
-
# 1. Start proxy
|
|
107
|
-
litellm
|
|
64
|
+
# 1. Start LiteLLM proxy (if using)
|
|
65
|
+
cd ~/repos/litellm-proxy && docker-compose up -d
|
|
108
66
|
|
|
109
|
-
# 2.
|
|
67
|
+
# 2. Set environment variables before starting Claude Code:
|
|
110
68
|
export ANTHROPIC_BASE_URL=http://localhost:4000
|
|
111
69
|
export ANTHROPIC_AUTH_TOKEN=sk-litellm-local
|
|
112
|
-
export ANTHROPIC_MODEL=kimi-k2.5 #
|
|
70
|
+
export ANTHROPIC_MODEL=kimi-k2.5 # or glm-5, minimax-2.5
|
|
113
71
|
|
|
114
|
-
# 3. Start Claude Code
|
|
72
|
+
# 3. Start Claude Code
|
|
115
73
|
claude
|
|
116
74
|
```
|
|
117
75
|
|
|
118
|
-
|
|
119
|
-
so proxy routing relies on parent shell inheritance. The self-reporting approach works
|
|
120
|
-
regardless of proxy status.
|
|
121
|
-
|
|
122
|
-
### Available Models
|
|
123
|
-
|
|
124
|
-
- **glm-5** (via Z_AI): Powerful reasoning for complex tasks, architecture, planning
|
|
125
|
-
- **kimi-k2.5** (via Kimi): Fast code generation, refactoring, implementation
|
|
126
|
-
- **minimax-2.5** (via MiniMax): Efficient validation, research, lightweight tasks
|
|
127
|
-
|
|
128
|
-
### Fallback Behavior
|
|
129
|
-
|
|
130
|
-
If the model profile is missing or a caste is not mapped:
|
|
131
|
-
- Default to `kimi-k2.5` (fastest, most cost-effective)
|
|
132
|
-
- Log a warning to the activity log
|
|
133
|
-
- Continue with worker spawn
|
|
134
|
-
|
|
135
|
-
### Sub-Worker Spawning
|
|
76
|
+
### Available Models (via LiteLLM)
|
|
136
77
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
78
|
+
| Model | Best For | Provider |
|
|
79
|
+
|-------|----------|----------|
|
|
80
|
+
| glm-5 | Complex reasoning, architecture, planning | Z_AI |
|
|
81
|
+
| kimi-k2.5 | Fast coding, implementation | Moonshot |
|
|
82
|
+
| minimax-2.5 | Validation, research, exploration | MiniMax |
|
|
141
83
|
|
|
142
|
-
###
|
|
84
|
+
### Historical Note
|
|
143
85
|
|
|
144
|
-
|
|
145
|
-
- Which model they are running on
|
|
146
|
-
- The model's strengths and optimal use cases
|
|
147
|
-
- Expected task complexity
|
|
86
|
+
A model-per-caste routing system was designed and implemented (archived in `.aether/archive/model-routing/`) but cannot function due to Claude Code Task tool limitations. The archive is preserved for future use if the platform adds environment variable support for subagents.
|
|
148
87
|
|
|
149
|
-
|
|
88
|
+
See: `git show model-routing-v1-archived` for the complete configuration.
|
|
150
89
|
|
|
151
90
|
---
|
|
152
91
|
|
|
@@ -371,9 +310,10 @@ child_name=$(bash .aether/aether-utils.sh generate-ant-name "{caste}" | jq -r '.
|
|
|
371
310
|
# Returns: "Hammer-42", "Vigil-17", etc.
|
|
372
311
|
```
|
|
373
312
|
|
|
374
|
-
**Step 3: Log the spawn**
|
|
313
|
+
**Step 3: Log the spawn and update swarm display**
|
|
375
314
|
```bash
|
|
376
315
|
bash .aether/aether-utils.sh spawn-log "{your_name}" "{child_caste}" "{child_name}" "{task_summary}"
|
|
316
|
+
bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{child_caste}" "excavating" "{task_summary}" "{your_name}" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 10
|
|
377
317
|
```
|
|
378
318
|
|
|
379
319
|
**Step 4: Use Task tool**
|
|
@@ -416,10 +356,11 @@ Return a compressed summary:
|
|
|
416
356
|
}
|
|
417
357
|
```
|
|
418
358
|
|
|
419
|
-
**Step 5: Log completion**
|
|
359
|
+
**Step 5: Log completion and update swarm display**
|
|
420
360
|
```bash
|
|
421
361
|
# After Task tool returns
|
|
422
362
|
bash .aether/aether-utils.sh spawn-complete "{child_name}" "{status}" "{summary}"
|
|
363
|
+
bash .aether/aether-utils.sh swarm-display-update "{child_name}" "{child_caste}" "completed" "{summary}" "{your_name}" '{"read":5,"grep":3,"edit":2,"bash":1}' 100 "fungus_garden" 100
|
|
423
364
|
```
|
|
424
365
|
|
|
425
366
|
---
|