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
|
@@ -126,7 +126,7 @@ body_claude: |
|
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
128
|
# Check for pending proposals
|
|
129
|
-
proposals=$(
|
|
129
|
+
proposals=$(aether learning-check-promotion 2>/dev/null || echo '{"proposals":[]}')
|
|
130
130
|
proposal_count=$(echo "$proposals" | jq '.proposals | length')
|
|
131
131
|
|
|
132
132
|
if [[ "$proposal_count" -gt 0 ]]; then
|
|
@@ -140,7 +140,7 @@ body_claude: |
|
|
|
140
140
|
echo ""
|
|
141
141
|
|
|
142
142
|
# Run approval workflow (blocking)
|
|
143
|
-
|
|
143
|
+
aether learning-approve-proposals
|
|
144
144
|
|
|
145
145
|
echo ""
|
|
146
146
|
echo "Wisdom review complete. Proceeding with entombment..."
|
|
@@ -202,12 +202,12 @@ body_claude: |
|
|
|
202
202
|
```bash
|
|
203
203
|
queen_file=".aether/QUEEN.md"
|
|
204
204
|
if [[ ! -f "$queen_file" ]]; then
|
|
205
|
-
init_result=$(
|
|
205
|
+
init_result=$(aether queen-init 2>/dev/null || echo '{"ok":false}')
|
|
206
206
|
init_ok=$(echo "$init_result" | jq -r '.ok // false')
|
|
207
207
|
if [[ "$init_ok" == "true" ]]; then
|
|
208
208
|
created=$(echo "$init_result" | jq -r '.result.created // false')
|
|
209
209
|
if [[ "$created" == "true" ]]; then
|
|
210
|
-
|
|
210
|
+
aether activity-log "CREATED" "Queen" "Initialized QUEEN.md for wisdom storage"
|
|
211
211
|
fi
|
|
212
212
|
fi
|
|
213
213
|
fi
|
|
@@ -245,7 +245,7 @@ body_claude: |
|
|
|
245
245
|
|
|
246
246
|
Create the chamber:
|
|
247
247
|
```bash
|
|
248
|
-
|
|
248
|
+
aether chamber-create \
|
|
249
249
|
".aether/chambers/$chamber_name" \
|
|
250
250
|
".aether/data/COLONY_STATE.json" \
|
|
251
251
|
"$goal" \
|
|
@@ -295,7 +295,7 @@ body_claude: |
|
|
|
295
295
|
|
|
296
296
|
```bash
|
|
297
297
|
chamber_dir=".aether/chambers/$chamber_name"
|
|
298
|
-
xml_result=$(
|
|
298
|
+
xml_result=$(aether colony-archive-xml --output "$chamber_dir/colony-archive.xml" 2>&1)
|
|
299
299
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
300
300
|
|
|
301
301
|
if [[ "$xml_ok" != "true" ]]; then
|
|
@@ -323,7 +323,7 @@ body_claude: |
|
|
|
323
323
|
|
|
324
324
|
Run verification:
|
|
325
325
|
```bash
|
|
326
|
-
|
|
326
|
+
aether chamber-verify --path ".aether/chambers/$chamber_name"
|
|
327
327
|
```
|
|
328
328
|
|
|
329
329
|
If verification fails, display error and stop:
|
|
@@ -341,7 +341,7 @@ body_claude: |
|
|
|
341
341
|
|
|
342
342
|
Write colony summary to eternal memory:
|
|
343
343
|
```bash
|
|
344
|
-
|
|
344
|
+
aether eternal-init # idempotent
|
|
345
345
|
eternal_file="$HOME/.aether/eternal/memory.json"
|
|
346
346
|
if [[ -f "$eternal_file" ]]; then
|
|
347
347
|
colony_entry=$(jq -n \
|
|
@@ -441,7 +441,7 @@ body_claude: |
|
|
|
441
441
|
Display:
|
|
442
442
|
```
|
|
443
443
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
444
|
-
|
|
444
|
+
⚰️ C O L O N Y E N T O M B E D
|
|
445
445
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
446
446
|
|
|
447
447
|
Entombed v{colony_version}
|
|
@@ -679,7 +679,7 @@ body_opencode: |
|
|
|
679
679
|
|
|
680
680
|
Create the chamber:
|
|
681
681
|
```bash
|
|
682
|
-
|
|
682
|
+
aether chamber-create \
|
|
683
683
|
".aether/chambers/{chamber_name}" \
|
|
684
684
|
".aether/data/COLONY_STATE.json" \
|
|
685
685
|
"{goal}" \
|
|
@@ -697,7 +697,7 @@ body_opencode: |
|
|
|
697
697
|
|
|
698
698
|
```bash
|
|
699
699
|
chamber_dir=".aether/chambers/$chamber_name"
|
|
700
|
-
xml_result=$(
|
|
700
|
+
xml_result=$(aether colony-archive-xml --output "$chamber_dir/colony-archive.xml" 2>&1)
|
|
701
701
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
702
702
|
|
|
703
703
|
if [[ "$xml_ok" != "true" ]]; then
|
|
@@ -733,7 +733,7 @@ body_opencode: |
|
|
|
733
733
|
|
|
734
734
|
Run verification:
|
|
735
735
|
```bash
|
|
736
|
-
|
|
736
|
+
aether chamber-verify --path ".aether/chambers/{chamber_name}"
|
|
737
737
|
```
|
|
738
738
|
|
|
739
739
|
If verification fails, display error and stop:
|
|
@@ -20,7 +20,7 @@ body: |
|
|
|
20
20
|
|
|
21
21
|
Run using the Bash tool with description "Exporting pheromone signals to XML...":
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
aether pheromone-export-xml --output "<output_path>"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Parse the returned JSON:
|
|
@@ -59,6 +59,6 @@ body: |
|
|
|
59
59
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
60
60
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
61
61
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
62
|
-
|
|
62
|
+
aether print-next-up
|
|
63
63
|
```
|
|
64
64
|
{{/claude}}
|
|
@@ -32,7 +32,7 @@ body: |
|
|
|
32
32
|
{{#claude}}
|
|
33
33
|
{{TOOL_PREFIX "Recording colony feedback..."}}
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
aether pheromone-write --type FEEDBACK --content "<content>" --strength 0.7 --reason "User feedback guidance" --ttl <ttl>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
**Create instinct from feedback:**
|
|
@@ -59,14 +59,14 @@ body: |
|
|
|
59
59
|
|
|
60
60
|
{{TOOL_PREFIX "Updating context document..."}}
|
|
61
61
|
```bash
|
|
62
|
-
|
|
62
|
+
aether context-update --section constraint --key feedback --content "<content>" "user" 2>/dev/null || true
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
### Step 3: Get Active Counts
|
|
66
66
|
|
|
67
67
|
{{TOOL_PREFIX "Counting active signals..."}}
|
|
68
68
|
```bash
|
|
69
|
-
|
|
69
|
+
aether pheromone-count
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
### Step 4: Confirm
|
|
@@ -119,8 +119,8 @@ body: |
|
|
|
119
119
|
|
|
120
120
|
**Write pheromone signal and update context:**
|
|
121
121
|
```bash
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
aether pheromone-write --type FEEDBACK --content "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
|
|
123
|
+
aether context-update --section constraint --key feedback --content "$normalized_args" "user" 2>/dev/null || true
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### Step 3: Confirm
|
|
@@ -153,6 +153,6 @@ body: |
|
|
|
153
153
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
154
154
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
155
155
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
156
|
-
|
|
156
|
+
aether print-next-up
|
|
157
157
|
```
|
|
158
158
|
{{/claude}}
|
|
@@ -48,7 +48,7 @@ body: |
|
|
|
48
48
|
|
|
49
49
|
{{TOOL_PREFIX "Raising colony flag..."}}
|
|
50
50
|
```bash
|
|
51
|
-
|
|
51
|
+
aether flag-add --severity "{type}" --title "{title}" --description "{description}" --source "manual" --phase {phase_or_null}
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Parse the result for the flag ID.
|
|
@@ -144,7 +144,7 @@ body: |
|
|
|
144
144
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
145
145
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
146
146
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
147
|
-
|
|
147
|
+
aether print-next-up
|
|
148
148
|
```
|
|
149
149
|
{{/claude}}
|
|
150
150
|
|
|
@@ -32,7 +32,7 @@ body: |
|
|
|
32
32
|
If `--resolve` was provided:
|
|
33
33
|
{{/opencode}}
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
aether flag-resolve --id "{flag_id}" --message "{resolution_message}"
|
|
36
36
|
```
|
|
37
37
|
Output:
|
|
38
38
|
```
|
|
@@ -49,7 +49,7 @@ body: |
|
|
|
49
49
|
If `--ack` was provided:
|
|
50
50
|
{{/opencode}}
|
|
51
51
|
```bash
|
|
52
|
-
|
|
52
|
+
aether flag-acknowledge --id "{flag_id}"
|
|
53
53
|
```
|
|
54
54
|
Output:
|
|
55
55
|
```
|
|
@@ -68,7 +68,7 @@ body: |
|
|
|
68
68
|
Run:
|
|
69
69
|
{{/opencode}}
|
|
70
70
|
```bash
|
|
71
|
-
|
|
71
|
+
aether flag-list {options}
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
Parse result for flags array.
|
|
@@ -153,7 +153,7 @@ body: |
|
|
|
153
153
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
154
154
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
155
155
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
156
|
-
|
|
156
|
+
aether print-next-up
|
|
157
157
|
```
|
|
158
158
|
{{/claude}}
|
|
159
159
|
|
|
@@ -32,7 +32,7 @@ body: |
|
|
|
32
32
|
{{#claude}}
|
|
33
33
|
{{TOOL_PREFIX "Setting colony focus..."}}
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
aether pheromone-write --type FOCUS --content "<content>" --strength 0.8 --reason "User directed colony attention" --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 focus --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
|
|
@@ -75,8 +75,8 @@ body: |
|
|
|
75
75
|
|
|
76
76
|
**Write pheromone signal and update context:**
|
|
77
77
|
```bash
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
aether pheromone-write --type FOCUS --content "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
|
|
79
|
+
aether context-update --section constraint --key focus --content "$normalized_args" "user" 2>/dev/null || true
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
### Step 3: Confirm
|
|
@@ -107,6 +107,6 @@ body: |
|
|
|
107
107
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
108
108
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
109
109
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
110
|
-
|
|
110
|
+
aether print-next-up
|
|
111
111
|
```
|
|
112
112
|
{{/claude}}
|
|
@@ -162,6 +162,6 @@ body: |
|
|
|
162
162
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
163
163
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
164
164
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
165
|
-
|
|
165
|
+
aether print-next-up
|
|
166
166
|
```
|
|
167
167
|
{{/claude}}
|
|
@@ -132,6 +132,6 @@ body: |
|
|
|
132
132
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
133
133
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
134
134
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
135
|
-
|
|
135
|
+
aether print-next-up
|
|
136
136
|
```
|
|
137
137
|
{{/claude}}
|
|
@@ -33,7 +33,7 @@ body: |
|
|
|
33
33
|
|
|
34
34
|
Run using the Bash tool with description "Importing pheromone signals from XML...":
|
|
35
35
|
```bash
|
|
36
|
-
|
|
36
|
+
aether pheromone-import-xml --input "<xml_path>" --colony "<colony_prefix>"
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Parse the returned JSON:
|
|
@@ -74,6 +74,6 @@ body: |
|
|
|
74
74
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
75
75
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
76
76
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
77
|
-
|
|
77
|
+
aether print-next-up
|
|
78
78
|
```
|
|
79
79
|
{{/claude}}
|
|
@@ -44,7 +44,6 @@ body: |
|
|
|
44
44
|
- .aether/dreams/ (user notes)
|
|
45
45
|
- .aether/chambers/ (archived colonies)
|
|
46
46
|
- .env* files
|
|
47
|
-
- .claude/settings.json
|
|
48
47
|
- .github/workflows/
|
|
49
48
|
</read_only>
|
|
50
49
|
|
|
@@ -93,7 +92,7 @@ body: |
|
|
|
93
92
|
|
|
94
93
|
{{TOOL_PREFIX "Initializing QUEEN.md..."}}
|
|
95
94
|
```
|
|
96
|
-
|
|
95
|
+
aether queen-init
|
|
97
96
|
```
|
|
98
97
|
|
|
99
98
|
Parse the JSON result:
|
|
@@ -106,7 +105,7 @@ body: |
|
|
|
106
105
|
|
|
107
106
|
Run the scan via Bash tool:
|
|
108
107
|
```bash
|
|
109
|
-
scan_result=$(
|
|
108
|
+
scan_result=$(aether init-research 2>/dev/null)
|
|
110
109
|
scan_data=$(echo "$scan_result" | jq '.result')
|
|
111
110
|
```
|
|
112
111
|
|
|
@@ -159,7 +158,7 @@ body: |
|
|
|
159
158
|
Display a brief header:
|
|
160
159
|
```
|
|
161
160
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
162
|
-
|
|
161
|
+
🥚 A E T H E R C O L O N Y I N I T
|
|
163
162
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
164
163
|
```
|
|
165
164
|
|
|
@@ -277,14 +276,14 @@ body: |
|
|
|
277
276
|
|
|
278
277
|
1. Write charter content via:
|
|
279
278
|
```bash
|
|
280
|
-
|
|
279
|
+
aether charter-write --intent "{approved_intent}" --vision "{approved_vision}" --governance "{approved_governance}" --goals "{approved_goals}"
|
|
281
280
|
```
|
|
282
281
|
|
|
283
282
|
2. Auto-apply approved pheromone suggestions (see pheromone auto-apply below).
|
|
284
283
|
|
|
285
284
|
3. Update the goal field in COLONY_STATE.json in-place using the state API:
|
|
286
285
|
```bash
|
|
287
|
-
|
|
286
|
+
aether state-write "$(jq --arg new_goal "{approved_intent}" '.goal = $new_goal' .aether/data/COLONY_STATE.json)"
|
|
288
287
|
```
|
|
289
288
|
|
|
290
289
|
4. **Verify the write** — read back and confirm goal is set:
|
|
@@ -302,7 +301,7 @@ body: |
|
|
|
302
301
|
fi
|
|
303
302
|
```
|
|
304
303
|
|
|
305
|
-
5. Run `
|
|
304
|
+
5. Run `aether session-init "$(jq -r '.session_id' .aether/data/COLONY_STATE.json)" "{approved_intent}"`
|
|
306
305
|
|
|
307
306
|
6. Skip to Step 8 (display result). Do NOT write COLONY_STATE.json from template, do NOT write constraints.json, do NOT write pheromones.json.
|
|
308
307
|
|
|
@@ -360,12 +359,12 @@ body: |
|
|
|
360
359
|
done
|
|
361
360
|
```
|
|
362
361
|
|
|
363
|
-
8. Run `
|
|
364
|
-
9. Run `
|
|
362
|
+
8. Run `aether context-update init "{approved_intent}"`
|
|
363
|
+
9. Run `aether validate-state colony`
|
|
365
364
|
10. Register repo (silent on failure):
|
|
366
365
|
```bash
|
|
367
|
-
domain_tags=$(
|
|
368
|
-
|
|
366
|
+
domain_tags=$(aether domain-detect 2>/dev/null | jq -r '.result.tags // ""' || echo "")
|
|
367
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --goal "{approved_intent}" --active true --tags "$domain_tags" 2>/dev/null || true
|
|
369
368
|
cp ~/.aether/version.json .aether/version.json 2>/dev/null || true
|
|
370
369
|
```
|
|
371
370
|
11. Seed QUEEN.md from hive (non-blocking):
|
|
@@ -375,10 +374,10 @@ body: |
|
|
|
375
374
|
"$HOME/.aether/registry.json" 2>/dev/null || echo "")
|
|
376
375
|
seed_args="queen-seed-from-hive --limit 5"
|
|
377
376
|
[[ -n "$domain_tags" ]] && seed_args="$seed_args --domain $domain_tags"
|
|
378
|
-
seed_result=$(
|
|
377
|
+
seed_result=$(aether $seed_args 2>/dev/null || echo '{}')
|
|
379
378
|
seeded_count=$(echo "$seed_result" | jq -r '.result.seeded // 0' 2>/dev/null || echo "0")
|
|
380
379
|
```
|
|
381
|
-
12. Run `
|
|
380
|
+
12. Run `aether session-init "{session_id}" "{approved_intent}"`
|
|
382
381
|
|
|
383
382
|
**Pheromone auto-apply (referenced by both re-init and fresh init paths above):**
|
|
384
383
|
|
|
@@ -386,7 +385,7 @@ body: |
|
|
|
386
385
|
|
|
387
386
|
For each approved pheromone suggestion, call:
|
|
388
387
|
```bash
|
|
389
|
-
|
|
388
|
+
aether pheromone-write "{type}" '{content}' --source "system:init" --reason '{reason}' --ttl "30d" 2>/dev/null || true
|
|
390
389
|
```
|
|
391
390
|
|
|
392
391
|
Implementation notes:
|
|
@@ -444,21 +443,21 @@ body: |
|
|
|
444
443
|
```bash
|
|
445
444
|
# Import pheromones (per D-09)
|
|
446
445
|
if [[ -f "$latest_chamber/pheromones.xml" ]]; then
|
|
447
|
-
pher_import=$(
|
|
446
|
+
pher_import=$(aether pheromone-import-xml --input "$latest_chamber/pheromones.xml" --colony "imported" 2>/dev/null || echo '{"ok":false}')
|
|
448
447
|
pher_imported=$(echo "$pher_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
449
448
|
echo "Pheromones: ${pher_imported} signal(s) imported"
|
|
450
449
|
fi
|
|
451
450
|
|
|
452
451
|
# Import wisdom to queen-wisdom.json (per D-09)
|
|
453
452
|
if [[ -f "$latest_chamber/queen-wisdom.xml" ]]; then
|
|
454
|
-
wis_import=$(
|
|
453
|
+
wis_import=$(aether wisdom-import-xml "$latest_chamber/queen-wisdom.xml" ".aether/data/queen-wisdom.json" 2>/dev/null || echo '{"ok":false}')
|
|
455
454
|
wis_imported=$(echo "$wis_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
456
455
|
echo "Wisdom: ${wis_imported} entries(s) imported to queen-wisdom.json"
|
|
457
456
|
fi
|
|
458
457
|
|
|
459
458
|
# Import registry lineage (per D-09)
|
|
460
459
|
if [[ -f "$latest_chamber/colony-registry.xml" ]]; then
|
|
461
|
-
reg_import=$(
|
|
460
|
+
reg_import=$(aether registry-import-xml "$latest_chamber/colony-registry.xml" 2>/dev/null || echo '{"ok":false}')
|
|
462
461
|
reg_imported=$(echo "$reg_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
463
462
|
echo "Registry: ${reg_imported} colon(ies) lineage imported"
|
|
464
463
|
fi
|
|
@@ -473,30 +472,48 @@ body: |
|
|
|
473
472
|
**If xml_import_available is false (no chambers, no XML, or no xmllint):**
|
|
474
473
|
|
|
475
474
|
Skip silently -- proceed directly to Step 8 without any mention of import (per D-11).
|
|
475
|
+
### Step 7.5: Install Clash Detection Hook
|
|
476
|
+
|
|
477
|
+
If `.aether/utils/clash-detect.sh` exists, run:
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
aether clash-setup --install 2>/dev/null || true
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
This installs the PreToolUse hook that prevents conflicting edits across worktrees.
|
|
484
|
+
Non-blocking — if it fails, init continues normally.
|
|
485
|
+
|
|
486
|
+
Also configure the merge driver for package-lock.json:
|
|
487
|
+
|
|
488
|
+
```bash
|
|
489
|
+
git config merge.lockfile.driver "bash .aether/utils/merge-driver-lockfile.sh %O %A %B" 2>/dev/null || true
|
|
490
|
+
git config merge.lockfile.name "npm lockfile auto-merge" 2>/dev/null || true
|
|
491
|
+
```
|
|
492
|
+
|
|
476
493
|
### Step 8: Display Result
|
|
477
494
|
|
|
478
495
|
Display the success header and result block:
|
|
479
496
|
|
|
480
497
|
```
|
|
481
498
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
482
|
-
|
|
499
|
+
🥚 A E T H E R C O L O N Y
|
|
483
500
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
484
501
|
|
|
485
|
-
Queen has set the colony's intention
|
|
502
|
+
👑 Queen has set the colony's intention
|
|
486
503
|
|
|
487
504
|
"{approved_intent}"
|
|
488
505
|
|
|
489
|
-
Colony Status: READY
|
|
506
|
+
🟢 Colony Status: READY
|
|
490
507
|
|
|
491
|
-
{If re-init: " Mode: Re-init (charter updated, state preserved)"}
|
|
492
|
-
{If fresh and seeded_count > 0: " Hive wisdom: {seeded_count} cross-colony pattern(s) seeded into QUEEN.md"}
|
|
508
|
+
{If re-init: " 🔄 Mode: Re-init (charter updated, state preserved)"}
|
|
509
|
+
{If fresh and seeded_count > 0: " 🧠 Hive wisdom: {seeded_count} cross-colony pattern(s) seeded into QUEEN.md"}
|
|
493
510
|
|
|
494
|
-
State persisted -- safe to /clear, then run /ant:plan
|
|
511
|
+
💾 State persisted -- safe to /clear, then run /ant:plan
|
|
495
512
|
|
|
496
513
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
497
|
-
|
|
514
|
+
🐜 Next Up
|
|
498
515
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
499
|
-
/ant:plan Generate execution plan
|
|
500
|
-
/ant:status Check colony state
|
|
501
|
-
/ant:focus Set initial focus
|
|
516
|
+
/ant:plan 📊 Generate execution plan
|
|
517
|
+
/ant:status 📋 Check colony state
|
|
518
|
+
/ant:focus 🎯 Set initial focus
|
|
502
519
|
```
|
|
@@ -67,7 +67,7 @@ body: |
|
|
|
67
67
|
{{TOOL_PREFIX "Inserting corrective phase..."}}
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
|
|
70
|
+
aether phase-insert --name "<phase_name>" --goal "<goal_text>" --constraints "<constraints_text>"
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
Parse JSON result:
|
|
@@ -236,7 +236,7 @@ body: |
|
|
|
236
236
|
Run using the Bash tool with description "Logging interpretation activity...":
|
|
237
237
|
{{/claude}}
|
|
238
238
|
```bash
|
|
239
|
-
|
|
239
|
+
aether activity-log "INTERPRET" "Interpreter" "Dream review: {dream_file}, {confirmed} confirmed, {partial} partial, {unconfirmed} unconfirmed, {refuted} refuted, {actions_taken} actions taken"
|
|
240
240
|
```
|
|
241
241
|
|
|
242
242
|
### Step 8: Display Closing
|
|
@@ -268,7 +268,7 @@ body: |
|
|
|
268
268
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
269
269
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
270
270
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
271
|
-
|
|
271
|
+
aether print-next-up
|
|
272
272
|
```
|
|
273
273
|
{{/claude}}
|
|
274
274
|
|
|
@@ -145,11 +145,11 @@ body: |
|
|
|
145
145
|
{{#claude}}
|
|
146
146
|
Run using the Bash tool with description "Initializing QUEEN.md...":
|
|
147
147
|
```bash
|
|
148
|
-
|
|
148
|
+
aether queen-init
|
|
149
149
|
```
|
|
150
150
|
{{/claude}}
|
|
151
151
|
{{#opencode}}
|
|
152
|
-
Run: `
|
|
152
|
+
Run: `aether queen-init`
|
|
153
153
|
{{/opencode}}
|
|
154
154
|
|
|
155
155
|
Parse the JSON result:
|
|
@@ -167,7 +167,7 @@ body: |
|
|
|
167
167
|
Run (ignore errors):
|
|
168
168
|
{{/opencode}}
|
|
169
169
|
```bash
|
|
170
|
-
|
|
170
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" 2>/dev/null || true
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
### Step 7: Verify Setup
|
|
@@ -8,7 +8,7 @@ body: |
|
|
|
8
8
|
### Step 1: Detect Current Milestone
|
|
9
9
|
|
|
10
10
|
{{TOOL_PREFIX "Detecting colony milestone..."}}
|
|
11
|
-
`
|
|
11
|
+
`aether milestone-detect`
|
|
12
12
|
|
|
13
13
|
Parse JSON result to get:
|
|
14
14
|
- `milestone`: Current milestone name (First Mound, Open Chambers, Brood Stable, Ventilated Nest, Sealed Chambers, Crowned Anthill)
|
|
@@ -117,6 +117,6 @@ body: |
|
|
|
117
117
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
118
118
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
119
119
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
120
|
-
|
|
120
|
+
aether print-next-up
|
|
121
121
|
```
|
|
122
122
|
{{/claude}}
|
|
@@ -169,6 +169,6 @@ body: |
|
|
|
169
169
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
170
170
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
171
171
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
172
|
-
|
|
172
|
+
aether print-next-up
|
|
173
173
|
```
|
|
174
174
|
{{/claude}}
|