aether-colony 5.0.0 → 5.2.1
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 +3226 -3345
- 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 +442 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +509 -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 +502 -0
- package/.aether/commands/insert-phase.yaml +102 -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 +1364 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/quick.yaml +104 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +375 -0
- package/.aether/commands/resume.yaml +407 -0
- package/.aether/commands/run.yaml +229 -0
- package/.aether/commands/seal.yaml +1214 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +408 -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 +1683 -0
- package/.aether/docs/command-playbooks/build-prep.md +284 -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 +1725 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +407 -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/council.sh +425 -0
- 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 +278 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/immune.sh +508 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +520 -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 +1710 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +10 -8
- package/.aether/utils/session.sh +816 -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 +389 -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 +3 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +213 -15
- 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 +349 -191
- package/.claude/commands/ant/insert-phase.md +105 -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 +199 -50
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/quick.md +100 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +37 -22
- package/.claude/commands/ant/resume.md +60 -7
- package/.claude/commands/ant/run.md +231 -0
- package/.claude/commands/ant/seal.md +506 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +171 -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 +10 -17
- package/.opencode/commands/ant/continue.md +595 -66
- package/.opencode/commands/ant/council.md +150 -18
- 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 +396 -154
- package/.opencode/commands/ant/insert-phase.md +111 -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 +210 -57
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/quick.md +91 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +41 -29
- package/.opencode/commands/ant/resume.md +80 -20
- package/.opencode/commands/ant/run.md +237 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +125 -30
- 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 +368 -1
- package/README.md +195 -324
- 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 +16 -4
- 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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/preferences.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:preferences
|
|
4
|
+
description: "Add or list user preferences in hub QUEEN.md"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **Queen**. Manage user preferences in the hub `~/.aether/QUEEN.md`.
|
|
8
|
+
|
|
9
|
+
## Instructions
|
|
10
|
+
|
|
11
|
+
The input is: `$ARGUMENTS`
|
|
12
|
+
|
|
13
|
+
### Step 1: Validate
|
|
14
|
+
|
|
15
|
+
If `$ARGUMENTS` empty -> show usage: `/ant:preferences "preference text"` or `/ant:preferences --list`, stop.
|
|
16
|
+
|
|
17
|
+
### Step 2: Route
|
|
18
|
+
|
|
19
|
+
- `$ARGUMENTS` is `--list` -> **List mode**
|
|
20
|
+
- Otherwise -> **Add mode**
|
|
21
|
+
|
|
22
|
+
### List Mode
|
|
23
|
+
|
|
24
|
+
Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
|
|
25
|
+
|
|
26
|
+
Find the `## User Preferences` section (with or without emoji). Extract bullet lines (`- ...`) between that heading and the next `---`.
|
|
27
|
+
|
|
28
|
+
If user-added bullets exist, output each. Otherwise:
|
|
29
|
+
```
|
|
30
|
+
No user preferences set yet.
|
|
31
|
+
Add one with: /ant:preferences "your preference"
|
|
32
|
+
```
|
|
33
|
+
Stop.
|
|
34
|
+
|
|
35
|
+
### Add Mode
|
|
36
|
+
|
|
37
|
+
Set `PREF` to `$ARGUMENTS` (strip surrounding quotes).
|
|
38
|
+
If length > 500 chars -> "Preference too long (max 500 chars)", stop.
|
|
39
|
+
|
|
40
|
+
Read `~/.aether/QUEEN.md`. If missing -> "No hub QUEEN.md found. Run /ant:init to create one.", stop.
|
|
41
|
+
|
|
42
|
+
**If `## User Preferences` section exists** (with or without emoji):
|
|
43
|
+
1. Remove `*No user preferences recorded yet.*` placeholder if present
|
|
44
|
+
2. Append `- $PREF` at end of section (before next `---`)
|
|
45
|
+
|
|
46
|
+
**If section missing** (migration case):
|
|
47
|
+
1. Insert before `## Evolution Log` (with or without emoji):
|
|
48
|
+
```
|
|
49
|
+
## User Preferences
|
|
50
|
+
|
|
51
|
+
- $PREF
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Update METADATA comment: increment `stats.total_user_prefs` by 1.
|
|
58
|
+
|
|
59
|
+
### Confirm
|
|
60
|
+
|
|
61
|
+
Output (2 lines, no banners):
|
|
62
|
+
```
|
|
63
|
+
Preference saved to hub QUEEN.md
|
|
64
|
+
"$PREF"
|
|
65
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/quick.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:quick
|
|
4
|
+
description: "Quick scout query — fast answers without build ceremony"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **Queen**. Execute `/ant:quick` — a lightweight scout mission.
|
|
8
|
+
|
|
9
|
+
The query is: `$ARGUMENTS`
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Quick, focused answers to questions about the codebase, patterns, or implementation
|
|
14
|
+
details. No build ceremony, no state changes, no verification waves.
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
### Step 1: Validate Arguments
|
|
19
|
+
|
|
20
|
+
If `$ARGUMENTS` is empty:
|
|
21
|
+
```
|
|
22
|
+
Usage: /ant:quick "<question>"
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
/ant:quick "how does the pheromone system work?"
|
|
26
|
+
/ant:quick "find all uses of acquire_lock"
|
|
27
|
+
/ant:quick "what tests cover midden-write?"
|
|
28
|
+
/ant:quick "show me the colony-prime token budget logic"
|
|
29
|
+
```
|
|
30
|
+
Stop here.
|
|
31
|
+
|
|
32
|
+
### Step 2: Generate Scout Name
|
|
33
|
+
|
|
34
|
+
Run using the Bash tool with description "Naming scout...":
|
|
35
|
+
```bash
|
|
36
|
+
bash .aether/aether-utils.sh generate-ant-name "scout"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Capture the output as `scout_name`.
|
|
40
|
+
|
|
41
|
+
### Step 3: Spawn Scout
|
|
42
|
+
|
|
43
|
+
Display:
|
|
44
|
+
```
|
|
45
|
+
━━━ Quick Scout ━━━
|
|
46
|
+
Spawning {scout_name} — {query truncated to 50 chars}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Run using the Bash tool with description "Dispatching scout...":
|
|
50
|
+
```bash
|
|
51
|
+
bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{scout_name}" "Quick query: {query}"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Spawn a Scout agent (using Task tool with subagent_type="aether-scout") with this prompt:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
You are {scout_name}, a Scout Ant on a quick mission.
|
|
59
|
+
|
|
60
|
+
Query: {query from ARGUMENTS}
|
|
61
|
+
|
|
62
|
+
Work:
|
|
63
|
+
1. Search the codebase to answer the query
|
|
64
|
+
2. Use Grep, Glob, and Read tools to find relevant code
|
|
65
|
+
3. Provide a clear, focused answer
|
|
66
|
+
4. Include file paths and line numbers for key findings
|
|
67
|
+
|
|
68
|
+
Keep your answer concise and actionable. This is a quick mission —
|
|
69
|
+
don't explore exhaustively, focus on the most relevant answer.
|
|
70
|
+
|
|
71
|
+
Return your findings as a clear text answer (not JSON).
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
### Step 4: Display Results
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
Display the Scout's answer directly to the user.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
Run using the Bash tool with description "Recording scout completion...":
|
|
84
|
+
```bash
|
|
85
|
+
bash .aether/aether-utils.sh spawn-complete "{scout_name}" "completed" "Quick query answered"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Step 5: Update Session (lightweight)
|
|
89
|
+
|
|
90
|
+
Run using the Bash tool with description "Updating session...":
|
|
91
|
+
```bash
|
|
92
|
+
bash .aether/aether-utils.sh session-update "/ant:quick" "" "Quick query: {query truncated to 60 chars}" 2>/dev/null || true
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**NOTE:** This command does NOT:
|
|
96
|
+
- Modify COLONY_STATE.json
|
|
97
|
+
- Advance phases
|
|
98
|
+
- Create checkpoints
|
|
99
|
+
- Spawn watchers or chaos ants
|
|
100
|
+
- Run verification
|
|
@@ -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`
|
|
@@ -36,20 +28,43 @@ Run using the Bash tool with description "Restoring colony session...": `bash .a
|
|
|
36
28
|
If successful:
|
|
37
29
|
1. Parse state from result
|
|
38
30
|
2. If goal is null: Show "No colony state found..." message and stop
|
|
39
|
-
3.
|
|
40
|
-
4.
|
|
31
|
+
3. If `milestone` == `"Crowned Anthill"`: Show "This colony has been sealed. Start a new colony with `/ant:init \"new goal\"`." and stop
|
|
32
|
+
4. Check if paused flag is true - if not, note "Colony was not paused, but resuming anyway"
|
|
33
|
+
5. Extract all state fields for display
|
|
41
34
|
|
|
42
35
|
Keep state loaded (don't unload yet) - we'll need it for the full display.
|
|
43
36
|
|
|
44
37
|
### Step 2: Compute Active Signals
|
|
45
38
|
|
|
46
|
-
|
|
39
|
+
Run using the Bash tool with description "Loading active pheromones...":
|
|
40
|
+
```bash
|
|
41
|
+
bash .aether/aether-utils.sh pheromone-read
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
|
|
45
|
+
If empty, treat as "no active pheromones."
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
- `expires_at` is null (permanent signals like INIT), OR
|
|
50
|
-
- `expires_at` > current timestamp (not expired)
|
|
47
|
+
### Step 2.5: Load Survey Context (Advisory)
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
Run using the Bash tool with description "Loading survey context...":
|
|
50
|
+
```bash
|
|
51
|
+
survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
52
|
+
survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
|
|
53
|
+
if [[ -n "$survey_latest" ]]; then
|
|
54
|
+
now_epoch=$(date +%s)
|
|
55
|
+
modified_epoch=$(stat -f %m "$survey_latest" 2>/dev/null || stat -c %Y "$survey_latest" 2>/dev/null || echo 0)
|
|
56
|
+
survey_age_days=$(( (now_epoch - modified_epoch) / 86400 ))
|
|
57
|
+
else
|
|
58
|
+
survey_age_days=-1
|
|
59
|
+
fi
|
|
60
|
+
echo "survey_docs=$survey_docs"
|
|
61
|
+
echo "survey_age_days=$survey_age_days"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Interpretation:
|
|
65
|
+
- `survey_docs == 0` => survey missing
|
|
66
|
+
- `survey_age_days > 14` => survey stale
|
|
67
|
+
- otherwise survey fresh
|
|
53
68
|
|
|
54
69
|
### Step 3: Display Restored State
|
|
55
70
|
|
|
@@ -87,18 +102,18 @@ PHASE PROGRESS
|
|
|
87
102
|
Phase <id>: <name> [<status>]
|
|
88
103
|
(list all phases from plan.phases)
|
|
89
104
|
|
|
105
|
+
SURVEY CONTEXT
|
|
106
|
+
Docs: <survey_docs>
|
|
107
|
+
Age: <survey_age_days> days
|
|
108
|
+
Status: <fresh|stale|missing>
|
|
109
|
+
Recommendation: <if missing or stale, suggest /ant:colonize --force-resurvey>
|
|
110
|
+
|
|
90
111
|
CONTEXT FROM HANDOFF
|
|
91
112
|
<summarize what was happening from .aether/HANDOFF.md>
|
|
92
113
|
|
|
93
114
|
NEXT ACTIONS
|
|
94
115
|
```
|
|
95
116
|
|
|
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
117
|
Route to next action based on state:
|
|
103
118
|
- If state is `READY` and there's a pending phase -> suggest `/ant:build <phase>`
|
|
104
119
|
- 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:
|
|
@@ -60,6 +62,7 @@ Use the Read tool to read `.aether/data/COLONY_STATE.json`.
|
|
|
60
62
|
|
|
61
63
|
COLONY_STATE.json is the authoritative source for goal and state (session.json may be stale). Extract:
|
|
62
64
|
- `goal` (use this as authoritative, overriding session.json colony_goal)
|
|
65
|
+
- `milestone` (check for sealed colony)
|
|
63
66
|
- `state` (READY, PLANNING, EXECUTING, PAUSED)
|
|
64
67
|
- `current_phase`
|
|
65
68
|
- `plan.phases` (array with id, name, status for each phase)
|
|
@@ -67,6 +70,14 @@ COLONY_STATE.json is the authoritative source for goal and state (session.json m
|
|
|
67
70
|
- `memory.decisions` (flat list — do NOT distinguish user vs Claude origin)
|
|
68
71
|
- `events` (last 5 for recent activity context)
|
|
69
72
|
|
|
73
|
+
**If `milestone` == `"Crowned Anthill"`:** This colony has been sealed. Display:
|
|
74
|
+
```
|
|
75
|
+
This colony has been sealed (Crowned Anthill).
|
|
76
|
+
|
|
77
|
+
Start a new colony with /ant:init "new goal"
|
|
78
|
+
```
|
|
79
|
+
Stop here — do NOT display stale phase data from the sealed colony.
|
|
80
|
+
|
|
70
81
|
If the file is missing or the JSON cannot be parsed, **stop immediately** and display:
|
|
71
82
|
|
|
72
83
|
```
|
|
@@ -85,6 +96,7 @@ Do NOT proceed with stale or fabricated data.
|
|
|
85
96
|
|
|
86
97
|
### Step 3: Read Pheromone Signals
|
|
87
98
|
|
|
99
|
+
|
|
88
100
|
Use the Read tool to read `.aether/data/constraints.json`.
|
|
89
101
|
|
|
90
102
|
Extract the following top-level keys:
|
|
@@ -95,6 +107,8 @@ If the file is missing: skip silently (no pheromones active).
|
|
|
95
107
|
|
|
96
108
|
Pheromones persist until explicitly cleared — no decay.
|
|
97
109
|
|
|
110
|
+
|
|
111
|
+
|
|
98
112
|
---
|
|
99
113
|
|
|
100
114
|
### Step 4: Read CONTEXT.md
|
|
@@ -238,6 +252,7 @@ Lead with the next-step recommendation. Context follows underneath ("straight to
|
|
|
238
252
|
|
|
239
253
|
```
|
|
240
254
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
255
|
+
|
|
241
256
|
RESUME SESSION
|
|
242
257
|
|
|
243
258
|
Next: {recommended}
|
|
@@ -273,15 +288,47 @@ Recent Decisions:
|
|
|
273
288
|
{end}
|
|
274
289
|
{end}
|
|
275
290
|
|
|
276
|
-
{if
|
|
291
|
+
{if signals array from Step 3 is not empty:}
|
|
277
292
|
Active Signals:
|
|
293
|
+
|
|
278
294
|
{for each focus signal:}
|
|
279
295
|
FOCUS: {focus text}
|
|
280
296
|
{end}
|
|
281
297
|
{for each constraint signal:}
|
|
282
298
|
REDIRECT: {constraint text}
|
|
283
299
|
{end}
|
|
300
|
+
|
|
301
|
+
|
|
284
302
|
{end}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
### Step 8.5: Display Memory Health (Secondary)
|
|
308
|
+
|
|
309
|
+
Run using the Bash tool with description "Loading memory health..."::
|
|
310
|
+
```bash
|
|
311
|
+
bash .aether/aether-utils.sh resume-dashboard
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Extract memory_health from the JSON result:
|
|
315
|
+
- wisdom_count
|
|
316
|
+
- pending_promotions
|
|
317
|
+
- recent_failures
|
|
318
|
+
|
|
319
|
+
Display after the main dashboard:
|
|
320
|
+
```
|
|
321
|
+
📊 Memory Health
|
|
322
|
+
Wisdom: {wisdom_count} entries | Pending: {pending_promotions} promotions | Failures: {recent_failures} recent
|
|
323
|
+
|
|
324
|
+
Run /ant:memory-details for full breakdown
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
If all counts are 0, show:
|
|
328
|
+
```
|
|
329
|
+
📊 Memory Health
|
|
330
|
+
No accumulated wisdom yet. Complete phases to build colony memory.
|
|
331
|
+
```
|
|
285
332
|
|
|
286
333
|
Last Command: {last_command}
|
|
287
334
|
Session: {session_id}
|
|
@@ -291,14 +338,14 @@ Session: {session_id}
|
|
|
291
338
|
|
|
292
339
|
### Step 9: Mark Session Resumed
|
|
293
340
|
|
|
294
|
-
Run using the Bash tool with description "Marking session as resumed..."
|
|
341
|
+
Run using the Bash tool with description "Marking session as resumed..."::
|
|
295
342
|
```bash
|
|
296
343
|
bash .aether/aether-utils.sh session-mark-resumed
|
|
297
344
|
```
|
|
298
345
|
|
|
299
346
|
### Step 10: Next Up
|
|
300
347
|
|
|
301
|
-
Generate the state-based Next Up block by
|
|
348
|
+
Generate the state-based Next Up block by Run using the Bash tool with description "Generating Next Up suggestions..."::
|
|
302
349
|
```bash
|
|
303
350
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
304
351
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
@@ -314,7 +361,10 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
314
361
|
|-----------|----------|
|
|
315
362
|
| session.json missing (exists=false) | "No previous session found" — offer /ant:init and /ant:status |
|
|
316
363
|
| COLONY_STATE.json missing or corrupted | Pause, ask user: start fresh or recover |
|
|
364
|
+
|
|
317
365
|
| constraints.json missing | Skip silently (no pheromones) |
|
|
366
|
+
|
|
367
|
+
|
|
318
368
|
| CONTEXT.md missing | Fall back to COLONY_STATE.json narrative |
|
|
319
369
|
| No plan phases, no generated_at | BLOCK — redirect to /ant:plan |
|
|
320
370
|
| Plan attempted but no phases | BLOCK — redirect to /ant:plan |
|
|
@@ -326,7 +376,10 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
326
376
|
|
|
327
377
|
## Key Constraints
|
|
328
378
|
|
|
329
|
-
|
|
379
|
+
|
|
380
|
+
- Use Read tool for COLONY_STATE.json and constraints.json (not bash cat/jq).
|
|
381
|
+
|
|
382
|
+
|
|
330
383
|
- Use Bash tool only for aether-utils.sh commands and git commands
|
|
331
384
|
- Handle ALL missing/corrupted file cases gracefully
|
|
332
385
|
- Time-agnostic: restore identically regardless of how long ago the session was
|