aether-colony 3.1.0 → 3.1.1
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/visualizations/anthill-stages/brood-stable.txt +26 -0
- package/.aether/visualizations/anthill-stages/crowned-anthill.txt +30 -0
- package/.aether/visualizations/anthill-stages/first-mound.txt +18 -0
- package/.aether/visualizations/anthill-stages/open-chambers.txt +24 -0
- package/.aether/visualizations/anthill-stages/sealed-chambers.txt +28 -0
- package/.aether/visualizations/anthill-stages/ventilated-nest.txt +27 -0
- package/.claude/commands/ant/build.md +38 -60
- package/.claude/commands/ant/continue.md +3 -3
- package/.claude/commands/ant/organize.md +1 -1
- package/.claude/commands/ant/pause-colony.md +2 -2
- package/.claude/commands/ant/plan.md +5 -5
- package/.claude/commands/ant/resume-colony.md +2 -13
- package/.claude/commands/ant/status.md +4 -4
- package/.claude/commands/ant/verify-castes.md +59 -69
- package/.opencode/commands/ant/ant:build.md +982 -0
- package/.opencode/commands/ant/ant:verify-castes.md +157 -0
- package/.opencode/commands/ant/build.md +4 -4
- package/.opencode/commands/ant/organize.md +1 -1
- package/.opencode/commands/ant/plan.md +2 -2
- package/CHANGELOG.md +10 -0
- package/README.md +214 -255
- package/bin/cli.js +21 -5
- package/bin/lib/model-profiles.js +32 -1
- package/bin/lib/update-transaction.js +8 -0
- package/package.json +2 -1
- package/runtime/workers.md +147 -3
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.-.
|
|
2
|
+
(o o)
|
|
3
|
+
| O |
|
|
4
|
+
`-`
|
|
5
|
+
🥚 🥚 🥚 🥚
|
|
6
|
+
. . . .
|
|
7
|
+
/|\ /|\ /|\ /|\
|
|
8
|
+
/ | \ / | \ / | \ / | \
|
|
9
|
+
/ | \/ | \/ | \/ | \
|
|
10
|
+
/ | /\ | /\ | /\ | \
|
|
11
|
+
/____|__/___\|___/___\|___/___\|____\
|
|
12
|
+
/ o / o \ o / o \ o \
|
|
13
|
+
/______/_______\_____/_______\_______\
|
|
14
|
+
/_______________________________________\
|
|
15
|
+
/_________________________________________\
|
|
16
|
+
/___________________________________________\
|
|
17
|
+
/_____________________________________________\
|
|
18
|
+
/_______________________________________________\
|
|
19
|
+
|
|
20
|
+
🐜🐜🐜 Brood chamber thriving...
|
|
21
|
+
New life stirs in the nursery,
|
|
22
|
+
the colony's future secured.
|
|
23
|
+
|
|
24
|
+
Milestone: Brood Stable
|
|
25
|
+
Phases: 4-6 completed
|
|
26
|
+
Colony Age: Established
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
👑
|
|
2
|
+
.-.
|
|
3
|
+
(o o)
|
|
4
|
+
| O |
|
|
5
|
+
`-`
|
|
6
|
+
✨ ✨ ✨
|
|
7
|
+
🥚 🥚 🥚 🥚 🥚 🥚 🥚 🥚 🥚
|
|
8
|
+
. . . . . . . .
|
|
9
|
+
/|\ /|\ /|\ /|\ /|\ /|\ /|\ /|\
|
|
10
|
+
/ | \ / | \ / | \ / | \ / | \ / | \ / | \ / | \
|
|
11
|
+
/ | \/ | \/ | \/ | \/ | \/ | \/ | \/ | \/ | \
|
|
12
|
+
/ | /\ | /\ | /\ | /\ | /\ | /\ | /\ | /\ | \
|
|
13
|
+
\___|___/___\|___/___\|___/___\|___/___\|___/___\|___/___\|___/___\|___/___/
|
|
14
|
+
\ o / o \ o / o \ o / o \ o / o /
|
|
15
|
+
\____/_______\_____/_______\_____/_______\_____/_______/
|
|
16
|
+
\_______________________________________________________/
|
|
17
|
+
\_______________________________________________________\
|
|
18
|
+
\_______________________________________________________\
|
|
19
|
+
\_______________________________________________________\
|
|
20
|
+
\_______________________________________________________\
|
|
21
|
+
\_______________________________________________________\
|
|
22
|
+
\_______________________________________________________\
|
|
23
|
+
|
|
24
|
+
🐜🐜🐜🐜🐜🐜 The Crowned Anthill!
|
|
25
|
+
A monument to collective effort,
|
|
26
|
+
the colony stands supreme.
|
|
27
|
+
|
|
28
|
+
Milestone: Crowned Anthill
|
|
29
|
+
Phases: 15+ completed
|
|
30
|
+
Colony Age: Legendary
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
. .
|
|
2
|
+
/|\ /|\
|
|
3
|
+
/ | \ / | \
|
|
4
|
+
/ | \/ | \
|
|
5
|
+
/ | /\ | \
|
|
6
|
+
/____|__/___\|____\
|
|
7
|
+
/ / \ \
|
|
8
|
+
/______/_______\______\
|
|
9
|
+
/________________________\
|
|
10
|
+
/__________________________\
|
|
11
|
+
|
|
12
|
+
🐜 A humble beginning...
|
|
13
|
+
Just a small mound of earth,
|
|
14
|
+
but full of potential.
|
|
15
|
+
|
|
16
|
+
Milestone: First Mound
|
|
17
|
+
Phases: 0 completed
|
|
18
|
+
Colony Age: Newborn
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.-.
|
|
2
|
+
(o o)
|
|
3
|
+
| O |
|
|
4
|
+
`-`
|
|
5
|
+
. . .
|
|
6
|
+
/|\ /|\ /|\
|
|
7
|
+
/ | \ / | \ / | \
|
|
8
|
+
/ | \/ | \/ | \
|
|
9
|
+
/ | /\ | /\ | \
|
|
10
|
+
/____|__/___\|___/___\|____\
|
|
11
|
+
/ o / o \ o / o \
|
|
12
|
+
/______/_______\_____/_______\
|
|
13
|
+
/_______________________________\
|
|
14
|
+
/_________________________________\
|
|
15
|
+
/___________________________________\
|
|
16
|
+
/_____________________________________\
|
|
17
|
+
|
|
18
|
+
🐜🐜 Tunnels open...
|
|
19
|
+
The colony expands its reach,
|
|
20
|
+
chambers forming beneath the earth.
|
|
21
|
+
|
|
22
|
+
Milestone: Open Chambers
|
|
23
|
+
Phases: 1-3 completed
|
|
24
|
+
Colony Age: Growing
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.-.
|
|
2
|
+
(o o)
|
|
3
|
+
| O |
|
|
4
|
+
`-`
|
|
5
|
+
🔒 🔒
|
|
6
|
+
🥚 🥚 🥚 🥚 🥚 🥚 🥚
|
|
7
|
+
. . . . . . .
|
|
8
|
+
/|\ /|\ /|\ /|\ /|\ /|\ /|\
|
|
9
|
+
/ | \ / | \ / | \ / | \ / | \ / | \ / | \
|
|
10
|
+
/ | \/ | \/ | \/ | \/ | \/ | \/ | \
|
|
11
|
+
/ | /\ | /\ | /\ | /\ | /\ | /\ | \
|
|
12
|
+
\___|___/___\|___/___\|___/___\|___/___\|___/___\|___/___/
|
|
13
|
+
\ o / o \ o / o \ o / o \ o /
|
|
14
|
+
\____/_______\_____/_______\_____/_______\_____/
|
|
15
|
+
\_______________________________________________/
|
|
16
|
+
\_______________________________________________\
|
|
17
|
+
\_______________________________________________\
|
|
18
|
+
\_______________________________________________\
|
|
19
|
+
\_______________________________________________\
|
|
20
|
+
\_______________________________________________\
|
|
21
|
+
|
|
22
|
+
🐜🐜🐜🐜🐜 Chambers sealed...
|
|
23
|
+
Fortified against the outside world,
|
|
24
|
+
treasures protected, secrets kept.
|
|
25
|
+
|
|
26
|
+
Milestone: Sealed Chambers
|
|
27
|
+
Phases: 11-14 completed
|
|
28
|
+
Colony Age: Seasoned
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.-.
|
|
2
|
+
(o o)
|
|
3
|
+
| O |
|
|
4
|
+
`-`
|
|
5
|
+
🌬️ 🌬️
|
|
6
|
+
🥚 🥚 🥚 🥚 🥚 🥚
|
|
7
|
+
. . . . . .
|
|
8
|
+
/|\ /|\ /|\ /|\ /|\ /|\
|
|
9
|
+
/ | \ / | \ / | \ / | \ / | \ / | \
|
|
10
|
+
/ | \/ | \/ | \/ | \/ | \/ | \
|
|
11
|
+
/ | /\ | /\ | /\ | /\ | /\ | \
|
|
12
|
+
\___|___/___\|___/___\|___/___\|___/___\|___/___/
|
|
13
|
+
\ o / o \ o / o \ o / o /
|
|
14
|
+
\____/_______\_____/_______\_____/_______/
|
|
15
|
+
\_________________________________________/
|
|
16
|
+
\_________________________________________\
|
|
17
|
+
\_________________________________________\
|
|
18
|
+
\_________________________________________\
|
|
19
|
+
\_________________________________________\
|
|
20
|
+
|
|
21
|
+
🐜🐜🐜🐜 Air flows through...
|
|
22
|
+
Complex passages ventilate the nest,
|
|
23
|
+
workers move with purpose and speed.
|
|
24
|
+
|
|
25
|
+
Milestone: Ventilated Nest
|
|
26
|
+
Phases: 7-10 completed
|
|
27
|
+
Colony Age: Mature
|
|
@@ -217,7 +217,7 @@ CONSTRAINTS: (none)
|
|
|
217
217
|
Scanning history of files to be modified...
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
Spawn a Scout (using Task tool with `subagent_type="general
|
|
220
|
+
Spawn a Scout (using Task tool with `subagent_type="general"`) with this prompt:
|
|
221
221
|
|
|
222
222
|
```
|
|
223
223
|
You are {Archaeologist-Name}, a 🏺 Archaeologist Ant (Scout) in the Aether Colony.
|
|
@@ -236,6 +236,10 @@ CONSTRAINTS: (none)
|
|
|
236
236
|
4. Run: git blame "{file_path}" | head -40 to see authorship of key sections
|
|
237
237
|
5. Note any TODO/FIXME/HACK markers in the current code
|
|
238
238
|
|
|
239
|
+
--- MODEL CONTEXT ---
|
|
240
|
+
Assigned model: {model} (from caste: archaeologist)
|
|
241
|
+
This ant is running as: {Ant-Name} (archaeologist caste)
|
|
242
|
+
|
|
239
243
|
--- OUTPUT ---
|
|
240
244
|
For each file, report:
|
|
241
245
|
- WHY key code sections exist (from commit messages)
|
|
@@ -244,6 +248,9 @@ CONSTRAINTS: (none)
|
|
|
244
248
|
- Areas of caution (high churn, reverted changes, emergency fixes)
|
|
245
249
|
- Sections that are stable bedrock vs volatile sand
|
|
246
250
|
|
|
251
|
+
Include in your header:
|
|
252
|
+
Model: {model} | Caste: archaeologist | Ant: {Ant-Name}
|
|
253
|
+
|
|
247
254
|
Keep the report concise and actionable — builders need quick context, not a thesis.
|
|
248
255
|
Format as plain text with file headers. No JSON output needed.
|
|
249
256
|
```
|
|
@@ -321,56 +328,13 @@ Total: {N} Builders + 1 Watcher + 1 Chaos = {N+2} spawns
|
|
|
321
328
|
|
|
322
329
|
**CRITICAL: Spawn ALL Wave 1 workers in a SINGLE message using multiple Task tool calls.**
|
|
323
330
|
|
|
324
|
-
For each Wave 1 task, use Task tool with `subagent_type="general
|
|
331
|
+
For each Wave 1 task, use Task tool with `subagent_type="general"` and `run_in_background: true`:
|
|
325
332
|
|
|
326
333
|
Log each spawn:
|
|
327
334
|
```bash
|
|
328
335
|
bash .aether/aether-utils.sh spawn-log "Queen" "builder" "{ant_name}" "{task_description}"
|
|
329
336
|
```
|
|
330
337
|
|
|
331
|
-
**Model Assignment:**
|
|
332
|
-
|
|
333
|
-
Before spawning each worker, get the optimal model for their caste with task-based routing:
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
# Get model assignment for this caste with task-based routing
|
|
337
|
-
model_info=$(bash .aether/aether-utils.sh model-profile select "{caste}" "{task_description}" "{cli_model_override}")
|
|
338
|
-
model=$(echo "$model_info" | jq -r '.result.model')
|
|
339
|
-
source=$(echo "$model_info" | jq -r '.result.source')
|
|
340
|
-
|
|
341
|
-
# Log model assignment with source
|
|
342
|
-
bash .aether/aether-utils.sh activity-log "MODEL" "Queen" "{ant_name} ({caste}): assigned to $model (source: $source)"
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
**Environment Setup for Workers:**
|
|
346
|
-
|
|
347
|
-
When spawning workers, the following environment variables must be set for Claude Code to use the LiteLLM proxy with the correct model:
|
|
348
|
-
|
|
349
|
-
```bash
|
|
350
|
-
export ANTHROPIC_BASE_URL="http://localhost:4000"
|
|
351
|
-
export ANTHROPIC_AUTH_TOKEN="sk-litellm-local"
|
|
352
|
-
export ANTHROPIC_MODEL="$model" # From model-profile get above
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
**IMPORTANT:** The Task tool inherits environment from the parent Claude Code process. Set these variables in the shell before spawning workers, or ensure they are already set in the parent environment.
|
|
356
|
-
|
|
357
|
-
### Step 5.1.5: Export Model Environment
|
|
358
|
-
|
|
359
|
-
Before spawning workers, export the environment variables for LiteLLM proxy routing:
|
|
360
|
-
|
|
361
|
-
```bash
|
|
362
|
-
export ANTHROPIC_BASE_URL="http://localhost:4000"
|
|
363
|
-
export ANTHROPIC_AUTH_TOKEN="sk-litellm-local"
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
For each worker spawn, also export their specific model:
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
export ANTHROPIC_MODEL="$model" # From model-profile get
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
**Note:** These environment variables will be inherited by spawned workers via the Task tool, enabling automatic model routing through the LiteLLM proxy.
|
|
373
|
-
|
|
374
338
|
**Builder Worker Prompt Template:**
|
|
375
339
|
```
|
|
376
340
|
You are {Ant-Name}, a 🔨 Builder Ant in the Aether Colony at depth {depth}.
|
|
@@ -378,16 +342,6 @@ You are {Ant-Name}, a 🔨 Builder Ant in the Aether Colony at depth {depth}.
|
|
|
378
342
|
--- YOUR TASK ---
|
|
379
343
|
Task {id}: {description}
|
|
380
344
|
|
|
381
|
-
--- MODEL CONTEXT ---
|
|
382
|
-
Optimal model for this task: {model} (from caste: {caste})
|
|
383
|
-
Model characteristics: {model_description}
|
|
384
|
-
Task complexity expectation: {simple|medium|complex}
|
|
385
|
-
|
|
386
|
-
The model has been pre-selected based on your caste's typical work patterns.
|
|
387
|
-
- glm-5: Use for complex reasoning, architecture, planning
|
|
388
|
-
- kimi-k2.5: Use for fast implementation, coding, refactoring
|
|
389
|
-
- minimax-2.5: Use for validation, research, quick checks
|
|
390
|
-
|
|
391
345
|
--- CONTEXT ---
|
|
392
346
|
Goal: "{colony_goal}"
|
|
393
347
|
Phase: {phase_name}
|
|
@@ -449,7 +403,7 @@ Before spawning:
|
|
|
449
403
|
1. Check: bash .aether/aether-utils.sh spawn-can-spawn {depth}
|
|
450
404
|
2. Generate name: bash .aether/aether-utils.sh generate-ant-name "{caste}"
|
|
451
405
|
3. Log: bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
452
|
-
4. Use Task tool with subagent_type="general
|
|
406
|
+
4. Use Task tool with subagent_type="general"
|
|
453
407
|
5. After completion: bash .aether/aether-utils.sh spawn-complete "{child_name}" "{status}" "{summary}"
|
|
454
408
|
|
|
455
409
|
Full spawn format: .aether/workers.md section "Spawning Sub-Workers"
|
|
@@ -465,7 +419,13 @@ Return JSON:
|
|
|
465
419
|
"files_modified": [],
|
|
466
420
|
"tests_written": [],
|
|
467
421
|
"blockers": [],
|
|
468
|
-
"spawns": []
|
|
422
|
+
"spawns": [],
|
|
423
|
+
"model_context": {
|
|
424
|
+
"assigned": "{model}",
|
|
425
|
+
"caste": "builder",
|
|
426
|
+
"source": "caste-default",
|
|
427
|
+
"reported_at": "ISO-8601 timestamp"
|
|
428
|
+
}
|
|
469
429
|
}
|
|
470
430
|
```
|
|
471
431
|
|
|
@@ -588,7 +548,13 @@ Return JSON:
|
|
|
588
548
|
"issues_found": [],
|
|
589
549
|
"quality_score": N,
|
|
590
550
|
"recommendation": "proceed" | "fix_required",
|
|
591
|
-
"spawns": []
|
|
551
|
+
"spawns": [],
|
|
552
|
+
"model_context": {
|
|
553
|
+
"assigned": "{model}",
|
|
554
|
+
"caste": "watcher",
|
|
555
|
+
"source": "caste-default",
|
|
556
|
+
"reported_at": "ISO-8601 timestamp"
|
|
557
|
+
}
|
|
592
558
|
}
|
|
593
559
|
```
|
|
594
560
|
|
|
@@ -619,7 +585,7 @@ bash .aether/aether-utils.sh flag-list --phase {phase_number}
|
|
|
619
585
|
```
|
|
620
586
|
Parse the result and extract unresolved flag titles into a list: `{existing_flag_titles}` (comma-separated titles from `.result.flags[].title`). If no flags exist, set `{existing_flag_titles}` to "None".
|
|
621
587
|
|
|
622
|
-
Spawn the Chaos Ant using Task tool with `subagent_type="general
|
|
588
|
+
Spawn the Chaos Ant using Task tool with `subagent_type="general"`:
|
|
623
589
|
|
|
624
590
|
**Chaos Ant Prompt:**
|
|
625
591
|
```
|
|
@@ -666,7 +632,13 @@ Return JSON:
|
|
|
666
632
|
}
|
|
667
633
|
],
|
|
668
634
|
"overall_resilience": "strong|moderate|weak",
|
|
669
|
-
"summary": "..."
|
|
635
|
+
"summary": "...",
|
|
636
|
+
"model_context": {
|
|
637
|
+
"assigned": "{model}",
|
|
638
|
+
"caste": "chaos",
|
|
639
|
+
"source": "caste-default",
|
|
640
|
+
"reported_at": "ISO-8601 timestamp"
|
|
641
|
+
}
|
|
670
642
|
}
|
|
671
643
|
```
|
|
672
644
|
|
|
@@ -930,6 +902,12 @@ Display build summary based on synthesis results AND `verbose_mode` from Step 1:
|
|
|
930
902
|
🔧 Debugging: {debugging.issues_resolved}/{debugging.issues_encountered} resolved
|
|
931
903
|
{end if}
|
|
932
904
|
|
|
905
|
+
🤖 Model Routing:
|
|
906
|
+
{for each spawn in spawn_tree where model_context exists:}
|
|
907
|
+
{caste_emoji}{ant_name}: {model_context.assigned} {if model_context.assigned matches caste expectation:}✓{else}⚠️{end if}
|
|
908
|
+
{end for}
|
|
909
|
+
Proxy: {if proxy_healthy:}✓ Healthy @ http://localhost:4000{else}✗ Not running (using default model){end if}
|
|
910
|
+
|
|
933
911
|
🐜 Next Steps:
|
|
934
912
|
{if synthesis.status == "completed" AND verification.recommendation == "proceed":}
|
|
935
913
|
/ant:continue ➡️ Advance to next phase
|
|
@@ -42,10 +42,10 @@ If successful and goal is not null:
|
|
|
42
42
|
🔄 Resuming: Phase X - Name
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
If HANDOFF.md exists (detected in load-state output):
|
|
45
|
+
If .aether/HANDOFF.md exists (detected in load-state output):
|
|
46
46
|
- Display "Resuming from paused session"
|
|
47
|
-
- Read HANDOFF.md for additional context
|
|
48
|
-
- Remove HANDOFF.md after display (cleanup)
|
|
47
|
+
- Read .aether/HANDOFF.md for additional context
|
|
48
|
+
- Remove .aether/HANDOFF.md after display (cleanup)
|
|
49
49
|
|
|
50
50
|
Run: `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
51
51
|
|
|
@@ -48,7 +48,7 @@ If no active signals after filtering:
|
|
|
48
48
|
|
|
49
49
|
Read `.aether/workers.md` and extract the `## Architect` section.
|
|
50
50
|
|
|
51
|
-
Spawn via **Task tool** with `subagent_type="general
|
|
51
|
+
Spawn via **Task tool** with `subagent_type="general"`:
|
|
52
52
|
|
|
53
53
|
```
|
|
54
54
|
--- WORKER SPEC ---
|
|
@@ -69,7 +69,7 @@ Run `/ant:resume-colony` in a new session.
|
|
|
69
69
|
<what should happen next>
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
### Step 4.
|
|
72
|
+
### Step 4.5: Set Paused Flag in State
|
|
73
73
|
|
|
74
74
|
Use Read tool to get current COLONY_STATE.json.
|
|
75
75
|
|
|
@@ -80,7 +80,7 @@ Use Write tool to update COLONY_STATE.json with paused flag:
|
|
|
80
80
|
|
|
81
81
|
This flag indicates the colony is in a paused state and will be cleared on resume.
|
|
82
82
|
|
|
83
|
-
### Step 4.
|
|
83
|
+
### Step 4.6: Commit Suggestion (Optional)
|
|
84
84
|
|
|
85
85
|
**This step is non-blocking. Skipping does not affect the pause or any subsequent steps. Failure to commit has zero consequences.**
|
|
86
86
|
|
|
@@ -44,10 +44,10 @@ If successful and goal is not null:
|
|
|
44
44
|
🔄 Resuming: Phase X - Name
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
If HANDOFF.md exists (detected in load-state output):
|
|
47
|
+
If .aether/HANDOFF.md exists (detected in load-state output):
|
|
48
48
|
- Display "Resuming from paused session"
|
|
49
|
-
- Read HANDOFF.md for additional context
|
|
50
|
-
- Remove HANDOFF.md after display (cleanup)
|
|
49
|
+
- Read .aether/HANDOFF.md for additional context
|
|
50
|
+
- Remove .aether/HANDOFF.md after display (cleanup)
|
|
51
51
|
|
|
52
52
|
Run: `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
53
53
|
|
|
@@ -123,7 +123,7 @@ while iteration < 50 AND confidence < 95:
|
|
|
123
123
|
|
|
124
124
|
# === RESEARCH PHASE ===
|
|
125
125
|
|
|
126
|
-
Spawn Research Ant (Scout) via Task tool with subagent_type="general
|
|
126
|
+
Spawn Research Ant (Scout) via Task tool with subagent_type="general":
|
|
127
127
|
|
|
128
128
|
"""
|
|
129
129
|
You are a Scout Ant in the Aether Colony.
|
|
@@ -173,7 +173,7 @@ while iteration < 50 AND confidence < 95:
|
|
|
173
173
|
|
|
174
174
|
# === PLANNING PHASE ===
|
|
175
175
|
|
|
176
|
-
Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="general
|
|
176
|
+
Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="general":
|
|
177
177
|
|
|
178
178
|
"""
|
|
179
179
|
You are a Route-Setter Ant in the Aether Colony.
|
|
@@ -47,7 +47,7 @@ Output header:
|
|
|
47
47
|
═══════════════════════════════════════════════════ 🚦➡️🐜💨💨
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
Read the HANDOFF.md for context about what was happening, then display:
|
|
50
|
+
Read the .aether/HANDOFF.md for context about what was happening, then display:
|
|
51
51
|
|
|
52
52
|
```
|
|
53
53
|
+=====================================================+
|
|
@@ -67,23 +67,12 @@ ACTIVE PHEROMONES
|
|
|
67
67
|
|
|
68
68
|
If no active signals: (no active pheromones)
|
|
69
69
|
|
|
70
|
-
WORKERS
|
|
71
|
-
|
|
72
|
-
If ALL workers have "idle" status, display:
|
|
73
|
-
All 6 workers idle -- colony ready
|
|
74
|
-
|
|
75
|
-
Otherwise, group by status with caste name:
|
|
76
|
-
Active:
|
|
77
|
-
builder: currently executing
|
|
78
|
-
Idle:
|
|
79
|
-
colonizer route-setter watcher scout architect
|
|
80
|
-
|
|
81
70
|
PHASE PROGRESS
|
|
82
71
|
Phase <id>: <name> [<status>]
|
|
83
72
|
(list all phases from plan.phases)
|
|
84
73
|
|
|
85
74
|
CONTEXT FROM HANDOFF
|
|
86
|
-
<summarize what was happening from HANDOFF.md>
|
|
75
|
+
<summarize what was happening from .aether/HANDOFF.md>
|
|
87
76
|
|
|
88
77
|
NEXT ACTIONS
|
|
89
78
|
```
|
|
@@ -63,11 +63,11 @@ If successful and goal is not null:
|
|
|
63
63
|
Last activity: timestamp
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
5. Check for HANDOFF.md existence in the load-state output or via separate check
|
|
67
|
-
6. If HANDOFF.md exists:
|
|
66
|
+
5. Check for .aether/HANDOFF.md existence in the load-state output or via separate check
|
|
67
|
+
6. If .aether/HANDOFF.md exists:
|
|
68
68
|
- Display: "Resuming from paused session"
|
|
69
|
-
- Read HANDOFF.md content for additional context
|
|
70
|
-
- Remove HANDOFF.md after displaying (cleanup)
|
|
69
|
+
- Read .aether/HANDOFF.md content for additional context
|
|
70
|
+
- Remove .aether/HANDOFF.md after displaying (cleanup)
|
|
71
71
|
|
|
72
72
|
Run: `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
73
73
|
|
|
@@ -1,95 +1,85 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ant:verify-castes
|
|
3
|
-
description: "Verify
|
|
3
|
+
description: "Verify colony caste assignments and system status"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are the **Queen**.
|
|
6
|
+
You are the **Queen**. Display the caste assignments and system status.
|
|
7
7
|
|
|
8
|
-
## Step 1:
|
|
8
|
+
## Step 1: Show Caste Assignments
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Display the colony caste structure:
|
|
11
11
|
|
|
12
|
-
Capture the proxy status line. If proxy is unhealthy:
|
|
13
|
-
- Display warning about proxy not running
|
|
14
|
-
- Show instructions to start LiteLLM proxy
|
|
15
|
-
- Continue with verification anyway (will show failures)
|
|
16
|
-
|
|
17
|
-
## Step 2: Verify Each Caste Assignment
|
|
18
|
-
|
|
19
|
-
For each caste in [prime, builder, watcher, oracle, scout, chaos, architect, archaeologist, colonizer, route_setter]:
|
|
20
|
-
|
|
21
|
-
1. Get assigned model using the Bash tool:
|
|
22
|
-
```
|
|
23
|
-
node -e "const mp = require('./bin/lib/model-profiles'); const p = mp.loadModelProfiles('.'); console.log(mp.getEffectiveModel(p, 'CASTE').model)"
|
|
24
|
-
```
|
|
25
|
-
Replace CASTE with the actual caste name.
|
|
26
|
-
|
|
27
|
-
2. Verify model is not "default" (should be specific model from profiles)
|
|
28
|
-
3. Log result with checkmark or X
|
|
29
|
-
|
|
30
|
-
Display results in a table:
|
|
31
|
-
```
|
|
32
|
-
Caste Verification:
|
|
33
|
-
─────────────────────────────────────────
|
|
34
|
-
✓ prime: glm-5 (z_ai)
|
|
35
|
-
✓ builder: kimi-k2.5 (kimi)
|
|
36
|
-
✓ watcher: kimi-k2.5 (kimi)
|
|
37
|
-
...
|
|
38
12
|
```
|
|
13
|
+
Aether Colony Caste System
|
|
14
|
+
═══════════════════════════════════════════
|
|
39
15
|
|
|
40
|
-
|
|
16
|
+
CASTE ASSIGNMENTS
|
|
17
|
+
─────────────────
|
|
18
|
+
👑 Prime - Colony coordination and strategic planning
|
|
19
|
+
🏺 Archaeologist - Git history analysis and pattern excavation
|
|
20
|
+
🏛️ Architect - System design and documentation
|
|
21
|
+
🔮 Oracle - Deep research and foresight
|
|
22
|
+
🗺️ Route Setter - Task decomposition and planning
|
|
23
|
+
🔨 Builder - Implementation and coding
|
|
24
|
+
👁️ Watcher - Verification and testing
|
|
25
|
+
🔍 Scout - Research and exploration
|
|
26
|
+
🎲 Chaos - Edge case testing and resilience probing
|
|
27
|
+
🧭 Colonizer - Environment setup and exploration
|
|
28
|
+
|
|
29
|
+
───────────────────────────────────────────
|
|
30
|
+
```
|
|
41
31
|
|
|
42
|
-
|
|
32
|
+
## Step 2: Check System Status
|
|
43
33
|
|
|
44
|
-
|
|
45
|
-
- Reports which ANTHROPIC_MODEL it sees
|
|
46
|
-
- Reports ANTHROPIC_BASE_URL
|
|
47
|
-
- Exits successfully
|
|
34
|
+
Run using Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || echo "Utils available"`
|
|
48
35
|
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
console.log('ANTHROPIC_BASE_URL:', process.env.ANTHROPIC_BASE_URL || '(not set)');
|
|
53
|
-
process.exit(0);
|
|
36
|
+
Check LiteLLM proxy status:
|
|
37
|
+
```bash
|
|
38
|
+
curl -s http://localhost:4000/health 2>/dev/null | grep -q "healthy" && echo "✓ Proxy healthy" || echo "⚠ Proxy not running"
|
|
54
39
|
```
|
|
55
40
|
|
|
56
|
-
|
|
57
|
-
- Set ANTHROPIC_MODEL to the builder's assigned model
|
|
58
|
-
- Set ANTHROPIC_BASE_URL to the proxy endpoint
|
|
59
|
-
|
|
60
|
-
4. Capture output and verify:
|
|
61
|
-
- Model environment variable is set correctly
|
|
62
|
-
- Base URL points to proxy
|
|
41
|
+
## Step 3: Show Current Session Info
|
|
63
42
|
|
|
64
|
-
5. Display result:
|
|
65
43
|
```
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
44
|
+
SESSION INFORMATION
|
|
45
|
+
───────────────────
|
|
46
|
+
All workers in this session use the same model configuration.
|
|
47
|
+
To change models, restart Claude Code with different settings:
|
|
48
|
+
|
|
49
|
+
export ANTHROPIC_BASE_URL=http://localhost:4000
|
|
50
|
+
export ANTHROPIC_AUTH_TOKEN=sk-litellm-local
|
|
51
|
+
export ANTHROPIC_MODEL=<model-name>
|
|
52
|
+
claude
|
|
53
|
+
|
|
54
|
+
Available models (via LiteLLM proxy):
|
|
55
|
+
• glm-5 - Complex reasoning, architecture, planning
|
|
56
|
+
• kimi-k2.5 - Fast coding, implementation
|
|
57
|
+
• minimax-2.5 - Validation, research, exploration
|
|
70
58
|
```
|
|
71
59
|
|
|
72
|
-
## Step 4: Summary
|
|
60
|
+
## Step 4: Summary
|
|
73
61
|
|
|
74
|
-
Display final verification report:
|
|
75
62
|
```
|
|
76
63
|
═══════════════════════════════════════════
|
|
77
|
-
|
|
64
|
+
System Status
|
|
78
65
|
═══════════════════════════════════════════
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
66
|
+
Utils: ✓ Operational
|
|
67
|
+
Proxy: {status from Step 2}
|
|
68
|
+
Castes: 10 defined
|
|
69
|
+
|
|
70
|
+
Note: Model-per-caste routing was attempted but is not
|
|
71
|
+
possible with Claude Code's Task tool (no env var support).
|
|
72
|
+
See archived config: .aether/archive/model-routing/
|
|
73
|
+
Tag: model-routing-v1-archived
|
|
84
74
|
```
|
|
85
75
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
## Historical Note
|
|
77
|
+
|
|
78
|
+
A model-per-caste system was designed and implemented but cannot
|
|
79
|
+
function due to Claude Code Task tool limitations. The complete
|
|
80
|
+
configuration is archived in `.aether/archive/model-routing/`.
|
|
91
81
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
82
|
+
To view the archived configuration:
|
|
83
|
+
```bash
|
|
84
|
+
git show model-routing-v1-archived
|
|
95
85
|
```
|