aether-colony 5.3.2 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aether/aether-utils.sh +181 -5
- package/.aether/commands/archaeology.yaml +3 -3
- package/.aether/commands/build.yaml +80 -45
- package/.aether/commands/chaos.yaml +7 -7
- package/.aether/commands/colonize.yaml +17 -17
- package/.aether/commands/continue.yaml +40 -40
- package/.aether/commands/council.yaml +6 -6
- package/.aether/commands/data-clean.yaml +3 -3
- package/.aether/commands/dream.yaml +2 -2
- package/.aether/commands/entomb.yaml +12 -12
- package/.aether/commands/export-signals.yaml +2 -2
- package/.aether/commands/feedback.yaml +6 -6
- package/.aether/commands/flag.yaml +2 -2
- package/.aether/commands/flags.yaml +4 -4
- package/.aether/commands/focus.yaml +6 -6
- package/.aether/commands/help.yaml +1 -1
- package/.aether/commands/history.yaml +1 -1
- package/.aether/commands/import-signals.yaml +2 -2
- package/.aether/commands/init.yaml +44 -27
- package/.aether/commands/insert-phase.yaml +1 -1
- package/.aether/commands/interpret.yaml +2 -2
- package/.aether/commands/lay-eggs.yaml +3 -3
- package/.aether/commands/maturity.yaml +2 -2
- package/.aether/commands/memory-details.yaml +1 -1
- package/.aether/commands/migrate-state.yaml +1 -1
- package/.aether/commands/oracle.yaml +147 -82
- package/.aether/commands/organize.yaml +5 -5
- package/.aether/commands/patrol.yaml +8 -8
- package/.aether/commands/pause-colony.yaml +7 -7
- package/.aether/commands/phase.yaml +1 -1
- package/.aether/commands/pheromones.yaml +1 -1
- package/.aether/commands/plan.yaml +14 -14
- package/.aether/commands/quick.yaml +4 -4
- package/.aether/commands/redirect.yaml +6 -6
- package/.aether/commands/resume-colony.yaml +9 -9
- package/.aether/commands/resume.yaml +5 -38
- package/.aether/commands/run.yaml +10 -10
- package/.aether/commands/seal.yaml +33 -33
- package/.aether/commands/skill-create.yaml +4 -4
- package/.aether/commands/status.yaml +14 -14
- package/.aether/commands/swarm.yaml +14 -14
- package/.aether/commands/tunnels.yaml +7 -7
- package/.aether/commands/update.yaml +1 -1
- package/.aether/commands/verify-castes.yaml +3 -3
- package/.aether/commands/watch.yaml +15 -15
- package/.aether/docs/command-playbooks/build-complete.md +48 -15
- package/.aether/docs/command-playbooks/build-context.md +11 -11
- package/.aether/docs/command-playbooks/build-full.md +76 -76
- package/.aether/docs/command-playbooks/build-prep.md +10 -10
- package/.aether/docs/command-playbooks/build-verify.md +27 -27
- package/.aether/docs/command-playbooks/build-wave.md +38 -38
- package/.aether/docs/command-playbooks/continue-advance.md +60 -27
- package/.aether/docs/command-playbooks/continue-finalize.md +25 -11
- package/.aether/docs/command-playbooks/continue-full.md +60 -46
- package/.aether/docs/command-playbooks/continue-gates.md +18 -18
- package/.aether/docs/command-playbooks/continue-verify.md +10 -10
- package/.aether/docs/source-of-truth-map.md +10 -10
- package/.aether/docs/structural-learning-stack.md +283 -0
- package/.aether/templates/colony-state-template.json +1 -0
- package/.aether/utils/consolidation-seal.sh +196 -0
- package/.aether/utils/consolidation.sh +127 -0
- package/.aether/utils/curation-ants/archivist.sh +97 -0
- package/.aether/utils/curation-ants/critic.sh +214 -0
- package/.aether/utils/curation-ants/herald.sh +102 -0
- package/.aether/utils/curation-ants/janitor.sh +121 -0
- package/.aether/utils/curation-ants/librarian.sh +99 -0
- package/.aether/utils/curation-ants/nurse.sh +153 -0
- package/.aether/utils/curation-ants/orchestrator.sh +181 -0
- package/.aether/utils/curation-ants/scribe.sh +164 -0
- package/.aether/utils/curation-ants/sentinel.sh +119 -0
- package/.aether/utils/event-bus.sh +301 -0
- package/.aether/utils/graph.sh +559 -0
- package/.aether/utils/instinct-store.sh +401 -0
- package/.aether/utils/learning.sh +79 -7
- package/.aether/utils/oracle/oracle-stop-hook.sh +896 -0
- package/.aether/utils/session.sh +13 -0
- package/.aether/utils/state-api.sh +1 -1
- package/.aether/utils/trust-scoring.sh +347 -0
- package/.aether/utils/worktree.sh +97 -0
- package/.claude/commands/ant/archaeology.md +2 -2
- package/.claude/commands/ant/chaos.md +4 -4
- package/.claude/commands/ant/colonize.md +9 -9
- package/.claude/commands/ant/council.md +6 -6
- package/.claude/commands/ant/data-clean.md +3 -3
- package/.claude/commands/ant/dream.md +2 -2
- package/.claude/commands/ant/entomb.md +9 -9
- package/.claude/commands/ant/export-signals.md +2 -2
- package/.claude/commands/ant/feedback.md +4 -4
- package/.claude/commands/ant/flag.md +2 -2
- package/.claude/commands/ant/flags.md +4 -4
- package/.claude/commands/ant/focus.md +4 -4
- package/.claude/commands/ant/help.md +1 -1
- package/.claude/commands/ant/history.md +1 -1
- package/.claude/commands/ant/import-signals.md +2 -2
- package/.claude/commands/ant/init.md +44 -27
- package/.claude/commands/ant/insert-phase.md +1 -1
- package/.claude/commands/ant/interpret.md +2 -2
- package/.claude/commands/ant/lay-eggs.md +2 -2
- package/.claude/commands/ant/maturity.md +2 -2
- package/.claude/commands/ant/memory-details.md +1 -1
- package/.claude/commands/ant/migrate-state.md +1 -1
- package/.claude/commands/ant/oracle.md +78 -42
- package/.claude/commands/ant/organize.md +3 -3
- package/.claude/commands/ant/patrol.md +8 -8
- package/.claude/commands/ant/pause-colony.md +5 -5
- package/.claude/commands/ant/phase.md +1 -1
- package/.claude/commands/ant/pheromones.md +1 -1
- package/.claude/commands/ant/plan.md +8 -8
- package/.claude/commands/ant/quick.md +4 -4
- package/.claude/commands/ant/redirect.md +4 -4
- package/.claude/commands/ant/resume-colony.md +5 -5
- package/.claude/commands/ant/resume.md +17 -29
- package/.claude/commands/ant/run.md +10 -10
- package/.claude/commands/ant/seal.md +25 -25
- package/.claude/commands/ant/skill-create.md +2 -2
- package/.claude/commands/ant/status.md +14 -14
- package/.claude/commands/ant/swarm.md +14 -14
- package/.claude/commands/ant/tunnels.md +4 -4
- package/.claude/commands/ant/update.md +1 -1
- package/.claude/commands/ant/verify-castes.md +2 -2
- package/.claude/commands/ant/watch.md +8 -8
- package/.opencode/commands/ant/archaeology.md +1 -1
- package/.opencode/commands/ant/build.md +80 -45
- package/.opencode/commands/ant/chaos.md +3 -3
- package/.opencode/commands/ant/colonize.md +8 -8
- package/.opencode/commands/ant/continue.md +40 -40
- package/.opencode/commands/ant/council.md +5 -5
- package/.opencode/commands/ant/data-clean.md +2 -2
- package/.opencode/commands/ant/dream.md +1 -1
- package/.opencode/commands/ant/entomb.md +3 -3
- package/.opencode/commands/ant/export-signals.md +1 -1
- package/.opencode/commands/ant/feedback.md +2 -2
- package/.opencode/commands/ant/flag.md +1 -1
- package/.opencode/commands/ant/flags.md +3 -3
- package/.opencode/commands/ant/focus.md +2 -2
- package/.opencode/commands/ant/import-signals.md +1 -1
- package/.opencode/commands/ant/init.md +44 -27
- package/.opencode/commands/ant/insert-phase.md +1 -1
- package/.opencode/commands/ant/interpret.md +1 -1
- package/.opencode/commands/ant/lay-eggs.md +2 -2
- package/.opencode/commands/ant/maturity.md +1 -1
- package/.opencode/commands/ant/memory-details.md +1 -1
- package/.opencode/commands/ant/oracle.md +69 -40
- package/.opencode/commands/ant/organize.md +2 -2
- package/.opencode/commands/ant/patrol.md +8 -8
- package/.opencode/commands/ant/pause-colony.md +2 -2
- package/.opencode/commands/ant/pheromones.md +1 -1
- package/.opencode/commands/ant/plan.md +6 -6
- package/.opencode/commands/ant/quick.md +4 -4
- package/.opencode/commands/ant/redirect.md +2 -2
- package/.opencode/commands/ant/resume-colony.md +4 -4
- package/.opencode/commands/ant/resume.md +5 -17
- package/.opencode/commands/ant/run.md +10 -10
- package/.opencode/commands/ant/seal.md +8 -8
- package/.opencode/commands/ant/skill-create.md +2 -2
- package/.opencode/commands/ant/status.md +10 -10
- package/.opencode/commands/ant/tunnels.md +3 -3
- package/.opencode/commands/ant/verify-castes.md +1 -1
- package/.opencode/commands/ant/watch.md +7 -7
- package/CHANGELOG.md +83 -0
- package/README.md +22 -9
- package/bin/cli.js +118 -3
- package/bin/lib/binary-downloader.js +267 -0
- package/bin/lib/update-transaction.js +27 -3
- package/bin/lib/version-gate.js +179 -0
- package/bin/npx-entry.js +0 -0
- package/package.json +1 -1
- package/.aether/agents/aether-ambassador.md +0 -140
- package/.aether/agents/aether-archaeologist.md +0 -108
- package/.aether/agents/aether-architect.md +0 -133
- package/.aether/agents/aether-auditor.md +0 -144
- package/.aether/agents/aether-builder.md +0 -184
- package/.aether/agents/aether-chaos.md +0 -115
- package/.aether/agents/aether-chronicler.md +0 -122
- package/.aether/agents/aether-gatekeeper.md +0 -116
- package/.aether/agents/aether-includer.md +0 -117
- package/.aether/agents/aether-keeper.md +0 -177
- package/.aether/agents/aether-measurer.md +0 -128
- package/.aether/agents/aether-oracle.md +0 -137
- package/.aether/agents/aether-probe.md +0 -133
- package/.aether/agents/aether-queen.md +0 -286
- package/.aether/agents/aether-route-setter.md +0 -130
- package/.aether/agents/aether-sage.md +0 -106
- package/.aether/agents/aether-scout.md +0 -101
- package/.aether/agents/aether-surveyor-disciplines.md +0 -391
- package/.aether/agents/aether-surveyor-nest.md +0 -329
- package/.aether/agents/aether-surveyor-pathogens.md +0 -264
- package/.aether/agents/aether-surveyor-provisions.md +0 -334
- package/.aether/agents/aether-tracker.md +0 -137
- package/.aether/agents/aether-watcher.md +0 -174
- package/.aether/agents/aether-weaver.md +0 -130
- package/.aether/commands/claude/archaeology.md +0 -334
- package/.aether/commands/claude/build.md +0 -65
- package/.aether/commands/claude/chaos.md +0 -336
- package/.aether/commands/claude/colonize.md +0 -259
- package/.aether/commands/claude/continue.md +0 -60
- package/.aether/commands/claude/council.md +0 -507
- package/.aether/commands/claude/data-clean.md +0 -81
- package/.aether/commands/claude/dream.md +0 -268
- package/.aether/commands/claude/entomb.md +0 -498
- package/.aether/commands/claude/export-signals.md +0 -57
- package/.aether/commands/claude/feedback.md +0 -96
- package/.aether/commands/claude/flag.md +0 -151
- package/.aether/commands/claude/flags.md +0 -169
- package/.aether/commands/claude/focus.md +0 -76
- package/.aether/commands/claude/help.md +0 -154
- package/.aether/commands/claude/history.md +0 -140
- package/.aether/commands/claude/import-signals.md +0 -71
- package/.aether/commands/claude/init.md +0 -505
- package/.aether/commands/claude/insert-phase.md +0 -105
- package/.aether/commands/claude/interpret.md +0 -278
- package/.aether/commands/claude/lay-eggs.md +0 -210
- package/.aether/commands/claude/maturity.md +0 -113
- package/.aether/commands/claude/memory-details.md +0 -77
- package/.aether/commands/claude/migrate-state.md +0 -171
- package/.aether/commands/claude/oracle.md +0 -642
- package/.aether/commands/claude/organize.md +0 -232
- package/.aether/commands/claude/patrol.md +0 -620
- package/.aether/commands/claude/pause-colony.md +0 -233
- package/.aether/commands/claude/phase.md +0 -115
- package/.aether/commands/claude/pheromones.md +0 -156
- package/.aether/commands/claude/plan.md +0 -693
- package/.aether/commands/claude/preferences.md +0 -65
- package/.aether/commands/claude/quick.md +0 -100
- package/.aether/commands/claude/redirect.md +0 -76
- package/.aether/commands/claude/resume-colony.md +0 -197
- package/.aether/commands/claude/resume.md +0 -388
- package/.aether/commands/claude/run.md +0 -231
- package/.aether/commands/claude/seal.md +0 -774
- package/.aether/commands/claude/skill-create.md +0 -286
- package/.aether/commands/claude/status.md +0 -410
- package/.aether/commands/claude/swarm.md +0 -349
- package/.aether/commands/claude/tunnels.md +0 -426
- package/.aether/commands/claude/update.md +0 -132
- package/.aether/commands/claude/verify-castes.md +0 -143
- package/.aether/commands/claude/watch.md +0 -239
- package/.aether/commands/opencode/archaeology.md +0 -331
- package/.aether/commands/opencode/build.md +0 -1168
- package/.aether/commands/opencode/chaos.md +0 -329
- package/.aether/commands/opencode/colonize.md +0 -195
- package/.aether/commands/opencode/continue.md +0 -1436
- package/.aether/commands/opencode/council.md +0 -437
- package/.aether/commands/opencode/data-clean.md +0 -77
- package/.aether/commands/opencode/dream.md +0 -260
- package/.aether/commands/opencode/entomb.md +0 -377
- package/.aether/commands/opencode/export-signals.md +0 -54
- package/.aether/commands/opencode/feedback.md +0 -99
- package/.aether/commands/opencode/flag.md +0 -149
- package/.aether/commands/opencode/flags.md +0 -167
- package/.aether/commands/opencode/focus.md +0 -73
- package/.aether/commands/opencode/help.md +0 -157
- package/.aether/commands/opencode/history.md +0 -136
- package/.aether/commands/opencode/import-signals.md +0 -68
- package/.aether/commands/opencode/init.md +0 -518
- package/.aether/commands/opencode/insert-phase.md +0 -111
- package/.aether/commands/opencode/interpret.md +0 -272
- package/.aether/commands/opencode/lay-eggs.md +0 -213
- package/.aether/commands/opencode/maturity.md +0 -108
- package/.aether/commands/opencode/memory-details.md +0 -83
- package/.aether/commands/opencode/migrate-state.md +0 -165
- package/.aether/commands/opencode/oracle.md +0 -593
- package/.aether/commands/opencode/organize.md +0 -226
- package/.aether/commands/opencode/patrol.md +0 -626
- package/.aether/commands/opencode/pause-colony.md +0 -203
- package/.aether/commands/opencode/phase.md +0 -113
- package/.aether/commands/opencode/pheromones.md +0 -162
- package/.aether/commands/opencode/plan.md +0 -684
- package/.aether/commands/opencode/preferences.md +0 -71
- package/.aether/commands/opencode/quick.md +0 -91
- package/.aether/commands/opencode/redirect.md +0 -84
- package/.aether/commands/opencode/resume-colony.md +0 -190
- package/.aether/commands/opencode/resume.md +0 -394
- package/.aether/commands/opencode/run.md +0 -237
- package/.aether/commands/opencode/seal.md +0 -452
- package/.aether/commands/opencode/skill-create.md +0 -63
- package/.aether/commands/opencode/status.md +0 -307
- package/.aether/commands/opencode/swarm.md +0 -15
- package/.aether/commands/opencode/tunnels.md +0 -400
- package/.aether/commands/opencode/update.md +0 -127
- package/.aether/commands/opencode/verify-castes.md +0 -139
- package/.aether/commands/opencode/watch.md +0 -227
|
@@ -36,7 +36,7 @@ body_claude: |
|
|
|
36
36
|
|
|
37
37
|
### Step 1.5: Load State and Show Resumption Context
|
|
38
38
|
|
|
39
|
-
Run using Bash tool: `
|
|
39
|
+
Run using Bash tool: `aether load-state`
|
|
40
40
|
|
|
41
41
|
If successful and goal is not null:
|
|
42
42
|
1. Extract current_phase from state
|
|
@@ -51,7 +51,7 @@ body_claude: |
|
|
|
51
51
|
- Read .aether/HANDOFF.md for additional context
|
|
52
52
|
- Remove .aether/HANDOFF.md after display (cleanup)
|
|
53
53
|
|
|
54
|
-
Run: `
|
|
54
|
+
Run: `aether unload-state` to release lock.
|
|
55
55
|
|
|
56
56
|
**Error handling:**
|
|
57
57
|
- If E_FILE_NOT_FOUND: "No colony initialized. Run /ant:init first." and stop
|
|
@@ -87,7 +87,7 @@ body_claude: |
|
|
|
87
87
|
|
|
88
88
|
Run using the Bash tool with description "Loading compact planning context...":
|
|
89
89
|
```bash
|
|
90
|
-
|
|
90
|
+
aether context-capsule --compact --json 2>/dev/null
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
If JSON is valid and `.ok == true`, extract `.result.prompt_section` into `context_capsule_prompt`.
|
|
@@ -169,7 +169,7 @@ body_claude: |
|
|
|
169
169
|
**1. Retrieve hive wisdom for research priming:**
|
|
170
170
|
|
|
171
171
|
```bash
|
|
172
|
-
hive_context=$(
|
|
172
|
+
hive_context=$(aether hive-read --limit 5 --format text 2>/dev/null)
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
Parse the JSON result to extract `.result.text` as `hive_text`. If command fails or returns empty, set `hive_text = ""`.
|
|
@@ -571,7 +571,7 @@ body_claude: |
|
|
|
571
571
|
echo "ERROR: Plan write verification failed (phases=$verify_phases, generated_at=$verify_timestamp, state=$verify_state)"
|
|
572
572
|
echo "Attempting retry write..."
|
|
573
573
|
# Retry: re-read, update, write via state API
|
|
574
|
-
|
|
574
|
+
aether state-write "$(jq --argjson phases "$(echo '$PLAN_JSON' | jq '.plan.phases')" --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" '.plan.phases = $phases | .plan.generated_at = $ts | .state = "READY"' .aether/data/COLONY_STATE.json)"
|
|
575
575
|
verify_phases=$(jq '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
576
576
|
if [[ "$verify_phases" -lt 1 ]]; then
|
|
577
577
|
echo "FATAL: Retry write also failed. Plan was not persisted."
|
|
@@ -582,7 +582,7 @@ body_claude: |
|
|
|
582
582
|
echo "Plan verified: $verify_phases phases, generated_at=$verify_timestamp, state=$verify_state"
|
|
583
583
|
```
|
|
584
584
|
|
|
585
|
-
Log: `
|
|
585
|
+
Log: `aether activity-log "PLAN_COMPLETE" "queen" "Plan finalized with {confidence}% confidence"`
|
|
586
586
|
|
|
587
587
|
Update watch-status.txt:
|
|
588
588
|
```
|
|
@@ -601,7 +601,7 @@ body_claude: |
|
|
|
601
601
|
Update the session tracking file to enable `/ant:resume` after context clear:
|
|
602
602
|
|
|
603
603
|
```bash
|
|
604
|
-
|
|
604
|
+
aether session-update --command "/ant:plan" --worker "/ant:build 1" --summary "Plan generated with {confidence}% confidence, {N} phases"
|
|
605
605
|
```
|
|
606
606
|
|
|
607
607
|
### Step 7: Display Plan
|
|
@@ -650,7 +650,7 @@ body_claude: |
|
|
|
650
650
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
651
651
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
652
652
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
653
|
-
|
|
653
|
+
aether print-next-up
|
|
654
654
|
```
|
|
655
655
|
|
|
656
656
|
---
|
|
@@ -725,7 +725,7 @@ body_opencode: |
|
|
|
725
725
|
|
|
726
726
|
### Step 1.5: Load State and Show Resumption Context
|
|
727
727
|
|
|
728
|
-
Run using Bash tool: `
|
|
728
|
+
Run using Bash tool: `aether load-state`
|
|
729
729
|
|
|
730
730
|
If successful and goal is not null:
|
|
731
731
|
1. Extract current_phase from state
|
|
@@ -740,7 +740,7 @@ body_opencode: |
|
|
|
740
740
|
- Read .aether/HANDOFF.md for additional context
|
|
741
741
|
- Remove .aether/HANDOFF.md after display (cleanup)
|
|
742
742
|
|
|
743
|
-
Run: `
|
|
743
|
+
Run: `aether unload-state` to release lock.
|
|
744
744
|
|
|
745
745
|
**Error handling:**
|
|
746
746
|
- If E_FILE_NOT_FOUND: "No colony initialized. Run /ant:init first." and stop
|
|
@@ -776,7 +776,7 @@ body_opencode: |
|
|
|
776
776
|
|
|
777
777
|
Run using the Bash tool with description "Loading compact planning context...":
|
|
778
778
|
```bash
|
|
779
|
-
|
|
779
|
+
aether context-capsule --compact --json 2>/dev/null
|
|
780
780
|
```
|
|
781
781
|
|
|
782
782
|
If JSON is valid and `.ok == true`, extract `.result.prompt_section` into `context_capsule_prompt`.
|
|
@@ -858,7 +858,7 @@ body_opencode: |
|
|
|
858
858
|
**1. Retrieve hive wisdom for research priming:**
|
|
859
859
|
|
|
860
860
|
```bash
|
|
861
|
-
hive_context=$(
|
|
861
|
+
hive_context=$(aether hive-read --limit 5 --format text 2>/dev/null)
|
|
862
862
|
```
|
|
863
863
|
|
|
864
864
|
Parse the JSON result to extract `.result.text` as `hive_text`. If command fails or returns empty, set `hive_text = ""`.
|
|
@@ -1260,7 +1260,7 @@ body_opencode: |
|
|
|
1260
1260
|
if [[ "$verify_phases" -lt 1 || "$verify_timestamp" == "null" || "$verify_state" != "READY" ]]; then
|
|
1261
1261
|
echo "ERROR: Plan write verification failed (phases=$verify_phases, generated_at=$verify_timestamp, state=$verify_state)"
|
|
1262
1262
|
echo "Attempting retry write..."
|
|
1263
|
-
|
|
1263
|
+
aether state-write "$(jq --argjson phases "$(echo '$PLAN_JSON' | jq '.plan.phases')" --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" '.plan.phases = $phases | .plan.generated_at = $ts | .state = "READY"' .aether/data/COLONY_STATE.json)"
|
|
1264
1264
|
verify_phases=$(jq '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
1265
1265
|
if [[ "$verify_phases" -lt 1 ]]; then
|
|
1266
1266
|
echo "FATAL: Retry write also failed. Plan was not persisted."
|
|
@@ -1271,7 +1271,7 @@ body_opencode: |
|
|
|
1271
1271
|
echo "Plan verified: $verify_phases phases, generated_at=$verify_timestamp, state=$verify_state"
|
|
1272
1272
|
```
|
|
1273
1273
|
|
|
1274
|
-
Log plan completion: `
|
|
1274
|
+
Log plan completion: `aether activity-log "PLAN_COMPLETE" "queen" "Plan finalized with {confidence}% confidence"`
|
|
1275
1275
|
|
|
1276
1276
|
Update watch-status.txt:
|
|
1277
1277
|
```
|
|
@@ -31,7 +31,7 @@ body: |
|
|
|
31
31
|
|
|
32
32
|
{{TOOL_PREFIX "Naming scout..."}}
|
|
33
33
|
```bash
|
|
34
|
-
|
|
34
|
+
aether generate-ant-name --caste "scout"
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Capture the output as `scout_name`.
|
|
@@ -46,7 +46,7 @@ body: |
|
|
|
46
46
|
|
|
47
47
|
{{TOOL_PREFIX "Dispatching scout..."}}
|
|
48
48
|
```bash
|
|
49
|
-
|
|
49
|
+
aether spawn-log --name "Queen" --caste "scout" --id "{scout_name}" --description "Quick query: {query}"
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
{{#claude}}
|
|
@@ -86,14 +86,14 @@ body: |
|
|
|
86
86
|
|
|
87
87
|
{{TOOL_PREFIX "Recording scout completion..."}}
|
|
88
88
|
```bash
|
|
89
|
-
|
|
89
|
+
aether spawn-complete --id "{scout_name}" --status "completed" --summary "Quick query answered"
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
### Step 5: Update Session (lightweight)
|
|
93
93
|
|
|
94
94
|
{{TOOL_PREFIX "Updating session..."}}
|
|
95
95
|
```bash
|
|
96
|
-
|
|
96
|
+
aether session-update --command "/ant:quick" --worker "" --summary "Quick query: {query truncated to 60 chars}" 2>/dev/null || true
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
**NOTE:** This command does NOT:
|
|
@@ -32,7 +32,7 @@ body: |
|
|
|
32
32
|
{{#claude}}
|
|
33
33
|
{{TOOL_PREFIX "Setting colony redirect..."}}
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
aether pheromone-write --type REDIRECT --content "<content>" --strength 0.9 --reason "User warned colony away from pattern" --ttl <ttl>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Parse the returned JSON for the signal ID.
|
|
@@ -41,14 +41,14 @@ body: |
|
|
|
41
41
|
|
|
42
42
|
{{TOOL_PREFIX "Updating context document..."}}
|
|
43
43
|
```bash
|
|
44
|
-
|
|
44
|
+
aether context-update --section constraint --key redirect --content "<content>" "user" 2>/dev/null || true
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
### Step 3: Get Active Counts
|
|
48
48
|
|
|
49
49
|
{{TOOL_PREFIX "Counting active signals..."}}
|
|
50
50
|
```bash
|
|
51
|
-
|
|
51
|
+
aether pheromone-count
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
### Step 4: Confirm
|
|
@@ -86,8 +86,8 @@ body: |
|
|
|
86
86
|
|
|
87
87
|
**Write pheromone signal and update context:**
|
|
88
88
|
```bash
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
aether pheromone-write --type REDIRECT --content "$normalized_args" --strength 0.9 --reason "User warned colony away from pattern" 2>/dev/null || true
|
|
90
|
+
aether context-update --section constraint --key redirect --content "$normalized_args" "user" 2>/dev/null || true
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
### Step 3: Confirm
|
|
@@ -118,6 +118,6 @@ body: |
|
|
|
118
118
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
119
119
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
120
120
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
121
|
-
|
|
121
|
+
aether print-next-up
|
|
122
122
|
```
|
|
123
123
|
{{/claude}}
|
|
@@ -14,13 +14,13 @@ body_claude: |
|
|
|
14
14
|
If `visual_mode` is true, run using the Bash tool with description "Initializing resume display...":
|
|
15
15
|
### Step 0.5: Version Check (Non-blocking)
|
|
16
16
|
|
|
17
|
-
Run using the Bash tool with description "Checking colony version...": `
|
|
17
|
+
Run using the Bash tool with description "Checking colony version...": `aether version-check-cached 2>/dev/null || true`
|
|
18
18
|
|
|
19
19
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
20
20
|
|
|
21
21
|
### Step 1: Load State and Validate
|
|
22
22
|
|
|
23
|
-
Run using the Bash tool with description "Restoring colony session...": `
|
|
23
|
+
Run using the Bash tool with description "Restoring colony session...": `aether load-state`
|
|
24
24
|
|
|
25
25
|
If successful:
|
|
26
26
|
1. Parse state from result
|
|
@@ -35,7 +35,7 @@ body_claude: |
|
|
|
35
35
|
|
|
36
36
|
Run using the Bash tool with description "Loading active pheromones...":
|
|
37
37
|
```bash
|
|
38
|
-
|
|
38
|
+
aether pheromone-read
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
|
|
@@ -127,7 +127,7 @@ body_claude: |
|
|
|
127
127
|
|
|
128
128
|
Use Bash tool with description "Cleaning up handoff file..." to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
|
|
129
129
|
|
|
130
|
-
Run using the Bash tool with description "Releasing colony lock...": `
|
|
130
|
+
Run using the Bash tool with description "Releasing colony lock...": `aether unload-state` to release lock.
|
|
131
131
|
|
|
132
132
|
### Step 7: Next Up
|
|
133
133
|
|
|
@@ -136,7 +136,7 @@ body_claude: |
|
|
|
136
136
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
137
137
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
138
138
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
139
|
-
|
|
139
|
+
aether print-next-up
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
---
|
|
@@ -204,13 +204,13 @@ body_opencode: |
|
|
|
204
204
|
|
|
205
205
|
### Step 0.5: Version Check (Non-blocking)
|
|
206
206
|
|
|
207
|
-
Run using the Bash tool: `
|
|
207
|
+
Run using the Bash tool: `aether version-check-cached 2>/dev/null || true`
|
|
208
208
|
|
|
209
209
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
210
210
|
|
|
211
211
|
### Step 1: Load State and Validate
|
|
212
212
|
|
|
213
|
-
Run using Bash tool: `
|
|
213
|
+
Run using Bash tool: `aether load-state`
|
|
214
214
|
|
|
215
215
|
If successful:
|
|
216
216
|
1. Parse state from result
|
|
@@ -225,7 +225,7 @@ body_opencode: |
|
|
|
225
225
|
|
|
226
226
|
Run using the Bash tool:
|
|
227
227
|
```bash
|
|
228
|
-
|
|
228
|
+
aether pheromone-read
|
|
229
229
|
```
|
|
230
230
|
|
|
231
231
|
Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
|
|
@@ -317,7 +317,7 @@ body_opencode: |
|
|
|
317
317
|
|
|
318
318
|
Use Bash tool to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
|
|
319
319
|
|
|
320
|
-
Run: `
|
|
320
|
+
Run: `aether unload-state` to release lock.
|
|
321
321
|
|
|
322
322
|
---
|
|
323
323
|
|
|
@@ -24,7 +24,7 @@ body: |
|
|
|
24
24
|
|
|
25
25
|
{{TOOL_PREFIX "Restoring colony session..."}}:
|
|
26
26
|
```bash
|
|
27
|
-
|
|
27
|
+
aether session-read
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Parse the JSON result.
|
|
@@ -94,21 +94,9 @@ body: |
|
|
|
94
94
|
|
|
95
95
|
### Step 3: Read Pheromone Signals
|
|
96
96
|
|
|
97
|
-
{{#claude}}
|
|
98
|
-
Use the Read tool to read `.aether/data/constraints.json`.
|
|
99
|
-
|
|
100
|
-
Extract the following top-level keys:
|
|
101
|
-
- `focus` array — active focus signals (if key missing, treat as empty array)
|
|
102
|
-
- `constraints` array — active redirect/constraint signals (if key missing, treat as empty array)
|
|
103
|
-
|
|
104
|
-
If the file is missing: skip silently (no pheromones active).
|
|
105
|
-
|
|
106
|
-
Pheromones persist until explicitly cleared — no decay.
|
|
107
|
-
{{/claude}}
|
|
108
|
-
{{#opencode}}
|
|
109
97
|
{{TOOL_PREFIX "Loading active pheromone signals..."}}:
|
|
110
98
|
```bash
|
|
111
|
-
|
|
99
|
+
aether pheromone-read all
|
|
112
100
|
```
|
|
113
101
|
|
|
114
102
|
Parse the JSON result. Extract `.result.signals` array.
|
|
@@ -118,7 +106,6 @@ body: |
|
|
|
118
106
|
- If the command fails or returns an error: skip silently (no pheromones active)
|
|
119
107
|
|
|
120
108
|
Note: pheromone-read applies decay calculation automatically. The `effective_strength` field reflects current signal strength after time-based decay. Signals below 0.1 effective strength are already filtered out.
|
|
121
|
-
{{/opencode}}
|
|
122
109
|
|
|
123
110
|
---
|
|
124
111
|
|
|
@@ -301,19 +288,9 @@ body: |
|
|
|
301
288
|
|
|
302
289
|
{if signals array from Step 3 is not empty:}
|
|
303
290
|
Active Signals:
|
|
304
|
-
{{#claude}}
|
|
305
|
-
{for each focus signal:}
|
|
306
|
-
FOCUS: {focus text}
|
|
307
|
-
{end}
|
|
308
|
-
{for each constraint signal:}
|
|
309
|
-
REDIRECT: {constraint text}
|
|
310
|
-
{end}
|
|
311
|
-
{{/claude}}
|
|
312
|
-
{{#opencode}}
|
|
313
291
|
{for each signal in signals:}
|
|
314
292
|
{signal.type}: "{signal.content}" [{signal.effective_strength * 100 | floor}%]
|
|
315
293
|
{end}
|
|
316
|
-
{{/opencode}}
|
|
317
294
|
{end}
|
|
318
295
|
```
|
|
319
296
|
|
|
@@ -323,7 +300,7 @@ body: |
|
|
|
323
300
|
|
|
324
301
|
{{TOOL_PREFIX "Loading memory health..."}}:
|
|
325
302
|
```bash
|
|
326
|
-
|
|
303
|
+
aether resume-dashboard
|
|
327
304
|
```
|
|
328
305
|
|
|
329
306
|
Extract memory_health from the JSON result:
|
|
@@ -355,7 +332,7 @@ body: |
|
|
|
355
332
|
|
|
356
333
|
{{TOOL_PREFIX "Marking session as resumed..."}}:
|
|
357
334
|
```bash
|
|
358
|
-
|
|
335
|
+
aether session-mark-resumed
|
|
359
336
|
```
|
|
360
337
|
|
|
361
338
|
### Step 10: Next Up
|
|
@@ -365,7 +342,7 @@ body: |
|
|
|
365
342
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
366
343
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
367
344
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
368
|
-
|
|
345
|
+
aether print-next-up
|
|
369
346
|
```
|
|
370
347
|
|
|
371
348
|
---
|
|
@@ -376,12 +353,7 @@ body: |
|
|
|
376
353
|
|-----------|----------|
|
|
377
354
|
| session.json missing (exists=false) | "No previous session found" — offer /ant:init and /ant:status |
|
|
378
355
|
| COLONY_STATE.json missing or corrupted | Pause, ask user: start fresh or recover |
|
|
379
|
-
{{#claude}}
|
|
380
|
-
| constraints.json missing | Skip silently (no pheromones) |
|
|
381
|
-
{{/claude}}
|
|
382
|
-
{{#opencode}}
|
|
383
356
|
| pheromone-read fails | Skip silently (no pheromones) |
|
|
384
|
-
{{/opencode}}
|
|
385
357
|
| CONTEXT.md missing | Fall back to COLONY_STATE.json narrative |
|
|
386
358
|
| No plan phases, no generated_at | BLOCK — redirect to /ant:plan |
|
|
387
359
|
| Plan attempted but no phases | BLOCK — redirect to /ant:plan |
|
|
@@ -393,12 +365,7 @@ body: |
|
|
|
393
365
|
|
|
394
366
|
## Key Constraints
|
|
395
367
|
|
|
396
|
-
{{#claude}}
|
|
397
|
-
- Use Read tool for COLONY_STATE.json and constraints.json (not bash cat/jq).
|
|
398
|
-
{{/claude}}
|
|
399
|
-
{{#opencode}}
|
|
400
368
|
- Use Read tool for COLONY_STATE.json (not bash cat/jq). Use Bash tool for pheromone-read (applies decay calculation).
|
|
401
|
-
{{/opencode}}
|
|
402
369
|
- Use Bash tool only for aether-utils.sh commands and git commands
|
|
403
370
|
- Handle ALL missing/corrupted file cases gracefully
|
|
404
371
|
- Time-agnostic: restore identically regardless of how long ago the session was
|
|
@@ -47,7 +47,7 @@ body: |
|
|
|
47
47
|
(applying `--max-phases` cap), display the plan, then stop without executing.
|
|
48
48
|
|
|
49
49
|
```
|
|
50
|
-
━━━ A U T O P I L O T P R E V I E W ━━━
|
|
50
|
+
━━━ 🤖 A U T O P I L O T P R E V I E W ━━━
|
|
51
51
|
Goal: {goal} | Current: Phase {N} | Remaining: {count} | Max: {max or "all"}
|
|
52
52
|
|
|
53
53
|
Phase {id}: {name} ({task_count} tasks) -> build -> continue -> advance
|
|
@@ -66,9 +66,9 @@ body: |
|
|
|
66
66
|
- If `milestone` == `"Crowned Anthill"`: output "This colony has been sealed. Start a new colony with `/ant:init \"new goal\"`." and stop
|
|
67
67
|
2. Determine remaining incomplete phases; apply `--max-phases` cap
|
|
68
68
|
3. Set `phases_completed = 0`, `autopilot_start = $(date +%s)`
|
|
69
|
-
4. Record pre-build blocker count: `
|
|
69
|
+
4. Record pre-build blocker count: `aether flag-check-blockers {phase}`
|
|
70
70
|
5. If `--headless` flag is present:
|
|
71
|
-
- Run: `
|
|
71
|
+
- Run: `aether autopilot-set-headless true`
|
|
72
72
|
- Display: `Headless mode: ON — interactive prompts will be queued as pending decisions`
|
|
73
73
|
6. Display: `AUTOPILOT ENGAGED | Goal: {goal} | Phase {N} | Max: {max or "all"}`
|
|
74
74
|
|
|
@@ -105,7 +105,7 @@ body: |
|
|
|
105
105
|
visual checkpoint prompt would normally be shown to the user, instead queue it as
|
|
106
106
|
a pending decision:
|
|
107
107
|
```bash
|
|
108
|
-
|
|
108
|
+
aether pending-decision-add \
|
|
109
109
|
--title "Visual checkpoint: Phase {id}" \
|
|
110
110
|
--type "checkpoint" \
|
|
111
111
|
--description "{checkpoint_description}" \
|
|
@@ -134,7 +134,7 @@ body: |
|
|
|
134
134
|
**Headless override for runtime verification:** If headless mode is active and
|
|
135
135
|
runtime verification would normally pause, queue as a pending decision instead:
|
|
136
136
|
```bash
|
|
137
|
-
|
|
137
|
+
aether pending-decision-add \
|
|
138
138
|
--title "Runtime verification needed: Phase {id}" \
|
|
139
139
|
--type "runtime-verification" \
|
|
140
140
|
--description "Manual testing required before advancing past Phase {id}" \
|
|
@@ -165,7 +165,7 @@ body: |
|
|
|
165
165
|
### Step 5: Auto-Advance and Loop
|
|
166
166
|
|
|
167
167
|
1. Increment `phases_completed`
|
|
168
|
-
2. Update autopilot state: `
|
|
168
|
+
2. Update autopilot state: `aether autopilot-update --action advance --phase {next} --result success`
|
|
169
169
|
3. Log: `"<timestamp>|autopilot_advance|run|Phase {prev} -> {next} ({phases_completed}/{max})"`
|
|
170
170
|
4. Display: `--- Autopilot: Phase {prev} done -> Phase {next} ({N}/{max}) ---`
|
|
171
171
|
5. **Replan check** (see Step 5.5)
|
|
@@ -177,7 +177,7 @@ body: |
|
|
|
177
177
|
After each successful phase advance, check if a replan pause should fire:
|
|
178
178
|
|
|
179
179
|
```bash
|
|
180
|
-
|
|
180
|
+
aether autopilot-check-replan --interval {replan_interval}
|
|
181
181
|
```
|
|
182
182
|
|
|
183
183
|
If `--continue` flag was passed: skip this check entirely (user dismissed replan).
|
|
@@ -185,7 +185,7 @@ body: |
|
|
|
185
185
|
If `result.should_replan == true`: **PAUSE** with replan suggestion banner:
|
|
186
186
|
|
|
187
187
|
```
|
|
188
|
-
━━━ R E P L A N S U G G E S T E D ━━━
|
|
188
|
+
━━━ 🔄 R E P L A N S U G G E S T E D ━━━
|
|
189
189
|
Phases auto-completed: {N} | Learnings accumulated: {learnings_since_last}
|
|
190
190
|
|
|
191
191
|
The colony has completed {N} phases since the last plan review.
|
|
@@ -203,7 +203,7 @@ body: |
|
|
|
203
203
|
### Step 6: Final Summary
|
|
204
204
|
|
|
205
205
|
```
|
|
206
|
-
━━━ A U T O P I L O T C O M P L E T E ━━━
|
|
206
|
+
━━━ ✅ A U T O P I L O T C O M P L E T E ━━━
|
|
207
207
|
Phases completed: {N} | Elapsed: {Xm Ys} | Now at: Phase {current}
|
|
208
208
|
|
|
209
209
|
{all complete} -> Colony goal achieved! Run /ant:seal
|
|
@@ -218,7 +218,7 @@ body: |
|
|
|
218
218
|
```
|
|
219
219
|
|
|
220
220
|
Update session:
|
|
221
|
-
`
|
|
221
|
+
`aether session-update --command "/ant:run" --worker "/ant:run" --summary "Autopilot: {N} phases, now Phase {current}"`
|
|
222
222
|
|
|
223
223
|
## Execution Contract
|
|
224
224
|
|