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
|
@@ -57,7 +57,7 @@ body_claude: |
|
|
|
57
57
|
|
|
58
58
|
### Step 2: Maturity Gate
|
|
59
59
|
|
|
60
|
-
Run `
|
|
60
|
+
Run `aether milestone-detect` to get `milestone`, `phases_completed`, `total_phases`.
|
|
61
61
|
|
|
62
62
|
**If milestone is already "Crowned Anthill":**
|
|
63
63
|
```
|
|
@@ -119,8 +119,8 @@ body_claude: |
|
|
|
119
119
|
|
|
120
120
|
if [[ "$phases_completed" -ge 3 ]]; then
|
|
121
121
|
# Generate Sage name and dispatch
|
|
122
|
-
sage_name=$(
|
|
123
|
-
|
|
122
|
+
sage_name=$(aether generate-ant-name --caste "sage")
|
|
123
|
+
aether spawn-log --name "Queen" --caste "sage" --id "$sage_name" --description "Colony analytics review"
|
|
124
124
|
|
|
125
125
|
# Display spawn notification
|
|
126
126
|
echo ""
|
|
@@ -159,7 +159,7 @@ body_claude: |
|
|
|
159
159
|
|
|
160
160
|
**IMPORTANT:** You are strictly read-only. Do not modify any files.
|
|
161
161
|
|
|
162
|
-
Log activity:
|
|
162
|
+
Log activity: aether activity-log "ANALYZING" "{sage_name}" "description"
|
|
163
163
|
|
|
164
164
|
Return ONLY this JSON (no other text):
|
|
165
165
|
{{
|
|
@@ -192,7 +192,7 @@ body_claude: |
|
|
|
192
192
|
|
|
193
193
|
Log completion and update swarm display:
|
|
194
194
|
```bash
|
|
195
|
-
|
|
195
|
+
aether spawn-complete --id "$sage_name" --status "completed" --summary "Analytics review complete"
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
**Display Sage completion line:**
|
|
@@ -204,7 +204,7 @@ body_claude: |
|
|
|
204
204
|
**Log high-priority recommendations to midden (non-blocking):**
|
|
205
205
|
For each recommendation with priority <= 2:
|
|
206
206
|
```bash
|
|
207
|
-
|
|
207
|
+
aether midden-write "analytics" "Sage recommendation (P{priority}): {action}" "sage"
|
|
208
208
|
```
|
|
209
209
|
|
|
210
210
|
**Display insights summary:**
|
|
@@ -239,7 +239,7 @@ body_claude: |
|
|
|
239
239
|
colony=$(echo "$encoded" | base64 -d | jq -r '.colonies[0] // "unknown"')
|
|
240
240
|
[[ -z "$content" ]] && continue
|
|
241
241
|
|
|
242
|
-
result=$(
|
|
242
|
+
result=$(aether learning-promote-auto "$wisdom_type" "$content" "$colony" "learning" 2>/dev/null || echo '{}')
|
|
243
243
|
was_promoted=$(echo "$result" | jq -r '.result.promoted // false' 2>/dev/null || echo "false")
|
|
244
244
|
if [[ "$was_promoted" == "true" ]]; then
|
|
245
245
|
auto_promoted_count=$((auto_promoted_count + 1))
|
|
@@ -254,7 +254,7 @@ body_claude: |
|
|
|
254
254
|
# --- END Batch auto-promotion ---
|
|
255
255
|
|
|
256
256
|
# Check for pending proposals
|
|
257
|
-
proposals=$(
|
|
257
|
+
proposals=$(aether learning-check-promotion 2>/dev/null || echo '{"proposals":[]}')
|
|
258
258
|
proposal_count=$(echo "$proposals" | jq '.proposals | length')
|
|
259
259
|
|
|
260
260
|
if [[ "$proposal_count" -gt 0 ]]; then
|
|
@@ -268,7 +268,7 @@ body_claude: |
|
|
|
268
268
|
echo ""
|
|
269
269
|
|
|
270
270
|
# Run approval workflow (blocking)
|
|
271
|
-
|
|
271
|
+
aether learning-approve-proposals
|
|
272
272
|
|
|
273
273
|
echo ""
|
|
274
274
|
echo "Wisdom review complete. Proceeding with sealing ceremony..."
|
|
@@ -318,7 +318,7 @@ body_claude: |
|
|
|
318
318
|
[[ -n "$repo_domain_tags" ]] && promote_args+=(--domain "$repo_domain_tags")
|
|
319
319
|
|
|
320
320
|
# Call hive-promote which orchestrates abstract + store
|
|
321
|
-
result=$(
|
|
321
|
+
result=$(aether "${promote_args[@]}" 2>/dev/null || echo '{}')
|
|
322
322
|
was_promoted=$(echo "$result" | jq -r '.result.action // "skipped"' 2>/dev/null || echo "skipped")
|
|
323
323
|
|
|
324
324
|
if [[ "$was_promoted" == "promoted" || "$was_promoted" == "merged" ]]; then
|
|
@@ -338,7 +338,7 @@ body_claude: |
|
|
|
338
338
|
|
|
339
339
|
Log the seal ceremony to activity log:
|
|
340
340
|
```bash
|
|
341
|
-
|
|
341
|
+
aether activity-log "MODIFIED" "Queen" "Colony sealed - wisdom review completed"
|
|
342
342
|
```
|
|
343
343
|
|
|
344
344
|
### Step 4.4: Checkpoint State
|
|
@@ -347,7 +347,7 @@ body_claude: |
|
|
|
347
347
|
|
|
348
348
|
Run using the Bash tool with description "Checkpointing colony state before seal...":
|
|
349
349
|
```bash
|
|
350
|
-
|
|
350
|
+
aether state-checkpoint "pre-seal" 2>/dev/null || echo "Warning: State checkpoint failed -- continuing without backup" >&2
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
### Step 4.5: Increment Colony Version
|
|
@@ -382,7 +382,7 @@ body_claude: |
|
|
|
382
382
|
2. Set `milestone_updated_at` to current ISO-8601 timestamp
|
|
383
383
|
3. Append event: `"<timestamp>|milestone_reached|seal|Achieved Crowned Anthill milestone"`
|
|
384
384
|
|
|
385
|
-
Run `
|
|
385
|
+
Run `aether validate-state colony` after write.
|
|
386
386
|
|
|
387
387
|
### Step 5.1: Update Changelog
|
|
388
388
|
|
|
@@ -395,7 +395,7 @@ body_claude: |
|
|
|
395
395
|
- Summarize the goal and key outcomes in one line
|
|
396
396
|
|
|
397
397
|
```bash
|
|
398
|
-
|
|
398
|
+
aether changelog-append \
|
|
399
399
|
"$(date +%Y-%m-%d)" \
|
|
400
400
|
"seal-crowned-anthill" \
|
|
401
401
|
"00" \
|
|
@@ -416,7 +416,7 @@ body_claude: |
|
|
|
416
416
|
|
|
417
417
|
Run using the Bash tool (ignore errors):
|
|
418
418
|
```bash
|
|
419
|
-
|
|
419
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --active false 2>/dev/null || true
|
|
420
420
|
```
|
|
421
421
|
|
|
422
422
|
If the command fails, proceed silently. This is optional bookkeeping.
|
|
@@ -428,10 +428,10 @@ body_claude: |
|
|
|
428
428
|
**Generate Chronicler name and dispatch:**
|
|
429
429
|
```bash
|
|
430
430
|
# Generate unique chronicler name
|
|
431
|
-
chronicler_name=$(
|
|
431
|
+
chronicler_name=$(aether generate-ant-name --caste "chronicler")
|
|
432
432
|
|
|
433
433
|
# Log spawn and update swarm display
|
|
434
|
-
|
|
434
|
+
aether spawn-log --name "Queen" --caste "chronicler" --id "$chronicler_name" --description "Documentation coverage audit"
|
|
435
435
|
```
|
|
436
436
|
|
|
437
437
|
**Display:**
|
|
@@ -469,7 +469,7 @@ body_claude: |
|
|
|
469
469
|
|
|
470
470
|
**IMPORTANT:** You are strictly read-only. Do not modify any files.
|
|
471
471
|
|
|
472
|
-
Log activity:
|
|
472
|
+
Log activity: aether activity-log "SURVEYING" "{chronicler_name}" "description"
|
|
473
473
|
|
|
474
474
|
Return ONLY this JSON (no other text):
|
|
475
475
|
{
|
|
@@ -498,7 +498,7 @@ body_claude: |
|
|
|
498
498
|
|
|
499
499
|
Log completion and update swarm display:
|
|
500
500
|
```bash
|
|
501
|
-
|
|
501
|
+
aether spawn-complete --id "$chronicler_name" --status "completed" --summary "Documentation audit complete"
|
|
502
502
|
```
|
|
503
503
|
|
|
504
504
|
**Display Chronicler completion line:**
|
|
@@ -509,7 +509,7 @@ body_claude: |
|
|
|
509
509
|
**Log gaps to midden (non-blocking):**
|
|
510
510
|
For each gap in `gaps_identified` with severity "high" or "medium":
|
|
511
511
|
```bash
|
|
512
|
-
|
|
512
|
+
aether midden-write "documentation" "Gap ({severity}): {description} at {location}" "chronicler"
|
|
513
513
|
```
|
|
514
514
|
|
|
515
515
|
**Display summary:**
|
|
@@ -580,7 +580,7 @@ body_claude: |
|
|
|
580
580
|
```bash
|
|
581
581
|
# Check if xmllint is available
|
|
582
582
|
if command -v xmllint >/dev/null 2>&1; then
|
|
583
|
-
xml_result=$(
|
|
583
|
+
xml_result=$(aether colony-archive-xml --output ".aether/exchange/colony-archive.xml" 2>&1)
|
|
584
584
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
585
585
|
if [[ "$xml_ok" == "true" ]]; then
|
|
586
586
|
xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
|
|
@@ -590,7 +590,7 @@ body_claude: |
|
|
|
590
590
|
fi
|
|
591
591
|
|
|
592
592
|
# Also export standalone pheromones.xml for cross-colony sharing
|
|
593
|
-
pher_result=$(
|
|
593
|
+
pher_result=$(aether pheromone-export-xml --output ".aether/exchange/pheromones.xml" 2>&1)
|
|
594
594
|
pher_ok=$(echo "$pher_result" | jq -r '.ok // false' 2>/dev/null)
|
|
595
595
|
if [[ "$pher_ok" == "true" ]]; then
|
|
596
596
|
pher_signal_count=$(jq '[.signals[] | select(.active != false)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
|
|
@@ -600,7 +600,7 @@ body_claude: |
|
|
|
600
600
|
fi
|
|
601
601
|
|
|
602
602
|
# Export standalone queen-wisdom.xml for cross-colony wisdom sharing
|
|
603
|
-
wisdom_result=$(
|
|
603
|
+
wisdom_result=$(aether wisdom-export-xml ".aether/exchange/queen-wisdom.xml" 2>&1)
|
|
604
604
|
wisdom_ok=$(echo "$wisdom_result" | jq -r '.ok // false' 2>/dev/null)
|
|
605
605
|
if [[ "$wisdom_ok" == "true" ]]; then
|
|
606
606
|
wisdom_count=$(echo "$wisdom_result" | jq -r '.result.entries // 0' 2>/dev/null)
|
|
@@ -610,7 +610,7 @@ body_claude: |
|
|
|
610
610
|
fi
|
|
611
611
|
|
|
612
612
|
# Export standalone colony-registry.xml for lineage tracking
|
|
613
|
-
registry_result=$(
|
|
613
|
+
registry_result=$(aether registry-export-xml ".aether/exchange/colony-registry.xml" 2>&1)
|
|
614
614
|
registry_ok=$(echo "$registry_result" | jq -r '.ok // false' 2>/dev/null)
|
|
615
615
|
if [[ "$registry_ok" == "true" ]]; then
|
|
616
616
|
registry_count=$(echo "$registry_result" | jq -r '.result.colonies // 0' 2>/dev/null)
|
|
@@ -689,7 +689,7 @@ body_claude: |
|
|
|
689
689
|
|
|
690
690
|
Generate a seal commit message:
|
|
691
691
|
```bash
|
|
692
|
-
seal_commit=$(
|
|
692
|
+
seal_commit=$(aether generate-commit-message seal "$phases_completed" "$goal" "$colony_age_days" 2>/dev/null)
|
|
693
693
|
seal_message=$(echo "$seal_commit" | jq -r '.result.message // "aether-seal: colony sealed"')
|
|
694
694
|
seal_body=$(echo "$seal_commit" | jq -r '.result.body // ""')
|
|
695
695
|
```
|
|
@@ -932,7 +932,7 @@ body_opencode: |
|
|
|
932
932
|
- Summarize the goal and key outcomes in one line
|
|
933
933
|
|
|
934
934
|
```bash
|
|
935
|
-
|
|
935
|
+
aether changelog-append \
|
|
936
936
|
"$(date +%Y-%m-%d)" \
|
|
937
937
|
"seal-crowned-anthill" \
|
|
938
938
|
"00" \
|
|
@@ -953,7 +953,7 @@ body_opencode: |
|
|
|
953
953
|
|
|
954
954
|
Run using the Bash tool (ignore errors):
|
|
955
955
|
```bash
|
|
956
|
-
|
|
956
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --active false 2>/dev/null || true
|
|
957
957
|
```
|
|
958
958
|
|
|
959
959
|
If the command fails, proceed silently. This is optional bookkeeping.
|
|
@@ -998,7 +998,7 @@ body_opencode: |
|
|
|
998
998
|
[[ -n "$repo_domain_tags" ]] && promote_args+=(--domain "$repo_domain_tags")
|
|
999
999
|
|
|
1000
1000
|
# Call hive-promote which orchestrates abstract + store
|
|
1001
|
-
result=$(
|
|
1001
|
+
result=$(aether "${promote_args[@]}" 2>/dev/null || echo '{}')
|
|
1002
1002
|
was_promoted=$(echo "$result" | jq -r '.result.action // "skipped"' 2>/dev/null || echo "skipped")
|
|
1003
1003
|
|
|
1004
1004
|
if [[ "$was_promoted" == "promoted" || "$was_promoted" == "merged" ]]; then
|
|
@@ -1044,7 +1044,7 @@ body_opencode: |
|
|
|
1044
1044
|
```bash
|
|
1045
1045
|
# Check if xmllint is available
|
|
1046
1046
|
if command -v xmllint >/dev/null 2>&1; then
|
|
1047
|
-
xml_result=$(
|
|
1047
|
+
xml_result=$(aether colony-archive-xml --output ".aether/exchange/colony-archive.xml" 2>&1)
|
|
1048
1048
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
1049
1049
|
if [[ "$xml_ok" == "true" ]]; then
|
|
1050
1050
|
xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
|
|
@@ -1054,7 +1054,7 @@ body_opencode: |
|
|
|
1054
1054
|
fi
|
|
1055
1055
|
|
|
1056
1056
|
# Also export standalone pheromones.xml for cross-colony sharing
|
|
1057
|
-
pher_result=$(
|
|
1057
|
+
pher_result=$(aether pheromone-export-xml --output ".aether/exchange/pheromones.xml" 2>&1)
|
|
1058
1058
|
pher_ok=$(echo "$pher_result" | jq -r '.ok // false' 2>/dev/null)
|
|
1059
1059
|
if [[ "$pher_ok" == "true" ]]; then
|
|
1060
1060
|
pher_signal_count=$(jq '[.signals[] | select(.active != false)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
|
|
@@ -1064,7 +1064,7 @@ body_opencode: |
|
|
|
1064
1064
|
fi
|
|
1065
1065
|
|
|
1066
1066
|
# Export standalone queen-wisdom.xml for cross-colony wisdom sharing
|
|
1067
|
-
wisdom_result=$(
|
|
1067
|
+
wisdom_result=$(aether wisdom-export-xml ".aether/exchange/queen-wisdom.xml" 2>&1)
|
|
1068
1068
|
wisdom_ok=$(echo "$wisdom_result" | jq -r '.ok // false' 2>/dev/null)
|
|
1069
1069
|
if [[ "$wisdom_ok" == "true" ]]; then
|
|
1070
1070
|
wisdom_count=$(echo "$wisdom_result" | jq -r '.result.entries // 0' 2>/dev/null)
|
|
@@ -1074,7 +1074,7 @@ body_opencode: |
|
|
|
1074
1074
|
fi
|
|
1075
1075
|
|
|
1076
1076
|
# Export standalone colony-registry.xml for lineage tracking
|
|
1077
|
-
registry_result=$(
|
|
1077
|
+
registry_result=$(aether registry-export-xml ".aether/exchange/colony-registry.xml" 2>&1)
|
|
1078
1078
|
registry_ok=$(echo "$registry_result" | jq -r '.ok // false' 2>/dev/null)
|
|
1079
1079
|
if [[ "$registry_ok" == "true" ]]; then
|
|
1080
1080
|
registry_count=$(echo "$registry_result" | jq -r '.result.colonies // 0' 2>/dev/null)
|
|
@@ -1145,7 +1145,7 @@ body_opencode: |
|
|
|
1145
1145
|
|
|
1146
1146
|
Generate a seal commit message:
|
|
1147
1147
|
```bash
|
|
1148
|
-
seal_commit=$(
|
|
1148
|
+
seal_commit=$(aether generate-commit-message seal "$phases_completed" "$goal" "$colony_age_days" 2>/dev/null)
|
|
1149
1149
|
seal_message=$(echo "$seal_commit" | jq -r '.result.message // "aether-seal: colony sealed"')
|
|
1150
1150
|
seal_body=$(echo "$seal_commit" | jq -r '.result.body // ""')
|
|
1151
1151
|
```
|
|
@@ -225,7 +225,7 @@ body_claude: |
|
|
|
225
225
|
Run using the Bash tool with description "Verifying skill frontmatter...":
|
|
226
226
|
|
|
227
227
|
```bash
|
|
228
|
-
|
|
228
|
+
aether skill-parse-frontmatter ~/.aether/skills/domain/{SKILL_NAME}/SKILL.md
|
|
229
229
|
```
|
|
230
230
|
|
|
231
231
|
Check the output. If the result contains `"ok": true` (or the parsed JSON shows the correct name and type), the skill is valid. If parsing fails, fix the frontmatter and retry once.
|
|
@@ -235,7 +235,7 @@ body_claude: |
|
|
|
235
235
|
Run using the Bash tool with description "Rebuilding skill cache...":
|
|
236
236
|
|
|
237
237
|
```bash
|
|
238
|
-
|
|
238
|
+
aether skill-cache-rebuild
|
|
239
239
|
```
|
|
240
240
|
|
|
241
241
|
**4d. Show the result**
|
|
@@ -330,8 +330,8 @@ body_opencode: |
|
|
|
330
330
|
### Step 4: Write and Verify
|
|
331
331
|
|
|
332
332
|
1. Write to `~/.aether/skills/domain/{name}/SKILL.md`
|
|
333
|
-
2. Run: `
|
|
334
|
-
3. Run: `
|
|
333
|
+
2. Run: `aether skill-parse-frontmatter ~/.aether/skills/domain/{name}/SKILL.md`
|
|
334
|
+
3. Run: `aether skill-cache-rebuild`
|
|
335
335
|
4. Show the generated skill to the user
|
|
336
336
|
5. Ask if they want to adjust anything
|
|
337
337
|
|
|
@@ -8,7 +8,7 @@ body: |
|
|
|
8
8
|
|
|
9
9
|
### Step 0: Version Check (Non-blocking)
|
|
10
10
|
|
|
11
|
-
{{TOOL_PREFIX "Checking colony version..."}} `
|
|
11
|
+
{{TOOL_PREFIX "Checking colony version..."}} `aether version-check-cached 2>/dev/null || true`
|
|
12
12
|
|
|
13
13
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
14
14
|
|
|
@@ -50,7 +50,7 @@ body: |
|
|
|
50
50
|
|
|
51
51
|
### Step 1.5: Load State and Show Resumption Context
|
|
52
52
|
|
|
53
|
-
{{TOOL_PREFIX "Loading colony state..."}} `
|
|
53
|
+
{{TOOL_PREFIX "Loading colony state..."}} `aether load-state`
|
|
54
54
|
|
|
55
55
|
If successful and goal is not null:
|
|
56
56
|
1. Extract current_phase from state
|
|
@@ -68,7 +68,7 @@ body: |
|
|
|
68
68
|
- Read .aether/HANDOFF.md content for additional context
|
|
69
69
|
- Remove .aether/HANDOFF.md after displaying (cleanup)
|
|
70
70
|
|
|
71
|
-
{{TOOL_PREFIX "Releasing colony lock..."}} `
|
|
71
|
+
{{TOOL_PREFIX "Releasing colony lock..."}} `aether unload-state` to release lock.
|
|
72
72
|
|
|
73
73
|
### Step 2: Compute Summary
|
|
74
74
|
|
|
@@ -116,7 +116,7 @@ body: |
|
|
|
116
116
|
|
|
117
117
|
Run using the Bash tool with description "Reading colony depth...":
|
|
118
118
|
```bash
|
|
119
|
-
depth_result=$(
|
|
119
|
+
depth_result=$(aether colony-depth get 2>/dev/null || echo '{"ok":true,"result":{"depth":"standard","source":"default"}}')
|
|
120
120
|
colony_depth=$(echo "$depth_result" | jq -r '.result.depth // "standard"')
|
|
121
121
|
depth_source=$(echo "$depth_result" | jq -r '.result.source // "default"')
|
|
122
122
|
echo "colony_depth=$colony_depth"
|
|
@@ -150,7 +150,7 @@ body: |
|
|
|
150
150
|
- Constraints count: `constraints.length`
|
|
151
151
|
|
|
152
152
|
**Flags:**
|
|
153
|
-
{{TOOL_PREFIX "Checking for blockers..."}} `
|
|
153
|
+
{{TOOL_PREFIX "Checking for blockers..."}} `aether flag-check-blockers`
|
|
154
154
|
Extract:
|
|
155
155
|
- Blockers count (critical, block advancement)
|
|
156
156
|
- Issues count (high, warnings)
|
|
@@ -161,7 +161,7 @@ body: |
|
|
|
161
161
|
|
|
162
162
|
{{TOOL_PREFIX "Checking escalation state..."}}
|
|
163
163
|
```bash
|
|
164
|
-
escalated_count=$(
|
|
164
|
+
escalated_count=$(aether flag-list --type blocker --json 2>/dev/null | jq '[.result.flags[] | select(.source == "escalation")] | length' 2>/dev/null || echo "0")
|
|
165
165
|
echo "escalated_count=$escalated_count"
|
|
166
166
|
```
|
|
167
167
|
|
|
@@ -180,7 +180,7 @@ body: |
|
|
|
180
180
|
|
|
181
181
|
### Step 2.6: Detect Milestone
|
|
182
182
|
|
|
183
|
-
{{TOOL_PREFIX "Detecting colony milestone..."}} `
|
|
183
|
+
{{TOOL_PREFIX "Detecting colony milestone..."}} `aether milestone-detect`
|
|
184
184
|
|
|
185
185
|
Extract from JSON result:
|
|
186
186
|
- `milestone`: Current milestone name
|
|
@@ -192,7 +192,7 @@ body: |
|
|
|
192
192
|
|
|
193
193
|
{{TOOL_PREFIX "Loading memory health metrics..."}}
|
|
194
194
|
```bash
|
|
195
|
-
|
|
195
|
+
aether memory-metrics
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
Extract from JSON result:
|
|
@@ -226,8 +226,8 @@ body: |
|
|
|
226
226
|
fi
|
|
227
227
|
|
|
228
228
|
# Generate progress bars
|
|
229
|
-
phase_bar=$(
|
|
230
|
-
task_bar=$(
|
|
229
|
+
phase_bar=$(aether generate-progress-bar "$current_phase" "$total_phases" 20)
|
|
230
|
+
task_bar=$(aether generate-progress-bar "$tasks_completed" "$tasks_total" 20)
|
|
231
231
|
|
|
232
232
|
echo "phase_bar=$phase_bar"
|
|
233
233
|
echo "task_bar=$task_bar"
|
|
@@ -303,7 +303,7 @@ body: |
|
|
|
303
303
|
**Colony Vital Signs:**
|
|
304
304
|
After the Memory Health table, run:
|
|
305
305
|
```bash
|
|
306
|
-
|
|
306
|
+
aether colony-vital-signs
|
|
307
307
|
```
|
|
308
308
|
|
|
309
309
|
Extract from JSON result:
|
|
@@ -347,7 +347,7 @@ body: |
|
|
|
347
347
|
**Data Safety:**
|
|
348
348
|
After the Colony Vital Signs panel, run:
|
|
349
349
|
```bash
|
|
350
|
-
|
|
350
|
+
aether data-safety-stats
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
If the result contains non-zero counts, display:
|
|
@@ -365,7 +365,7 @@ body: |
|
|
|
365
365
|
**Pheromone Summary:**
|
|
366
366
|
After the Data Safety section, run:
|
|
367
367
|
```bash
|
|
368
|
-
|
|
368
|
+
aether pheromone-count
|
|
369
369
|
```
|
|
370
370
|
|
|
371
371
|
Display:
|
|
@@ -402,7 +402,7 @@ body: |
|
|
|
402
402
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
403
403
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
404
404
|
|
|
405
|
-
|
|
405
|
+
aether print-next-up
|
|
406
406
|
```
|
|
407
407
|
|
|
408
408
|
This auto-generates state-based recommendations (IDLE → init, READY → build, EXECUTING → continue, PLANNING → plan).
|
|
@@ -57,7 +57,7 @@ body_claude: |
|
|
|
57
57
|
|
|
58
58
|
Initialize swarm findings:
|
|
59
59
|
```bash
|
|
60
|
-
|
|
60
|
+
aether swarm-findings-init --id "<swarm_id>"
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
#### Step 2.5: Check for Stale Swarm Session
|
|
@@ -69,19 +69,19 @@ body_claude: |
|
|
|
69
69
|
|
|
70
70
|
Check for stale swarm files:
|
|
71
71
|
```bash
|
|
72
|
-
stale_check=$(
|
|
72
|
+
stale_check=$(aether session-verify-fresh --command swarm "" "$SWARM_START")
|
|
73
73
|
has_stale=$(echo "$stale_check" | jq -r '.stale | length')
|
|
74
74
|
|
|
75
75
|
if [[ "$has_stale" -gt 0 ]]; then
|
|
76
76
|
# Auto-clear stale swarm findings (safe - findings are temporary)
|
|
77
|
-
|
|
77
|
+
aether session-clear --command swarm
|
|
78
78
|
echo "Cleared stale swarm findings for fresh investigation"
|
|
79
79
|
fi
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
After initializing findings, verify swarm files are fresh:
|
|
83
83
|
```bash
|
|
84
|
-
verify_result=$(
|
|
84
|
+
verify_result=$(aether session-verify-fresh --command swarm "" "$SWARM_START")
|
|
85
85
|
if [[ $(echo "$verify_result" | jq -r '.missing | length') -gt 0 ]]; then
|
|
86
86
|
echo "Warning: Swarm files not properly initialized"
|
|
87
87
|
fi
|
|
@@ -103,7 +103,7 @@ body_claude: |
|
|
|
103
103
|
|
|
104
104
|
Before any investigation that might lead to fixes, run using the Bash tool:
|
|
105
105
|
```bash
|
|
106
|
-
|
|
106
|
+
aether autofix-checkpoint --name "pre-swarm-$SWARM_ID"
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
Store the result for potential rollback:
|
|
@@ -118,7 +118,7 @@ body_claude: |
|
|
|
118
118
|
|
|
119
119
|
Read existing blockers for context:
|
|
120
120
|
```bash
|
|
121
|
-
|
|
121
|
+
aether flag-list --type blocker --json
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
Read recent activity:
|
|
@@ -206,7 +206,7 @@ body_claude: |
|
|
|
206
206
|
|
|
207
207
|
As each scout returns, add their findings:
|
|
208
208
|
```bash
|
|
209
|
-
|
|
209
|
+
aether swarm-findings-add "{swarm_id}" "{scout_type}" "{confidence}" '{finding_json}'
|
|
210
210
|
```
|
|
211
211
|
|
|
212
212
|
Display each scout's report as they complete:
|
|
@@ -235,7 +235,7 @@ body_claude: |
|
|
|
235
235
|
Rank fix options:
|
|
236
236
|
```
|
|
237
237
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
|
-
|
|
238
|
+
🏆 S O L U T I O N R A N K I N G
|
|
239
239
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
240
240
|
|
|
241
241
|
#1 [0.85 confidence] {best solution}
|
|
@@ -291,8 +291,8 @@ body_claude: |
|
|
|
291
291
|
|
|
292
292
|
Set solution in swarm findings and log success:
|
|
293
293
|
```bash
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
aether swarm-solution-set "{swarm_id}" '{solution_json}'
|
|
295
|
+
aether activity-log "SWARM_SUCCESS" "Queen" "Swarm {swarm_id} fixed: {brief description}"
|
|
296
296
|
```
|
|
297
297
|
|
|
298
298
|
**If verification fails:**
|
|
@@ -307,8 +307,8 @@ body_claude: |
|
|
|
307
307
|
|
|
308
308
|
Rollback and log failure:
|
|
309
309
|
```bash
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
aether autofix-rollback --type "{checkpoint_type}" --ref "{checkpoint_ref}"
|
|
311
|
+
aether activity-log "SWARM_FAILED" "Queen" "Swarm {swarm_id} fix failed verification"
|
|
312
312
|
```
|
|
313
313
|
|
|
314
314
|
Track attempt count. If this is the 3rd failure on the same issue:
|
|
@@ -334,7 +334,7 @@ body_claude: |
|
|
|
334
334
|
|
|
335
335
|
Archive findings:
|
|
336
336
|
```bash
|
|
337
|
-
|
|
337
|
+
aether swarm-cleanup "{swarm_id}" --archive
|
|
338
338
|
```
|
|
339
339
|
|
|
340
340
|
Generate the state-based Next Up block:
|
|
@@ -342,7 +342,7 @@ body_claude: |
|
|
|
342
342
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
343
343
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
344
344
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
345
|
-
|
|
345
|
+
aether print-next-up
|
|
346
346
|
```
|
|
347
347
|
|
|
348
348
|
body_opencode: |
|
|
@@ -28,7 +28,7 @@ body_claude: |
|
|
|
28
28
|
|
|
29
29
|
### Step 2: List All Chambers
|
|
30
30
|
|
|
31
|
-
Run using the Bash tool with description "Loading chamber list...": `
|
|
31
|
+
Run using the Bash tool with description "Loading chamber list...": `aether chamber-list`
|
|
32
32
|
|
|
33
33
|
Parse JSON result into array of chambers.
|
|
34
34
|
|
|
@@ -126,7 +126,7 @@ body_claude: |
|
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
To get the hash status, run using the Bash tool with description "Verifying chamber integrity...":
|
|
129
|
-
- Run `
|
|
129
|
+
- Run `aether chamber-verify --path .aether/chambers/{chamber_name}`
|
|
130
130
|
- If verified: hash_status = "verified"
|
|
131
131
|
- If not verified: hash_status = "hash mismatch"
|
|
132
132
|
- If error: hash_status = "error"
|
|
@@ -341,7 +341,7 @@ body_claude: |
|
|
|
341
341
|
# Import the EXTRACTED pheromone-only XML (NOT the combined colony-archive.xml)
|
|
342
342
|
# $import_tmp_pheromones has <pheromones> as root — the format pheromone-import-xml expects
|
|
343
343
|
# Second argument triggers prefix-tagging — imported signal IDs become "{source_colony}:original_id"
|
|
344
|
-
import_result=$(
|
|
344
|
+
import_result=$(aether pheromone-import-xml --input "$import_tmp_pheromones" --colony "$source_colony" 2>&1)
|
|
345
345
|
import_ok=$(echo "$import_result" | jq -r '.ok // false' 2>/dev/null)
|
|
346
346
|
|
|
347
347
|
if [[ "$import_ok" == "true" ]]; then
|
|
@@ -394,7 +394,7 @@ body_claude: |
|
|
|
394
394
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
395
395
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
396
396
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
397
|
-
|
|
397
|
+
aether print-next-up
|
|
398
398
|
```
|
|
399
399
|
|
|
400
400
|
## Implementation Notes
|
|
@@ -445,7 +445,7 @@ body_opencode: |
|
|
|
445
445
|
|
|
446
446
|
### Step 2: List All Chambers
|
|
447
447
|
|
|
448
|
-
Run: `
|
|
448
|
+
Run: `aether chamber-list`
|
|
449
449
|
|
|
450
450
|
Parse JSON result into array of chambers.
|
|
451
451
|
|
|
@@ -508,7 +508,7 @@ body_opencode: |
|
|
|
508
508
|
```
|
|
509
509
|
|
|
510
510
|
To get the counts and hash status:
|
|
511
|
-
- Run `
|
|
511
|
+
- Run `aether chamber-verify --path .aether/chambers/{chamber_name}`
|
|
512
512
|
- If verified: hash_status = "✅"
|
|
513
513
|
- If not verified: hash_status = "⚠️ hash mismatch"
|
|
514
514
|
- If error: hash_status = "⚠️ error"
|
|
@@ -751,7 +751,7 @@ body_opencode: |
|
|
|
751
751
|
# Import the EXTRACTED pheromone-only XML (NOT the combined colony-archive.xml)
|
|
752
752
|
# $import_tmp_pheromones has <pheromones> as root — the format pheromone-import-xml expects
|
|
753
753
|
# Second argument triggers prefix-tagging — imported signal IDs become "{source_colony}:original_id"
|
|
754
|
-
import_result=$(
|
|
754
|
+
import_result=$(aether pheromone-import-xml --input "$import_tmp_pheromones" --colony "$source_colony" 2>&1)
|
|
755
755
|
import_ok=$(echo "$import_result" | jq -r '.ok // false' 2>/dev/null)
|
|
756
756
|
|
|
757
757
|
if [[ "$import_ok" == "true" ]]; then
|
|
@@ -126,6 +126,6 @@ body: |
|
|
|
126
126
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
127
127
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
128
128
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
129
|
-
|
|
129
|
+
aether print-next-up
|
|
130
130
|
```
|
|
131
131
|
{{/claude}}
|
|
@@ -65,10 +65,10 @@ body: |
|
|
|
65
65
|
## Step 2: Check System Status
|
|
66
66
|
|
|
67
67
|
{{#claude}}
|
|
68
|
-
Run using the Bash tool with description "Checking colony version...": `
|
|
68
|
+
Run using the Bash tool with description "Checking colony version...": `aether version-check-cached 2>/dev/null || echo "Utils available"`
|
|
69
69
|
{{/claude}}
|
|
70
70
|
{{#opencode}}
|
|
71
|
-
Run using Bash tool: `
|
|
71
|
+
Run using Bash tool: `aether version-check-cached 2>/dev/null || echo "Utils available"`
|
|
72
72
|
{{/opencode}}
|
|
73
73
|
|
|
74
74
|
Check LiteLLM proxy status:
|
|
@@ -138,7 +138,7 @@ body: |
|
|
|
138
138
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
139
139
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
140
140
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
141
|
-
|
|
141
|
+
aether print-next-up
|
|
142
142
|
```
|
|
143
143
|
{{/claude}}
|
|
144
144
|
|