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
|
@@ -227,7 +227,7 @@ Colony status: /ant:status
|
|
|
227
227
|
Run using the Bash tool with description "Logging dream activity...":
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
|
-
|
|
230
|
+
aether activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
|
|
231
231
|
```
|
|
232
232
|
|
|
233
233
|
|
|
@@ -236,7 +236,7 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
236
236
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
237
237
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
238
238
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
239
|
-
|
|
239
|
+
aether print-next-up
|
|
240
240
|
```
|
|
241
241
|
|
|
242
242
|
|
|
@@ -129,7 +129,7 @@ Before archiving, review wisdom proposals accumulated during this colony's lifec
|
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
131
|
# Check for pending proposals
|
|
132
|
-
proposals=$(
|
|
132
|
+
proposals=$(aether learning-check-promotion 2>/dev/null || echo '{"proposals":[]}')
|
|
133
133
|
proposal_count=$(echo "$proposals" | jq '.proposals | length')
|
|
134
134
|
|
|
135
135
|
if [[ "$proposal_count" -gt 0 ]]; then
|
|
@@ -143,7 +143,7 @@ if [[ "$proposal_count" -gt 0 ]]; then
|
|
|
143
143
|
echo ""
|
|
144
144
|
|
|
145
145
|
# Run approval workflow (blocking)
|
|
146
|
-
|
|
146
|
+
aether learning-approve-proposals
|
|
147
147
|
|
|
148
148
|
echo ""
|
|
149
149
|
echo "Wisdom review complete. Proceeding with entombment..."
|
|
@@ -205,12 +205,12 @@ Verify QUEEN.md is initialized for wisdom storage:
|
|
|
205
205
|
```bash
|
|
206
206
|
queen_file=".aether/QUEEN.md"
|
|
207
207
|
if [[ ! -f "$queen_file" ]]; then
|
|
208
|
-
init_result=$(
|
|
208
|
+
init_result=$(aether queen-init 2>/dev/null || echo '{"ok":false}')
|
|
209
209
|
init_ok=$(echo "$init_result" | jq -r '.ok // false')
|
|
210
210
|
if [[ "$init_ok" == "true" ]]; then
|
|
211
211
|
created=$(echo "$init_result" | jq -r '.result.created // false')
|
|
212
212
|
if [[ "$created" == "true" ]]; then
|
|
213
|
-
|
|
213
|
+
aether activity-log "CREATED" "Queen" "Initialized QUEEN.md for wisdom storage"
|
|
214
214
|
fi
|
|
215
215
|
fi
|
|
216
216
|
fi
|
|
@@ -248,7 +248,7 @@ version=$(jq -r '.version // "3.0"' .aether/data/COLONY_STATE.json)
|
|
|
248
248
|
|
|
249
249
|
Create the chamber:
|
|
250
250
|
```bash
|
|
251
|
-
|
|
251
|
+
aether chamber-create \
|
|
252
252
|
".aether/chambers/$chamber_name" \
|
|
253
253
|
".aether/data/COLONY_STATE.json" \
|
|
254
254
|
"$goal" \
|
|
@@ -298,7 +298,7 @@ Export combined XML archive to the chamber. This is a HARD REQUIREMENT — entom
|
|
|
298
298
|
|
|
299
299
|
```bash
|
|
300
300
|
chamber_dir=".aether/chambers/$chamber_name"
|
|
301
|
-
xml_result=$(
|
|
301
|
+
xml_result=$(aether colony-archive-xml --output "$chamber_dir/colony-archive.xml" 2>&1)
|
|
302
302
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
303
303
|
|
|
304
304
|
if [[ "$xml_ok" != "true" ]]; then
|
|
@@ -326,7 +326,7 @@ xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} signal
|
|
|
326
326
|
|
|
327
327
|
Run verification:
|
|
328
328
|
```bash
|
|
329
|
-
|
|
329
|
+
aether chamber-verify --path ".aether/chambers/$chamber_name"
|
|
330
330
|
```
|
|
331
331
|
|
|
332
332
|
If verification fails, display error and stop:
|
|
@@ -344,7 +344,7 @@ Stop here.
|
|
|
344
344
|
|
|
345
345
|
Write colony summary to eternal memory:
|
|
346
346
|
```bash
|
|
347
|
-
|
|
347
|
+
aether eternal-init # idempotent
|
|
348
348
|
eternal_file="$HOME/.aether/eternal/memory.json"
|
|
349
349
|
if [[ -f "$eternal_file" ]]; then
|
|
350
350
|
colony_entry=$(jq -n \
|
|
@@ -444,7 +444,7 @@ Write the result to .aether/HANDOFF.md using the Write tool.
|
|
|
444
444
|
Display:
|
|
445
445
|
```
|
|
446
446
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
447
|
-
|
|
447
|
+
⚰️ C O L O N Y E N T O M B E D
|
|
448
448
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
449
449
|
|
|
450
450
|
Entombed v{colony_version}
|
|
@@ -23,7 +23,7 @@ Parse `$ARGUMENTS`:
|
|
|
23
23
|
|
|
24
24
|
Run using the Bash tool with description "Exporting pheromone signals to XML...":
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
aether pheromone-export-xml --output "<output_path>"
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Parse the returned JSON:
|
|
@@ -52,6 +52,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
52
52
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
53
53
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
54
54
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
55
|
-
|
|
55
|
+
aether print-next-up
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -32,7 +32,7 @@ If `goal: null` -> "No colony initialized.", stop.
|
|
|
32
32
|
|
|
33
33
|
Run using the Bash tool with description "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 @@ Write COLONY_STATE.json.
|
|
|
59
59
|
|
|
60
60
|
Run using the Bash tool with description "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
|
Run using the Bash tool with description "Counting active signals...":
|
|
68
68
|
```bash
|
|
69
|
-
|
|
69
|
+
aether pheromone-count
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
### Step 4: Confirm
|
|
@@ -91,6 +91,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
91
91
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
92
92
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
93
93
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
94
|
-
|
|
94
|
+
aether print-next-up
|
|
95
95
|
```
|
|
96
96
|
|
|
@@ -51,7 +51,7 @@ Stop here.
|
|
|
51
51
|
|
|
52
52
|
Run using the Bash tool with description "Raising colony flag...":
|
|
53
53
|
```bash
|
|
54
|
-
|
|
54
|
+
aether flag-add --severity "{type}" --title "{title}" --description "{description}" --source "manual" --phase {phase_or_null}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Parse the result for the flag ID.
|
|
@@ -135,7 +135,7 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
135
135
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
136
136
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
137
137
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
138
|
-
|
|
138
|
+
aether print-next-up
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
|
|
@@ -33,7 +33,7 @@ If `--resolve` was provided, run using the Bash tool with description "Resolving
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
|
|
36
|
+
aether flag-resolve --id "{flag_id}" --message "{resolution_message}"
|
|
37
37
|
```
|
|
38
38
|
Output:
|
|
39
39
|
```
|
|
@@ -48,7 +48,7 @@ If `--ack` was provided, run using the Bash tool with description "Acknowledging
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
|
|
51
|
+
aether flag-acknowledge --id "{flag_id}"
|
|
52
52
|
```
|
|
53
53
|
Output:
|
|
54
54
|
```
|
|
@@ -65,7 +65,7 @@ Run using the Bash tool with description "Loading colony flags...":
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
|
-
|
|
68
|
+
aether flag-list {options}
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
Parse result for flags array.
|
|
@@ -145,7 +145,7 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
145
145
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
146
146
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
147
147
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
148
|
-
|
|
148
|
+
aether print-next-up
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
|
|
@@ -32,7 +32,7 @@ If `goal: null` -> "No colony initialized.", stop.
|
|
|
32
32
|
|
|
33
33
|
Run using the Bash tool with description "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 @@ Parse the returned JSON for the signal ID.
|
|
|
41
41
|
|
|
42
42
|
Run using the Bash tool with description "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
|
Run using the Bash tool with description "Counting active signals...":
|
|
50
50
|
```bash
|
|
51
|
-
|
|
51
|
+
aether pheromone-count
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
### Step 4: Confirm
|
|
@@ -71,6 +71,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
71
71
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
72
72
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
73
73
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
74
|
-
|
|
74
|
+
aether print-next-up
|
|
75
75
|
```
|
|
76
76
|
|
|
@@ -149,6 +149,6 @@ Generate the state-based Next Up block by Run using the Bash tool with descripti
|
|
|
149
149
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
150
150
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
151
151
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
152
|
-
|
|
152
|
+
aether print-next-up
|
|
153
153
|
```
|
|
154
154
|
|
|
@@ -135,6 +135,6 @@ Generate the state-based Next Up block using the Bash tool with description "Gen
|
|
|
135
135
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
136
136
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
137
137
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
138
|
-
|
|
138
|
+
aether print-next-up
|
|
139
139
|
```
|
|
140
140
|
|
|
@@ -36,7 +36,7 @@ Verify the XML file exists. If not -> "File not found: <path>", stop.
|
|
|
36
36
|
|
|
37
37
|
Run using the Bash tool with description "Importing pheromone signals from XML...":
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
aether pheromone-import-xml --input "<xml_path>" --colony "<colony_prefix>"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Parse the returned JSON:
|
|
@@ -66,6 +66,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
66
66
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
67
67
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
68
68
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
69
|
-
|
|
69
|
+
aether print-next-up
|
|
70
70
|
```
|
|
71
71
|
|
|
@@ -41,7 +41,6 @@ Do not touch during init:
|
|
|
41
41
|
- .aether/dreams/ (user notes)
|
|
42
42
|
- .aether/chambers/ (archived colonies)
|
|
43
43
|
- .env* files
|
|
44
|
-
- .claude/settings.json
|
|
45
44
|
- .github/workflows/
|
|
46
45
|
</read_only>
|
|
47
46
|
|
|
@@ -90,7 +89,7 @@ Stop here. Do not proceed.
|
|
|
90
89
|
|
|
91
90
|
Run using the Bash tool with description "Initializing QUEEN.md...":
|
|
92
91
|
```
|
|
93
|
-
|
|
92
|
+
aether queen-init
|
|
94
93
|
```
|
|
95
94
|
|
|
96
95
|
Parse the JSON result:
|
|
@@ -103,7 +102,7 @@ This step is non-blocking -- proceed regardless of outcome.
|
|
|
103
102
|
|
|
104
103
|
Run the scan via Bash tool:
|
|
105
104
|
```bash
|
|
106
|
-
scan_result=$(
|
|
105
|
+
scan_result=$(aether init-research 2>/dev/null)
|
|
107
106
|
scan_data=$(echo "$scan_result" | jq '.result')
|
|
108
107
|
```
|
|
109
108
|
|
|
@@ -156,7 +155,7 @@ Strip `(Colony: ...)` suffixes using sed. If grep finds nothing, variables remai
|
|
|
156
155
|
Display a brief header:
|
|
157
156
|
```
|
|
158
157
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
159
|
-
|
|
158
|
+
🥚 A E T H E R C O L O N Y I N I T
|
|
160
159
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
161
160
|
```
|
|
162
161
|
|
|
@@ -274,14 +273,14 @@ Only reached after user approval. ALL file writes happen here.
|
|
|
274
273
|
|
|
275
274
|
1. Write charter content via:
|
|
276
275
|
```bash
|
|
277
|
-
|
|
276
|
+
aether charter-write --intent "{approved_intent}" --vision "{approved_vision}" --governance "{approved_governance}" --goals "{approved_goals}"
|
|
278
277
|
```
|
|
279
278
|
|
|
280
279
|
2. Auto-apply approved pheromone suggestions (see pheromone auto-apply below).
|
|
281
280
|
|
|
282
281
|
3. Update the goal field in COLONY_STATE.json in-place using the state API:
|
|
283
282
|
```bash
|
|
284
|
-
|
|
283
|
+
aether state-write "$(jq --arg new_goal "{approved_intent}" '.goal = $new_goal' .aether/data/COLONY_STATE.json)"
|
|
285
284
|
```
|
|
286
285
|
|
|
287
286
|
4. **Verify the write** — read back and confirm goal is set:
|
|
@@ -299,7 +298,7 @@ if [[ "$verify_goal" == "null" || -z "$verify_goal" ]]; then
|
|
|
299
298
|
fi
|
|
300
299
|
```
|
|
301
300
|
|
|
302
|
-
5. Run `
|
|
301
|
+
5. Run `aether session-init "$(jq -r '.session_id' .aether/data/COLONY_STATE.json)" "{approved_intent}"`
|
|
303
302
|
|
|
304
303
|
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.
|
|
305
304
|
|
|
@@ -357,12 +356,12 @@ for template in pheromones midden learning-observations; do
|
|
|
357
356
|
done
|
|
358
357
|
```
|
|
359
358
|
|
|
360
|
-
8. Run `
|
|
361
|
-
9. Run `
|
|
359
|
+
8. Run `aether context-update init "{approved_intent}"`
|
|
360
|
+
9. Run `aether validate-state colony`
|
|
362
361
|
10. Register repo (silent on failure):
|
|
363
362
|
```bash
|
|
364
|
-
domain_tags=$(
|
|
365
|
-
|
|
363
|
+
domain_tags=$(aether domain-detect 2>/dev/null | jq -r '.result.tags // ""' || echo "")
|
|
364
|
+
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
|
|
366
365
|
cp ~/.aether/version.json .aether/version.json 2>/dev/null || true
|
|
367
366
|
```
|
|
368
367
|
11. Seed QUEEN.md from hive (non-blocking):
|
|
@@ -372,10 +371,10 @@ domain_tags=$(jq -r --arg repo "$(pwd)" \
|
|
|
372
371
|
"$HOME/.aether/registry.json" 2>/dev/null || echo "")
|
|
373
372
|
seed_args="queen-seed-from-hive --limit 5"
|
|
374
373
|
[[ -n "$domain_tags" ]] && seed_args="$seed_args --domain $domain_tags"
|
|
375
|
-
seed_result=$(
|
|
374
|
+
seed_result=$(aether $seed_args 2>/dev/null || echo '{}')
|
|
376
375
|
seeded_count=$(echo "$seed_result" | jq -r '.result.seeded // 0' 2>/dev/null || echo "0")
|
|
377
376
|
```
|
|
378
|
-
12. Run `
|
|
377
|
+
12. Run `aether session-init "{session_id}" "{approved_intent}"`
|
|
379
378
|
|
|
380
379
|
**Pheromone auto-apply (referenced by both re-init and fresh init paths above):**
|
|
381
380
|
|
|
@@ -383,7 +382,7 @@ If approved pheromone suggestions exist (the user kept them in the prompt and di
|
|
|
383
382
|
|
|
384
383
|
For each approved pheromone suggestion, call:
|
|
385
384
|
```bash
|
|
386
|
-
|
|
385
|
+
aether pheromone-write "{type}" '{content}' --source "system:init" --reason '{reason}' --ttl "30d" 2>/dev/null || true
|
|
387
386
|
```
|
|
388
387
|
|
|
389
388
|
Implementation notes:
|
|
@@ -441,21 +440,21 @@ Import ALL available data types (per D-09 -- no cherry-picking):
|
|
|
441
440
|
```bash
|
|
442
441
|
# Import pheromones (per D-09)
|
|
443
442
|
if [[ -f "$latest_chamber/pheromones.xml" ]]; then
|
|
444
|
-
pher_import=$(
|
|
443
|
+
pher_import=$(aether pheromone-import-xml --input "$latest_chamber/pheromones.xml" --colony "imported" 2>/dev/null || echo '{"ok":false}')
|
|
445
444
|
pher_imported=$(echo "$pher_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
446
445
|
echo "Pheromones: ${pher_imported} signal(s) imported"
|
|
447
446
|
fi
|
|
448
447
|
|
|
449
448
|
# Import wisdom to queen-wisdom.json (per D-09)
|
|
450
449
|
if [[ -f "$latest_chamber/queen-wisdom.xml" ]]; then
|
|
451
|
-
wis_import=$(
|
|
450
|
+
wis_import=$(aether wisdom-import-xml "$latest_chamber/queen-wisdom.xml" ".aether/data/queen-wisdom.json" 2>/dev/null || echo '{"ok":false}')
|
|
452
451
|
wis_imported=$(echo "$wis_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
453
452
|
echo "Wisdom: ${wis_imported} entries(s) imported to queen-wisdom.json"
|
|
454
453
|
fi
|
|
455
454
|
|
|
456
455
|
# Import registry lineage (per D-09)
|
|
457
456
|
if [[ -f "$latest_chamber/colony-registry.xml" ]]; then
|
|
458
|
-
reg_import=$(
|
|
457
|
+
reg_import=$(aether registry-import-xml "$latest_chamber/colony-registry.xml" 2>/dev/null || echo '{"ok":false}')
|
|
459
458
|
reg_imported=$(echo "$reg_import" | jq -r '.result.imported // 0' 2>/dev/null || echo "0")
|
|
460
459
|
echo "Registry: ${reg_imported} colon(ies) lineage imported"
|
|
461
460
|
fi
|
|
@@ -470,30 +469,48 @@ Display "Import skipped. Starting fresh colony." and proceed to Step 8.
|
|
|
470
469
|
**If xml_import_available is false (no chambers, no XML, or no xmllint):**
|
|
471
470
|
|
|
472
471
|
Skip silently -- proceed directly to Step 8 without any mention of import (per D-11).
|
|
472
|
+
### Step 7.5: Install Clash Detection Hook
|
|
473
|
+
|
|
474
|
+
If `.aether/utils/clash-detect.sh` exists, run:
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
aether clash-setup --install 2>/dev/null || true
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
This installs the PreToolUse hook that prevents conflicting edits across worktrees.
|
|
481
|
+
Non-blocking — if it fails, init continues normally.
|
|
482
|
+
|
|
483
|
+
Also configure the merge driver for package-lock.json:
|
|
484
|
+
|
|
485
|
+
```bash
|
|
486
|
+
git config merge.lockfile.driver "bash .aether/utils/merge-driver-lockfile.sh %O %A %B" 2>/dev/null || true
|
|
487
|
+
git config merge.lockfile.name "npm lockfile auto-merge" 2>/dev/null || true
|
|
488
|
+
```
|
|
489
|
+
|
|
473
490
|
### Step 8: Display Result
|
|
474
491
|
|
|
475
492
|
Display the success header and result block:
|
|
476
493
|
|
|
477
494
|
```
|
|
478
495
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
479
|
-
|
|
496
|
+
🥚 A E T H E R C O L O N Y
|
|
480
497
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
481
498
|
|
|
482
|
-
Queen has set the colony's intention
|
|
499
|
+
👑 Queen has set the colony's intention
|
|
483
500
|
|
|
484
501
|
"{approved_intent}"
|
|
485
502
|
|
|
486
|
-
Colony Status: READY
|
|
503
|
+
🟢 Colony Status: READY
|
|
487
504
|
|
|
488
|
-
{If re-init: " Mode: Re-init (charter updated, state preserved)"}
|
|
489
|
-
{If fresh and seeded_count > 0: " Hive wisdom: {seeded_count} cross-colony pattern(s) seeded into QUEEN.md"}
|
|
505
|
+
{If re-init: " 🔄 Mode: Re-init (charter updated, state preserved)"}
|
|
506
|
+
{If fresh and seeded_count > 0: " 🧠 Hive wisdom: {seeded_count} cross-colony pattern(s) seeded into QUEEN.md"}
|
|
490
507
|
|
|
491
|
-
State persisted -- safe to /clear, then run /ant:plan
|
|
508
|
+
💾 State persisted -- safe to /clear, then run /ant:plan
|
|
492
509
|
|
|
493
510
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
494
|
-
|
|
511
|
+
🐜 Next Up
|
|
495
512
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
496
|
-
/ant:plan Generate execution plan
|
|
497
|
-
/ant:status Check colony state
|
|
498
|
-
/ant:focus Set initial focus
|
|
513
|
+
/ant:plan 📊 Generate execution plan
|
|
514
|
+
/ant:status 📋 Check colony state
|
|
515
|
+
/ant:focus 🎯 Set initial focus
|
|
499
516
|
```
|
|
@@ -70,7 +70,7 @@ Example:
|
|
|
70
70
|
Run using the Bash tool with description "Inserting corrective phase...":
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
|
|
73
|
+
aether phase-insert --name "<phase_name>" --goal "<goal_text>" --constraints "<constraints_text>"
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
Parse JSON result:
|
|
@@ -229,7 +229,7 @@ Wait for user response.
|
|
|
229
229
|
Run using the Bash tool with description "Logging interpretation activity...":
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
|
-
|
|
232
|
+
aether activity-log "INTERPRET" "Interpreter" "Dream review: {dream_file}, {confirmed} confirmed, {partial} partial, {unconfirmed} unconfirmed, {refuted} refuted, {actions_taken} actions taken"
|
|
233
233
|
```
|
|
234
234
|
|
|
235
235
|
### Step 8: Display Closing
|
|
@@ -261,7 +261,7 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
261
261
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
262
262
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
263
263
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
264
|
-
|
|
264
|
+
aether print-next-up
|
|
265
265
|
```
|
|
266
266
|
|
|
267
267
|
|
|
@@ -142,7 +142,7 @@ echo "System files copied."
|
|
|
142
142
|
|
|
143
143
|
Run using the Bash tool with description "Initializing QUEEN.md...":
|
|
144
144
|
```bash
|
|
145
|
-
|
|
145
|
+
aether queen-init
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
|
|
@@ -160,7 +160,7 @@ Run using the Bash tool with description "Registering repo..." (ignore errors):
|
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
|
-
|
|
163
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" 2>/dev/null || true
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
### Step 7: Verify Setup
|
|
@@ -11,7 +11,7 @@ You are the **Queen**. Display the colony's maturity journey.
|
|
|
11
11
|
### Step 1: Detect Current Milestone
|
|
12
12
|
|
|
13
13
|
Run using the Bash tool with description "Detecting colony milestone...":
|
|
14
|
-
`
|
|
14
|
+
`aether milestone-detect`
|
|
15
15
|
|
|
16
16
|
Parse JSON result to get:
|
|
17
17
|
- `milestone`: Current milestone name (First Mound, Open Chambers, Brood Stable, Ventilated Nest, Sealed Chambers, Crowned Anthill)
|
|
@@ -108,6 +108,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
108
108
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
109
109
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
110
110
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
111
|
-
|
|
111
|
+
aether print-next-up
|
|
112
112
|
```
|
|
113
113
|
|
|
@@ -20,7 +20,7 @@ Drill-down view of accumulated colony wisdom, pending promotions, and recent fai
|
|
|
20
20
|
|
|
21
21
|
Run using the Bash tool with description "Loading colony memory...":
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
aether memory-metrics
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
### Step 2: Display Wisdom (from QUEEN.md)
|
|
@@ -166,6 +166,6 @@ Generate the state-based Next Up block by running using the Bash tool with descr
|
|
|
166
166
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
167
167
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
168
168
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
169
|
-
|
|
169
|
+
aether print-next-up
|
|
170
170
|
```
|
|
171
171
|
|