aether-colony 5.0.0 → 5.1.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 +3150 -3349
- package/.aether/agents-claude/aether-ambassador.md +265 -0
- package/.aether/agents-claude/aether-archaeologist.md +327 -0
- package/.aether/agents-claude/aether-architect.md +236 -0
- package/.aether/agents-claude/aether-auditor.md +271 -0
- package/.aether/agents-claude/aether-builder.md +224 -0
- package/.aether/agents-claude/aether-chaos.md +269 -0
- package/.aether/agents-claude/aether-chronicler.md +305 -0
- package/.aether/agents-claude/aether-gatekeeper.md +330 -0
- package/.aether/agents-claude/aether-includer.md +374 -0
- package/.aether/agents-claude/aether-keeper.md +272 -0
- package/.aether/agents-claude/aether-measurer.md +322 -0
- package/.aether/agents-claude/aether-oracle.md +237 -0
- package/.aether/agents-claude/aether-probe.md +211 -0
- package/.aether/agents-claude/aether-queen.md +330 -0
- package/.aether/agents-claude/aether-route-setter.md +178 -0
- package/.aether/agents-claude/aether-sage.md +418 -0
- package/.aether/agents-claude/aether-scout.md +179 -0
- package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
- package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
- package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
- package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
- package/.aether/agents-claude/aether-tracker.md +270 -0
- package/.aether/agents-claude/aether-watcher.md +280 -0
- package/.aether/agents-claude/aether-weaver.md +248 -0
- package/.aether/commands/archaeology.yaml +653 -0
- package/.aether/commands/build.yaml +1221 -0
- package/.aether/commands/chaos.yaml +653 -0
- package/.aether/commands/colonize.yaml +438 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +304 -0
- package/.aether/commands/data-clean.yaml +80 -0
- package/.aether/commands/dream.yaml +275 -0
- package/.aether/commands/entomb.yaml +863 -0
- package/.aether/commands/export-signals.yaml +64 -0
- package/.aether/commands/feedback.yaml +158 -0
- package/.aether/commands/flag.yaml +160 -0
- package/.aether/commands/flags.yaml +177 -0
- package/.aether/commands/focus.yaml +112 -0
- package/.aether/commands/help.yaml +167 -0
- package/.aether/commands/history.yaml +137 -0
- package/.aether/commands/import-signals.yaml +79 -0
- package/.aether/commands/init.yaml +469 -0
- package/.aether/commands/insert-phase.yaml +98 -0
- package/.aether/commands/interpret.yaml +285 -0
- package/.aether/commands/lay-eggs.yaml +224 -0
- package/.aether/commands/maturity.yaml +122 -0
- package/.aether/commands/memory-details.yaml +74 -0
- package/.aether/commands/migrate-state.yaml +174 -0
- package/.aether/commands/oracle.yaml +1224 -0
- package/.aether/commands/organize.yaml +446 -0
- package/.aether/commands/patrol.yaml +621 -0
- package/.aether/commands/pause-colony.yaml +424 -0
- package/.aether/commands/phase.yaml +124 -0
- package/.aether/commands/pheromones.yaml +153 -0
- package/.aether/commands/plan.yaml +1313 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +373 -0
- package/.aether/commands/resume.yaml +398 -0
- package/.aether/commands/run.yaml +193 -0
- package/.aether/commands/seal.yaml +1205 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +364 -0
- package/.aether/commands/swarm.yaml +352 -0
- package/.aether/commands/tunnels.yaml +814 -0
- package/.aether/commands/update.yaml +131 -0
- package/.aether/commands/verify-castes.yaml +159 -0
- package/.aether/commands/watch.yaml +454 -0
- package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
- package/.aether/docs/QUEEN-SYSTEM.md +11 -11
- package/.aether/docs/README.md +32 -2
- package/.aether/docs/command-playbooks/README.md +23 -0
- package/.aether/docs/command-playbooks/build-complete.md +349 -0
- package/.aether/docs/command-playbooks/build-context.md +282 -0
- package/.aether/docs/command-playbooks/build-full.md +1682 -0
- package/.aether/docs/command-playbooks/build-prep.md +283 -0
- package/.aether/docs/command-playbooks/build-verify.md +405 -0
- package/.aether/docs/command-playbooks/build-wave.md +749 -0
- package/.aether/docs/command-playbooks/continue-advance.md +524 -0
- package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
- package/.aether/docs/command-playbooks/continue-full.md +1724 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +406 -0
- package/.aether/docs/context-continuity.md +84 -0
- package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
- package/.aether/docs/error-codes.md +1 -1
- package/.aether/docs/known-issues.md +34 -173
- package/.aether/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +10 -9
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/.aether/rules/aether-colony.md +23 -13
- package/.aether/scripts/incident-test-add.sh +47 -0
- package/.aether/scripts/weekly-audit.sh +79 -0
- package/.aether/skills/.index.json +649 -0
- package/.aether/skills/colony/.manifest.json +16 -0
- package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
- package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
- package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
- package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
- package/.aether/skills/colony/context-management/SKILL.md +80 -0
- package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
- package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
- package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
- package/.aether/skills/colony/state-safety/SKILL.md +84 -0
- package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
- package/.aether/skills/domain/.manifest.json +24 -0
- package/.aether/skills/domain/README.md +33 -0
- package/.aether/skills/domain/django/SKILL.md +49 -0
- package/.aether/skills/domain/docker/SKILL.md +52 -0
- package/.aether/skills/domain/golang/SKILL.md +52 -0
- package/.aether/skills/domain/graphql/SKILL.md +51 -0
- package/.aether/skills/domain/html-css/SKILL.md +48 -0
- package/.aether/skills/domain/nextjs/SKILL.md +45 -0
- package/.aether/skills/domain/nodejs/SKILL.md +53 -0
- package/.aether/skills/domain/postgresql/SKILL.md +53 -0
- package/.aether/skills/domain/prisma/SKILL.md +59 -0
- package/.aether/skills/domain/python/SKILL.md +50 -0
- package/.aether/skills/domain/rails/SKILL.md +52 -0
- package/.aether/skills/domain/react/SKILL.md +45 -0
- package/.aether/skills/domain/rest-api/SKILL.md +58 -0
- package/.aether/skills/domain/svelte/SKILL.md +47 -0
- package/.aether/skills/domain/tailwind/SKILL.md +45 -0
- package/.aether/skills/domain/testing/SKILL.md +53 -0
- package/.aether/skills/domain/typescript/SKILL.md +58 -0
- package/.aether/skills/domain/vue/SKILL.md +49 -0
- package/.aether/templates/QUEEN.md.template +23 -41
- package/.aether/templates/colony-state-reset.jq.template +1 -0
- package/.aether/templates/colony-state.template.json +4 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +13 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/.aether/utils/atomic-write.sh +63 -17
- package/.aether/utils/chamber-utils.sh +145 -2
- package/.aether/utils/emoji-audit.sh +166 -0
- package/.aether/utils/error-handler.sh +21 -7
- package/.aether/utils/file-lock.sh +182 -27
- package/.aether/utils/flag.sh +267 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +342 -0
- package/.aether/utils/oracle/oracle.md +168 -0
- package/.aether/utils/oracle/oracle.sh +1023 -0
- package/.aether/utils/pheromone.sh +2029 -0
- package/.aether/utils/queen.sh +1698 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +10 -8
- package/.aether/utils/session.sh +552 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +103 -271
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +199 -0
- package/.aether/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/.aether/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/.aether/utils/watch-spawn-tree.sh +11 -2
- package/.aether/utils/xml-compose.sh +2 -2
- package/.aether/utils/xml-convert.sh +9 -5
- package/.aether/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +4 -4
- package/.aether/workers.md +86 -67
- package/.claude/agents/ant/aether-ambassador.md +2 -1
- package/.claude/agents/ant/aether-archaeologist.md +6 -1
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +6 -1
- package/.claude/agents/ant/aether-builder.md +38 -1
- package/.claude/agents/ant/aether-chaos.md +2 -1
- package/.claude/agents/ant/aether-chronicler.md +1 -0
- package/.claude/agents/ant/aether-gatekeeper.md +6 -1
- package/.claude/agents/ant/aether-includer.md +1 -0
- package/.claude/agents/ant/aether-keeper.md +1 -0
- package/.claude/agents/ant/aether-measurer.md +6 -1
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +2 -1
- package/.claude/agents/ant/aether-queen.md +6 -1
- package/.claude/agents/ant/aether-route-setter.md +6 -1
- package/.claude/agents/ant/aether-sage.md +68 -3
- package/.claude/agents/ant/aether-scout.md +38 -1
- package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
- package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
- package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
- package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
- package/.claude/agents/ant/aether-tracker.md +6 -1
- package/.claude/agents/ant/aether-watcher.md +37 -1
- package/.claude/agents/ant/aether-weaver.md +2 -1
- package/.claude/commands/ant/archaeology.md +1 -8
- package/.claude/commands/ant/build.md +43 -1159
- package/.claude/commands/ant/chaos.md +1 -14
- package/.claude/commands/ant/colonize.md +1 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +9 -16
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +12 -9
- package/.claude/commands/ant/entomb.md +62 -87
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +18 -0
- package/.claude/commands/ant/flag.md +12 -0
- package/.claude/commands/ant/flags.md +22 -8
- package/.claude/commands/ant/focus.md +18 -0
- package/.claude/commands/ant/help.md +40 -8
- package/.claude/commands/ant/history.md +3 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +316 -191
- package/.claude/commands/ant/insert-phase.md +101 -0
- package/.claude/commands/ant/interpret.md +11 -0
- package/.claude/commands/ant/lay-eggs.md +167 -158
- package/.claude/commands/ant/maturity.md +22 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +6 -0
- package/.claude/commands/ant/oracle.md +317 -62
- package/.claude/commands/ant/organize.md +10 -5
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +8 -22
- package/.claude/commands/ant/phase.md +26 -37
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +175 -52
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +34 -20
- package/.claude/commands/ant/resume.md +51 -7
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +497 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +127 -1
- package/.claude/commands/ant/swarm.md +11 -23
- package/.claude/commands/ant/tunnels.md +1 -0
- package/.claude/commands/ant/update.md +58 -135
- package/.claude/commands/ant/verify-castes.md +90 -42
- package/.claude/commands/ant/watch.md +1 -0
- package/.opencode/agents/aether-ambassador.md +1 -1
- package/.opencode/agents/aether-architect.md +133 -0
- package/.opencode/agents/aether-builder.md +3 -3
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-queen.md +1 -1
- package/.opencode/agents/aether-route-setter.md +1 -1
- package/.opencode/agents/aether-scout.md +1 -1
- package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
- package/.opencode/agents/aether-surveyor-nest.md +6 -1
- package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
- package/.opencode/agents/aether-surveyor-provisions.md +6 -1
- package/.opencode/agents/aether-tracker.md +1 -1
- package/.opencode/agents/aether-watcher.md +1 -1
- package/.opencode/agents/aether-weaver.md +1 -1
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +54 -88
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +8 -17
- package/.opencode/commands/ant/continue.md +595 -66
- package/.opencode/commands/ant/council.md +11 -22
- package/.opencode/commands/ant/data-clean.md +77 -0
- package/.opencode/commands/ant/dream.md +15 -17
- package/.opencode/commands/ant/entomb.md +28 -18
- package/.opencode/commands/ant/export-signals.md +54 -0
- package/.opencode/commands/ant/feedback.md +24 -5
- package/.opencode/commands/ant/flag.md +16 -4
- package/.opencode/commands/ant/flags.md +24 -10
- package/.opencode/commands/ant/focus.md +22 -5
- package/.opencode/commands/ant/help.md +41 -8
- package/.opencode/commands/ant/history.md +9 -0
- package/.opencode/commands/ant/import-signals.md +68 -0
- package/.opencode/commands/ant/init.md +365 -156
- package/.opencode/commands/ant/insert-phase.md +107 -0
- package/.opencode/commands/ant/interpret.md +16 -0
- package/.opencode/commands/ant/lay-eggs.md +184 -112
- package/.opencode/commands/ant/maturity.md +18 -2
- package/.opencode/commands/ant/memory-details.md +83 -0
- package/.opencode/commands/ant/migrate-state.md +12 -0
- package/.opencode/commands/ant/oracle.md +322 -67
- package/.opencode/commands/ant/organize.md +14 -12
- package/.opencode/commands/ant/patrol.md +626 -0
- package/.opencode/commands/ant/pause-colony.md +12 -29
- package/.opencode/commands/ant/phase.md +30 -40
- package/.opencode/commands/ant/pheromones.md +162 -0
- package/.opencode/commands/ant/plan.md +184 -56
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +38 -27
- package/.opencode/commands/ant/resume.md +71 -20
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +124 -31
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +3 -9
- package/.opencode/commands/ant/update.md +63 -127
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +278 -1
- package/README.md +188 -340
- package/bin/cli.js +236 -429
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +128 -89
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +285 -35
- package/bin/npx-install.js +178 -0
- package/bin/validate-package.sh +85 -3
- package/package.json +7 -3
- package/.aether/CONTEXT.md +0 -160
- package/.aether/docs/QUEEN.md +0 -84
- package/.aether/exchange/colony-registry.xml +0 -11
- package/.aether/exchange/pheromones.xml +0 -87
- package/.aether/exchange/queen-wisdom.xml +0 -14
- package/.aether/model-profiles.yaml +0 -100
- package/.aether/utils/spawn-with-model.sh +0 -56
- package/bin/lib/model-profiles.js +0 -445
- package/bin/lib/model-verify.js +0 -288
- package/bin/lib/proxy-health.js +0 -253
- package/bin/lib/telemetry.js +0 -441
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/redirect.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:redirect
|
|
3
4
|
description: "Emit REDIRECT signal to warn colony away from patterns"
|
|
4
5
|
---
|
|
5
6
|
|
|
7
|
+
|
|
6
8
|
You are the **Queen**. Emit a REDIRECT pheromone signal.
|
|
7
9
|
|
|
10
|
+
|
|
11
|
+
|
|
8
12
|
## Instructions
|
|
9
13
|
|
|
10
14
|
The pattern to avoid is: `$ARGUMENTS`
|
|
@@ -14,15 +18,18 @@ The pattern to avoid is: `$ARGUMENTS`
|
|
|
14
18
|
If `$ARGUMENTS` empty -> show usage: `/ant:redirect <pattern to avoid>`, stop.
|
|
15
19
|
If content > 500 chars -> "Redirect content too long (max 500 chars)", stop.
|
|
16
20
|
|
|
21
|
+
|
|
17
22
|
Parse optional flags from `$ARGUMENTS`:
|
|
18
23
|
- `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
|
|
19
24
|
- Strip flags from content before using it as the pattern.
|
|
20
25
|
|
|
26
|
+
|
|
21
27
|
### Step 2: Write Signal
|
|
22
28
|
|
|
23
29
|
Read `.aether/data/COLONY_STATE.json`.
|
|
24
30
|
If `goal: null` -> "No colony initialized.", stop.
|
|
25
31
|
|
|
32
|
+
|
|
26
33
|
Run using the Bash tool with description "Setting colony redirect...":
|
|
27
34
|
```bash
|
|
28
35
|
bash .aether/aether-utils.sh pheromone-write REDIRECT "<content>" --strength 0.9 --reason "User warned colony away from pattern" --ttl <ttl>
|
|
@@ -30,6 +37,13 @@ bash .aether/aether-utils.sh pheromone-write REDIRECT "<content>" --strength 0.9
|
|
|
30
37
|
|
|
31
38
|
Parse the returned JSON for the signal ID.
|
|
32
39
|
|
|
40
|
+
### Step 2.5: Update Context Document
|
|
41
|
+
|
|
42
|
+
Run using the Bash tool with description "Updating context document...":
|
|
43
|
+
```bash
|
|
44
|
+
bash .aether/aether-utils.sh context-update constraint redirect "<content>" "user" 2>/dev/null || true
|
|
45
|
+
```
|
|
46
|
+
|
|
33
47
|
### Step 3: Get Active Counts
|
|
34
48
|
|
|
35
49
|
Run using the Bash tool with description "Counting active signals...":
|
|
@@ -47,6 +61,9 @@ REDIRECT signal emitted
|
|
|
47
61
|
Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
|
|
48
62
|
```
|
|
49
63
|
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
50
67
|
### Step 5: Next Up
|
|
51
68
|
|
|
52
69
|
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
@@ -56,3 +73,4 @@ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
|
56
73
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
57
74
|
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
58
75
|
```
|
|
76
|
+
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/resume-colony.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:resume-colony
|
|
3
4
|
description: "🚦➡️🐜💨💨 Resume colony from saved session - restores all state"
|
|
@@ -14,15 +15,6 @@ Parse `$ARGUMENTS`:
|
|
|
14
15
|
### Step 0: Initialize Visual Mode (if enabled)
|
|
15
16
|
|
|
16
17
|
If `visual_mode` is true, run using the Bash tool with description "Initializing resume display...":
|
|
17
|
-
```bash
|
|
18
|
-
# Generate session ID
|
|
19
|
-
resume_id="resume-$(date +%s)"
|
|
20
|
-
|
|
21
|
-
# Initialize swarm display
|
|
22
|
-
bash .aether/aether-utils.sh swarm-display-init "$resume_id"
|
|
23
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Resuming colony" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
24
|
-
```
|
|
25
|
-
|
|
26
18
|
### Step 0.5: Version Check (Non-blocking)
|
|
27
19
|
|
|
28
20
|
Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
|
|
@@ -43,13 +35,35 @@ Keep state loaded (don't unload yet) - we'll need it for the full display.
|
|
|
43
35
|
|
|
44
36
|
### Step 2: Compute Active Signals
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
Run using the Bash tool with description "Loading active pheromones...":
|
|
39
|
+
```bash
|
|
40
|
+
bash .aether/aether-utils.sh pheromone-read
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
|
|
44
|
+
If empty, treat as "no active pheromones."
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
- `expires_at` is null (permanent signals like INIT), OR
|
|
50
|
-
- `expires_at` > current timestamp (not expired)
|
|
46
|
+
### Step 2.5: Load Survey Context (Advisory)
|
|
51
47
|
|
|
52
|
-
|
|
48
|
+
Run using the Bash tool with description "Loading survey context...":
|
|
49
|
+
```bash
|
|
50
|
+
survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
51
|
+
survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
|
|
52
|
+
if [[ -n "$survey_latest" ]]; then
|
|
53
|
+
now_epoch=$(date +%s)
|
|
54
|
+
modified_epoch=$(stat -f %m "$survey_latest" 2>/dev/null || stat -c %Y "$survey_latest" 2>/dev/null || echo 0)
|
|
55
|
+
survey_age_days=$(( (now_epoch - modified_epoch) / 86400 ))
|
|
56
|
+
else
|
|
57
|
+
survey_age_days=-1
|
|
58
|
+
fi
|
|
59
|
+
echo "survey_docs=$survey_docs"
|
|
60
|
+
echo "survey_age_days=$survey_age_days"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Interpretation:
|
|
64
|
+
- `survey_docs == 0` => survey missing
|
|
65
|
+
- `survey_age_days > 14` => survey stale
|
|
66
|
+
- otherwise survey fresh
|
|
53
67
|
|
|
54
68
|
### Step 3: Display Restored State
|
|
55
69
|
|
|
@@ -87,18 +101,18 @@ PHASE PROGRESS
|
|
|
87
101
|
Phase <id>: <name> [<status>]
|
|
88
102
|
(list all phases from plan.phases)
|
|
89
103
|
|
|
104
|
+
SURVEY CONTEXT
|
|
105
|
+
Docs: <survey_docs>
|
|
106
|
+
Age: <survey_age_days> days
|
|
107
|
+
Status: <fresh|stale|missing>
|
|
108
|
+
Recommendation: <if missing or stale, suggest /ant:colonize --force-resurvey>
|
|
109
|
+
|
|
90
110
|
CONTEXT FROM HANDOFF
|
|
91
111
|
<summarize what was happening from .aether/HANDOFF.md>
|
|
92
112
|
|
|
93
113
|
NEXT ACTIONS
|
|
94
114
|
```
|
|
95
115
|
|
|
96
|
-
**If visual_mode is true, render final swarm display** by running using the Bash tool with description "Updating resume display...":
|
|
97
|
-
```bash
|
|
98
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Colony resumed" "Colony" '{"read":3,"grep":0,"edit":2,"bash":1}' 100 "fungus_garden" 100
|
|
99
|
-
bash .aether/aether-utils.sh swarm-display-text "$resume_id"
|
|
100
|
-
```
|
|
101
|
-
|
|
102
116
|
Route to next action based on state:
|
|
103
117
|
- If state is `READY` and there's a pending phase -> suggest `/ant:build <phase>`
|
|
104
118
|
- If state is `EXECUTING` -> note that a build was interrupted, suggest restarting with `/ant:build <phase>`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/resume.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
|
-
name: resume
|
|
3
|
+
name: ant:resume
|
|
3
4
|
description: "Resume Previous Session"
|
|
4
|
-
symbol: refresh
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /ant:resume — Resume Previous Session
|
|
@@ -24,7 +24,7 @@ Execute the following steps in order when the user runs `/ant:resume`.
|
|
|
24
24
|
|
|
25
25
|
### Step 1: Read Session State
|
|
26
26
|
|
|
27
|
-
Run using the Bash tool with description "Restoring colony session..."
|
|
27
|
+
Run using the Bash tool with description "Restoring colony session..."::
|
|
28
28
|
```bash
|
|
29
29
|
bash .aether/aether-utils.sh session-read
|
|
30
30
|
```
|
|
@@ -35,6 +35,7 @@ Parse the JSON result.
|
|
|
35
35
|
|
|
36
36
|
```
|
|
37
37
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
38
|
+
|
|
38
39
|
RESUME SESSION
|
|
39
40
|
|
|
40
41
|
No previous session found.
|
|
@@ -42,6 +43,7 @@ No previous session found.
|
|
|
42
43
|
Start fresh: /ant:init "your goal"
|
|
43
44
|
Or check: /ant:status
|
|
44
45
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
|
|
45
47
|
```
|
|
46
48
|
|
|
47
49
|
- If `exists` is `true`: extract from the session data:
|
|
@@ -85,6 +87,7 @@ Do NOT proceed with stale or fabricated data.
|
|
|
85
87
|
|
|
86
88
|
### Step 3: Read Pheromone Signals
|
|
87
89
|
|
|
90
|
+
|
|
88
91
|
Use the Read tool to read `.aether/data/constraints.json`.
|
|
89
92
|
|
|
90
93
|
Extract the following top-level keys:
|
|
@@ -95,6 +98,8 @@ If the file is missing: skip silently (no pheromones active).
|
|
|
95
98
|
|
|
96
99
|
Pheromones persist until explicitly cleared — no decay.
|
|
97
100
|
|
|
101
|
+
|
|
102
|
+
|
|
98
103
|
---
|
|
99
104
|
|
|
100
105
|
### Step 4: Read CONTEXT.md
|
|
@@ -238,6 +243,7 @@ Lead with the next-step recommendation. Context follows underneath ("straight to
|
|
|
238
243
|
|
|
239
244
|
```
|
|
240
245
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
246
|
+
|
|
241
247
|
RESUME SESSION
|
|
242
248
|
|
|
243
249
|
Next: {recommended}
|
|
@@ -273,15 +279,47 @@ Recent Decisions:
|
|
|
273
279
|
{end}
|
|
274
280
|
{end}
|
|
275
281
|
|
|
276
|
-
{if
|
|
282
|
+
{if signals array from Step 3 is not empty:}
|
|
277
283
|
Active Signals:
|
|
284
|
+
|
|
278
285
|
{for each focus signal:}
|
|
279
286
|
FOCUS: {focus text}
|
|
280
287
|
{end}
|
|
281
288
|
{for each constraint signal:}
|
|
282
289
|
REDIRECT: {constraint text}
|
|
283
290
|
{end}
|
|
291
|
+
|
|
292
|
+
|
|
284
293
|
{end}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
### Step 8.5: Display Memory Health (Secondary)
|
|
299
|
+
|
|
300
|
+
Run using the Bash tool with description "Loading memory health..."::
|
|
301
|
+
```bash
|
|
302
|
+
bash .aether/aether-utils.sh resume-dashboard
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Extract memory_health from the JSON result:
|
|
306
|
+
- wisdom_count
|
|
307
|
+
- pending_promotions
|
|
308
|
+
- recent_failures
|
|
309
|
+
|
|
310
|
+
Display after the main dashboard:
|
|
311
|
+
```
|
|
312
|
+
📊 Memory Health
|
|
313
|
+
Wisdom: {wisdom_count} entries | Pending: {pending_promotions} promotions | Failures: {recent_failures} recent
|
|
314
|
+
|
|
315
|
+
Run /ant:memory-details for full breakdown
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
If all counts are 0, show:
|
|
319
|
+
```
|
|
320
|
+
📊 Memory Health
|
|
321
|
+
No accumulated wisdom yet. Complete phases to build colony memory.
|
|
322
|
+
```
|
|
285
323
|
|
|
286
324
|
Last Command: {last_command}
|
|
287
325
|
Session: {session_id}
|
|
@@ -291,14 +329,14 @@ Session: {session_id}
|
|
|
291
329
|
|
|
292
330
|
### Step 9: Mark Session Resumed
|
|
293
331
|
|
|
294
|
-
Run using the Bash tool with description "Marking session as resumed..."
|
|
332
|
+
Run using the Bash tool with description "Marking session as resumed..."::
|
|
295
333
|
```bash
|
|
296
334
|
bash .aether/aether-utils.sh session-mark-resumed
|
|
297
335
|
```
|
|
298
336
|
|
|
299
337
|
### Step 10: Next Up
|
|
300
338
|
|
|
301
|
-
Generate the state-based Next Up block by
|
|
339
|
+
Generate the state-based Next Up block by Run using the Bash tool with description "Generating Next Up suggestions..."::
|
|
302
340
|
```bash
|
|
303
341
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
304
342
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
@@ -314,7 +352,10 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
314
352
|
|-----------|----------|
|
|
315
353
|
| session.json missing (exists=false) | "No previous session found" — offer /ant:init and /ant:status |
|
|
316
354
|
| COLONY_STATE.json missing or corrupted | Pause, ask user: start fresh or recover |
|
|
355
|
+
|
|
317
356
|
| constraints.json missing | Skip silently (no pheromones) |
|
|
357
|
+
|
|
358
|
+
|
|
318
359
|
| CONTEXT.md missing | Fall back to COLONY_STATE.json narrative |
|
|
319
360
|
| No plan phases, no generated_at | BLOCK — redirect to /ant:plan |
|
|
320
361
|
| Plan attempted but no phases | BLOCK — redirect to /ant:plan |
|
|
@@ -326,7 +367,10 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
326
367
|
|
|
327
368
|
## Key Constraints
|
|
328
369
|
|
|
329
|
-
|
|
370
|
+
|
|
371
|
+
- Use Read tool for COLONY_STATE.json and constraints.json (not bash cat/jq).
|
|
372
|
+
|
|
373
|
+
|
|
330
374
|
- Use Bash tool only for aether-utils.sh commands and git commands
|
|
331
375
|
- Handle ALL missing/corrupted file cases gracefully
|
|
332
376
|
- Time-agnostic: restore identically regardless of how long ago the session was
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/run.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:run
|
|
4
|
+
description: "Autopilot — builds, verifies, learns, and advances through phases automatically with smart pausing"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **Queen**. Execute `/ant:run` — the adaptive autopilot loop.
|
|
8
|
+
|
|
9
|
+
The arguments are: `$ARGUMENTS`
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This command automates the build-continue-advance cycle across multiple phases.
|
|
14
|
+
It reads and executes the same playbooks used by `/ant:build` and `/ant:continue`,
|
|
15
|
+
chaining them in a loop with intelligent pause conditions.
|
|
16
|
+
|
|
17
|
+
## Rules
|
|
18
|
+
|
|
19
|
+
1. Do **not** invoke nested slash commands (`/ant:build`, `/ant:continue`, etc.).
|
|
20
|
+
2. Use the Read tool to load each playbook file, then execute it inline.
|
|
21
|
+
3. Preserve variables/results from prior stages and pass them forward.
|
|
22
|
+
4. Stop immediately on any pause condition (defined below).
|
|
23
|
+
5. Keep existing behavior and output format from the playbooks.
|
|
24
|
+
6. Log `autopilot_advance` events after each successful phase transition.
|
|
25
|
+
|
|
26
|
+
## Arguments
|
|
27
|
+
|
|
28
|
+
Parse `$ARGUMENTS` for:
|
|
29
|
+
- `--max-phases N` — Max phases to process (default: all remaining)
|
|
30
|
+
- `--replan-interval N` — Pause for replan suggestion every N phases (default: 2)
|
|
31
|
+
- `--continue` — Resume after a replan pause without replanning
|
|
32
|
+
- `--dry-run` — Preview plan without executing
|
|
33
|
+
- `--verbose` / `-v`, `--no-visual`, `--no-suggest` — Pass through to playbooks
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/ant:run Run all remaining phases
|
|
37
|
+
/ant:run --max-phases 2 Run at most 2 phases then stop
|
|
38
|
+
/ant:run --replan-interval 3 Suggest replan every 3 phases instead of 2
|
|
39
|
+
/ant:run --continue Resume after replan pause without replanning
|
|
40
|
+
/ant:run --dry-run Preview the autopilot plan
|
|
41
|
+
/ant:run --max-phases 3 -v Run 3 phases with verbose output
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Dry Run Mode
|
|
45
|
+
|
|
46
|
+
If `--dry-run`: read COLONY_STATE.json, list remaining incomplete phases
|
|
47
|
+
(applying `--max-phases` cap), display the plan, then stop without executing.
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
━━━ A U T O P I L O T P R E V I E W ━━━
|
|
51
|
+
Goal: {goal} | Current: Phase {N} | Remaining: {count} | Max: {max or "all"}
|
|
52
|
+
|
|
53
|
+
Phase {id}: {name} ({task_count} tasks) -> build -> continue -> advance
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
Pause triggers: test failures, critical Chaos findings, new blockers,
|
|
57
|
+
security gate failures, quality gate failures, runtime verification needed,
|
|
58
|
+
replan suggestion (every {replan_interval} phases)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Autopilot Loop
|
|
62
|
+
|
|
63
|
+
### Step 0: Initialize
|
|
64
|
+
|
|
65
|
+
1. Read `.aether/data/COLONY_STATE.json`; validate goal + plan.phases exist
|
|
66
|
+
2. Determine remaining incomplete phases; apply `--max-phases` cap
|
|
67
|
+
3. Set `phases_completed = 0`, `autopilot_start = $(date +%s)`
|
|
68
|
+
4. Record pre-build blocker count: `bash .aether/aether-utils.sh flag-check-blockers {phase}`
|
|
69
|
+
5. Display: `AUTOPILOT ENGAGED | Goal: {goal} | Phase {N} | Max: {max or "all"}`
|
|
70
|
+
|
|
71
|
+
### Step 1: Build Phase
|
|
72
|
+
|
|
73
|
+
Execute build playbooks in order, carrying cross-stage state
|
|
74
|
+
(`phase_id`, `visual_mode`, `verbose_mode`, `suggest_enabled`,
|
|
75
|
+
`prompt_section`, `wave_results`,
|
|
76
|
+
`verification_status`, `synthesis_status`, `next_action`):
|
|
77
|
+
|
|
78
|
+
1. `.aether/docs/command-playbooks/build-prep.md`
|
|
79
|
+
2. `.aether/docs/command-playbooks/build-context.md`
|
|
80
|
+
3. `.aether/docs/command-playbooks/build-wave.md`
|
|
81
|
+
4. `.aether/docs/command-playbooks/build-verify.md`
|
|
82
|
+
5. `.aether/docs/command-playbooks/build-complete.md`
|
|
83
|
+
|
|
84
|
+
Capture the synthesis result for pause evaluation.
|
|
85
|
+
|
|
86
|
+
### Step 2: Build Pause Check
|
|
87
|
+
|
|
88
|
+
**PAUSE if ANY of these are true** (display reason, log event, STOP):
|
|
89
|
+
|
|
90
|
+
| # | Condition | Source |
|
|
91
|
+
|---|-----------|--------|
|
|
92
|
+
| 1 | Watcher `verification_passed == false` | build-verify synthesis |
|
|
93
|
+
| 2 | Any Chaos finding severity `critical` or `high` | build-verify synthesis |
|
|
94
|
+
| 3 | New blocker flags created (count increased since Step 0.4) | flag-check-blockers |
|
|
95
|
+
|
|
96
|
+
On pause, display the AUTOPILOT PAUSED banner with reason, affected phase,
|
|
97
|
+
specific issues, and instruction: "Fix issues, then run /ant:run to resume."
|
|
98
|
+
Log: `"<timestamp>|autopilot_paused|run|Paused at Phase {id}: {reason}"`
|
|
99
|
+
|
|
100
|
+
**If no pause:** proceed to Step 3.
|
|
101
|
+
|
|
102
|
+
### Step 3: Continue (Verify + Advance)
|
|
103
|
+
|
|
104
|
+
Execute continue playbooks in order, carrying cross-stage state
|
|
105
|
+
(`visual_mode`, `state`, `current_phase`, `verification_results`,
|
|
106
|
+
`gate_results`, `advancement_result`, `next_phase_id`, `completion_state`):
|
|
107
|
+
|
|
108
|
+
1. `.aether/docs/command-playbooks/continue-verify.md`
|
|
109
|
+
2. `.aether/docs/command-playbooks/continue-gates.md`
|
|
110
|
+
3. `.aether/docs/command-playbooks/continue-advance.md`
|
|
111
|
+
4. `.aether/docs/command-playbooks/continue-finalize.md`
|
|
112
|
+
|
|
113
|
+
**Autopilot override for runtime verification (Step 1.11 in continue-gates):**
|
|
114
|
+
Skip the AskUserQuestion prompt. Instead, auto-PAUSE with reason
|
|
115
|
+
"Runtime verification required" so the user can test manually before resuming.
|
|
116
|
+
|
|
117
|
+
### Step 4: Continue Pause Check
|
|
118
|
+
|
|
119
|
+
**PAUSE if ANY of these are true:**
|
|
120
|
+
|
|
121
|
+
| # | Condition | Source |
|
|
122
|
+
|---|-----------|--------|
|
|
123
|
+
| 4 | Verification loop reported NOT READY | continue-verify |
|
|
124
|
+
| 5 | Gatekeeper found critical CVEs | continue-gates |
|
|
125
|
+
| 6 | Auditor critical findings or score < 60 | continue-gates |
|
|
126
|
+
| 7 | Unresolved blocker flags remain | continue-gates |
|
|
127
|
+
| 8 | Runtime verification needed | continue-gates Step 1.11 |
|
|
128
|
+
| 9 | All phases complete (no next phase) | continue-advance |
|
|
129
|
+
| 10 | Replan trigger fires (unless `--continue`) | autopilot-check-replan (Step 5.5) |
|
|
130
|
+
|
|
131
|
+
For condition 9: jump to Step 6 (celebration). For condition 10: PAUSE with
|
|
132
|
+
replan suggestion (see Step 5.5). For all others: PAUSE with reason, log event, STOP.
|
|
133
|
+
|
|
134
|
+
**If no pause:** proceed to Step 5.
|
|
135
|
+
|
|
136
|
+
### Step 5: Auto-Advance and Loop
|
|
137
|
+
|
|
138
|
+
1. Increment `phases_completed`
|
|
139
|
+
2. Update autopilot state: `bash .aether/aether-utils.sh autopilot-update --action advance --phase {next} --result success`
|
|
140
|
+
3. Log: `"<timestamp>|autopilot_advance|run|Phase {prev} -> {next} ({phases_completed}/{max})"`
|
|
141
|
+
4. Display: `--- Autopilot: Phase {prev} done -> Phase {next} ({N}/{max}) ---`
|
|
142
|
+
5. **Replan check** (see Step 5.5)
|
|
143
|
+
6. If `phases_completed >= max_phases` or no incomplete phases: go to Step 6
|
|
144
|
+
7. Otherwise: update `current_phase`, return to Step 1
|
|
145
|
+
|
|
146
|
+
### Step 5.5: Replan Trigger Check
|
|
147
|
+
|
|
148
|
+
After each successful phase advance, check if a replan pause should fire:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
bash .aether/aether-utils.sh autopilot-check-replan --interval {replan_interval}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
If `--continue` flag was passed: skip this check entirely (user dismissed replan).
|
|
155
|
+
|
|
156
|
+
If `result.should_replan == true`: **PAUSE** with replan suggestion banner:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
━━━ R E P L A N S U G G E S T E D ━━━
|
|
160
|
+
Phases auto-completed: {N} | Learnings accumulated: {learnings_since_last}
|
|
161
|
+
|
|
162
|
+
The colony has completed {N} phases since the last plan review.
|
|
163
|
+
New learnings may have changed the optimal path forward.
|
|
164
|
+
|
|
165
|
+
Options:
|
|
166
|
+
/ant:plan Regenerate phases with current learnings
|
|
167
|
+
/ant:run --continue Dismiss and continue without replanning
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Log: `"<timestamp>|autopilot_replan_pause|run|Replan suggested after {N} phases ({learnings} learnings)"`
|
|
171
|
+
|
|
172
|
+
If `result.should_replan == false`: proceed normally (no pause).
|
|
173
|
+
|
|
174
|
+
### Step 6: Final Summary
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
━━━ A U T O P I L O T C O M P L E T E ━━━
|
|
178
|
+
Phases completed: {N} | Elapsed: {Xm Ys} | Now at: Phase {current}
|
|
179
|
+
|
|
180
|
+
{all complete} -> Colony goal achieved! Run /ant:seal
|
|
181
|
+
{max reached} -> Run /ant:run to continue
|
|
182
|
+
{replan} -> Run /ant:plan to replan, or /ant:run --continue to dismiss
|
|
183
|
+
{paused} -> Fix {reason}, then /ant:run to resume
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Update session:
|
|
187
|
+
`bash .aether/aether-utils.sh session-update "/ant:run" "/ant:run" "Autopilot: {N} phases, now Phase {current}"`
|
|
188
|
+
|
|
189
|
+
## Execution Contract
|
|
190
|
+
|
|
191
|
+
For each playbook stage: Read file, execute inline, track `{stage_name, status, key_outputs}`.
|
|
192
|
+
If `status == failed`: evaluate pause conditions. Pause = graceful stop with saved state.
|
|
193
|
+
Hard failure (e.g., state corruption) = halt immediately, no recovery attempt.
|
|
194
|
+
|
|
195
|
+
On every pause: save COLONY_STATE.json, log event, update session, display resume instructions.
|