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,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/phase.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:phase
|
|
3
4
|
description: "📝🐜📍🐜📝 Show phase details - Queen reviews phase status, tasks, and caste assignment"
|
|
@@ -34,11 +35,13 @@ Find the phase by ID in `plan.phases`.
|
|
|
34
35
|
|
|
35
36
|
Output this header:
|
|
36
37
|
|
|
38
|
+
|
|
37
39
|
```
|
|
38
40
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
39
41
|
📝🐜📍🐜📝 P H A S E {id} D E T A I L S
|
|
40
42
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
41
|
-
|
|
43
|
+
|
|
44
|
+
|
|
42
45
|
|
|
43
46
|
Then display:
|
|
44
47
|
|
|
@@ -55,14 +58,18 @@ Then display:
|
|
|
55
58
|
✅ Success Criteria:
|
|
56
59
|
• <criterion>
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
───────────────────────────────────────────────────
|
|
62
|
+
|
|
59
63
|
🐜 Next Up
|
|
60
|
-
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
───────────────────────────────────────────────────
|
|
61
67
|
/ant:build <id> 🔨 Phase <id>: <phase_name>
|
|
62
68
|
/ant:phase <next_id> 📋 Phase <next_id>: <next_phase_name> (only if not last phase)
|
|
63
69
|
/ant:status 📊 Colony status
|
|
64
70
|
```
|
|
65
71
|
|
|
72
|
+
|
|
66
73
|
After displaying phase details, generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
67
74
|
```bash
|
|
68
75
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
@@ -71,56 +78,38 @@ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
|
71
78
|
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
72
79
|
```
|
|
73
80
|
|
|
81
|
+
|
|
74
82
|
Status icons: `[ ]` pending, `[~]` in_progress, `[✓]` completed
|
|
75
83
|
|
|
76
84
|
### Step 3b: List View
|
|
77
85
|
|
|
78
86
|
Output this header:
|
|
79
87
|
|
|
88
|
+
|
|
80
89
|
```
|
|
81
90
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
91
|
📝🐜📍🐜📝 A L L P H A S E S
|
|
83
92
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Then display all phases as a summary:
|
|
87
93
|
|
|
88
|
-
```
|
|
89
|
-
👑 Goal: "<goal>"
|
|
90
|
-
|
|
91
|
-
{icon} Phase <id>: <name>
|
|
92
|
-
<completed>/<total> tasks | <status>
|
|
93
|
-
|
|
94
|
-
(repeat for each phase)
|
|
95
94
|
|
|
96
|
-
─────────────────────────────────────────────────────
|
|
97
|
-
Legend: [✓] completed [~] in progress [ ] pending
|
|
98
95
|
|
|
99
|
-
|
|
96
|
+
For each phase in `plan.phases`, display:
|
|
100
97
|
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
After displaying phase details, offer to update the handoff document with review notes:
|
|
105
|
-
|
|
106
|
-
Use AskUserQuestion:
|
|
98
|
+
[{id}] {name} [{status}]
|
|
99
|
+
{short_description}
|
|
107
100
|
```
|
|
108
|
-
Update handoff with phase review notes?
|
|
109
101
|
|
|
110
|
-
|
|
111
|
-
2. No — continue without updating
|
|
102
|
+
Display phases grouped by status:
|
|
112
103
|
```
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
## Phase {id} Review Notes
|
|
121
|
-
- Reviewed: $(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
122
|
-
- Notes: {user_notes}
|
|
123
|
-
HANDOFF_EOF
|
|
104
|
+
✓ Completed
|
|
105
|
+
[{id}] {name}
|
|
106
|
+
~ In Progress
|
|
107
|
+
[{id}] {name}
|
|
108
|
+
[ ] Pending
|
|
109
|
+
[{id}] {name}
|
|
124
110
|
```
|
|
125
111
|
|
|
126
|
-
Display
|
|
112
|
+
Display completion progress:
|
|
113
|
+
```
|
|
114
|
+
📊 Overall: {completed_count}/{total_count} phases complete
|
|
115
|
+
```
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/pheromones.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:pheromones
|
|
4
|
+
description: "🎯🐜🚫🐜💬 View and manage active pheromone signals"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **Queen**. Display and manage the colony's pheromone signals.
|
|
8
|
+
|
|
9
|
+
## Instructions
|
|
10
|
+
|
|
11
|
+
Parse `$ARGUMENTS`:
|
|
12
|
+
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
13
|
+
- Otherwise: set `visual_mode = true`
|
|
14
|
+
|
|
15
|
+
Extract subcommand from `$ARGUMENTS`:
|
|
16
|
+
- No argument or `all`: Show all active pheromones
|
|
17
|
+
- `focus`: Show only FOCUS signals
|
|
18
|
+
- `redirect`: Show only REDIRECT signals
|
|
19
|
+
- `feedback`: Show only FEEDBACK signals
|
|
20
|
+
- `clear`: Clear expired/inactive signals
|
|
21
|
+
- `expire <id>`: Expire a specific signal by ID
|
|
22
|
+
|
|
23
|
+
### Step 1: Read Colony State
|
|
24
|
+
|
|
25
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
26
|
+
|
|
27
|
+
If file missing or `goal: null`:
|
|
28
|
+
```
|
|
29
|
+
No colony initialized. Run /ant:init first.
|
|
30
|
+
```
|
|
31
|
+
Stop here.
|
|
32
|
+
|
|
33
|
+
### Step 2: Handle Subcommands
|
|
34
|
+
|
|
35
|
+
**If subcommand is `clear`:**
|
|
36
|
+
|
|
37
|
+
Run using the Bash tool:
|
|
38
|
+
```bash
|
|
39
|
+
# Count signals before
|
|
40
|
+
before_count=$(jq '[.signals[] | select(.active == true)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
|
|
41
|
+
|
|
42
|
+
# Mark expired/inactive signals as inactive
|
|
43
|
+
now=$(date +%s)
|
|
44
|
+
jq --argjson now "$now" '
|
|
45
|
+
def to_epoch(ts):
|
|
46
|
+
if ts == null or ts == "" or ts == "phase_end" then null
|
|
47
|
+
else
|
|
48
|
+
(ts | split("T")) as $parts |
|
|
49
|
+
($parts[0] | split("-")) as $d |
|
|
50
|
+
($parts[1] | rtrimstr("Z") | split(":")) as $t |
|
|
51
|
+
(($d[0] | tonumber) - 1970) * 365 * 86400 +
|
|
52
|
+
(($d[1] | tonumber) - 1) * 30 * 86400 +
|
|
53
|
+
(($d[2] | tonumber) - 1) * 86400 +
|
|
54
|
+
($t[0] | tonumber) * 3600 +
|
|
55
|
+
($t[1] | tonumber) * 60 +
|
|
56
|
+
($t[2] | rtrimstr("Z") | tonumber)
|
|
57
|
+
end;
|
|
58
|
+
|
|
59
|
+
def decay_days(t):
|
|
60
|
+
if t == "FOCUS" then 30
|
|
61
|
+
elif t == "REDIRECT" then 60
|
|
62
|
+
else 90
|
|
63
|
+
end;
|
|
64
|
+
|
|
65
|
+
.signals = [.signals[] |
|
|
66
|
+
(to_epoch(.created_at)) as $created_epoch |
|
|
67
|
+
(if $created_epoch != null then ($now - $created_epoch) / 86400 else 0 end) as $elapsed_days |
|
|
68
|
+
(decay_days(.type)) as $dd |
|
|
69
|
+
((.strength // 0.8) * (1 - ($elapsed_days / $dd))) as $eff_raw |
|
|
70
|
+
(if $eff_raw < 0 then 0 else $eff_raw end) as $eff |
|
|
71
|
+
if $eff < 0.1 then . + {active: false} else . end
|
|
72
|
+
]
|
|
73
|
+
' .aether/data/pheromones.json > .aether/data/pheromones.json.tmp && mv .aether/data/pheromones.json.tmp .aether/data/pheromones.json
|
|
74
|
+
|
|
75
|
+
# Count signals after
|
|
76
|
+
after_count=$(jq '[.signals[] | select(.active == true)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
|
|
77
|
+
cleared=$((before_count - after_count))
|
|
78
|
+
|
|
79
|
+
echo "before=$before_count after=$after_count cleared=$cleared"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Display:
|
|
83
|
+
```
|
|
84
|
+
🧹 Pheromone Cleanup
|
|
85
|
+
|
|
86
|
+
Before: {before_count} active signals
|
|
87
|
+
After: {after_count} active signals
|
|
88
|
+
Cleared: {cleared} expired signal(s)
|
|
89
|
+
|
|
90
|
+
Run /ant:pheromones to see remaining signals.
|
|
91
|
+
```
|
|
92
|
+
Stop here.
|
|
93
|
+
|
|
94
|
+
**If subcommand is `expire <id>`:**
|
|
95
|
+
|
|
96
|
+
Extract the signal ID from arguments.
|
|
97
|
+
Run using the Bash tool:
|
|
98
|
+
```bash
|
|
99
|
+
signal_id="{extracted_id}"
|
|
100
|
+
jq --arg id "$signal_id" '.signals = [.signals[] | if .id == $id then . + {active: false} else . end]' .aether/data/pheromones.json > .aether/data/pheromones.json.tmp && mv .aether/data/pheromones.json.tmp .aether/data/pheromones.json && echo "expired=$signal_id"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Display:
|
|
104
|
+
```
|
|
105
|
+
✓ Signal expired: {signal_id}
|
|
106
|
+
|
|
107
|
+
Run /ant:pheromones to see remaining signals.
|
|
108
|
+
```
|
|
109
|
+
Stop here.
|
|
110
|
+
|
|
111
|
+
### Step 3: Display Active Pheromones (default or filter)
|
|
112
|
+
|
|
113
|
+
Run using the Bash tool with description "Displaying pheromones...":
|
|
114
|
+
```bash
|
|
115
|
+
bash .aether/aether-utils.sh pheromone-display "{subcommand or 'all'}"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The output will be the formatted pheromone table.
|
|
119
|
+
|
|
120
|
+
### Step 4: Summary and Next Steps
|
|
121
|
+
|
|
122
|
+
Display guidance:
|
|
123
|
+
```
|
|
124
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
125
|
+
|
|
126
|
+
💡 Managing Pheromones
|
|
127
|
+
|
|
128
|
+
/ant:focus "area" 🎯 Guide attention
|
|
129
|
+
/ant:redirect "avoid" 🚫 Set hard constraint
|
|
130
|
+
/ant:feedback "note" 💬 Provide guidance
|
|
131
|
+
/ant:pheromones clear 🧹 Clear expired signals
|
|
132
|
+
|
|
133
|
+
🐜 Signals decay over time: FOCUS 30d, REDIRECT 60d, FEEDBACK 90d
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Edge Cases
|
|
137
|
+
|
|
138
|
+
**No pheromones file:**
|
|
139
|
+
```
|
|
140
|
+
No pheromones active. Colony has no signals.
|
|
141
|
+
|
|
142
|
+
Inject signals with:
|
|
143
|
+
/ant:focus "area" - Guide attention
|
|
144
|
+
/ant:redirect "avoid" - Set hard constraint
|
|
145
|
+
/ant:feedback "note" - Provide guidance
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**No active signals of filtered type:**
|
|
149
|
+
```
|
|
150
|
+
No active {type} signals found.
|
|
151
|
+
|
|
152
|
+
Try: /ant:pheromones (to see all)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Invalid subcommand:**
|
|
156
|
+
Display help showing valid subcommands.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/plan.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:plan
|
|
3
4
|
description: "📊🐜🗺️🐜📊 Show project plan or generate project-specific phases"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Orchestrate research and planning until
|
|
7
|
+
You are the **Queen**. Orchestrate research and planning until the selected confidence target is reached within the selected iteration budget.
|
|
7
8
|
|
|
8
9
|
## Instructions
|
|
9
10
|
|
|
@@ -11,24 +12,7 @@ Parse `$ARGUMENTS`:
|
|
|
11
12
|
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
12
13
|
- Otherwise: set `visual_mode = true`
|
|
13
14
|
|
|
14
|
-
### Step
|
|
15
|
-
|
|
16
|
-
If `visual_mode` is true:
|
|
17
|
-
```bash
|
|
18
|
-
# Generate session ID
|
|
19
|
-
plan_id="plan-$(date +%s)"
|
|
20
|
-
|
|
21
|
-
# Initialize swarm display (consolidated)
|
|
22
|
-
bash .aether/aether-utils.sh swarm-display-init "$plan_id" && bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Generating colony plan" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Step 0.5: Version Check (Non-blocking)
|
|
26
|
-
|
|
27
|
-
Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
|
|
28
|
-
|
|
29
|
-
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
30
|
-
|
|
31
|
-
### Step 1: Read State + Version Check
|
|
15
|
+
### Step 1: Read State
|
|
32
16
|
|
|
33
17
|
Read `.aether/data/COLONY_STATE.json`.
|
|
34
18
|
|
|
@@ -79,6 +63,33 @@ Parse `$ARGUMENTS`:
|
|
|
79
63
|
- If contains `--accept`: Set `force_accept = true` (accept current plan regardless of confidence)
|
|
80
64
|
- Otherwise: `force_accept = false`
|
|
81
65
|
|
|
66
|
+
Select planning depth (prompt user if not explicitly provided):
|
|
67
|
+
- Presets:
|
|
68
|
+
- `fast`: `target_confidence = 80`, `max_iterations = 4`
|
|
69
|
+
- `balanced`: `target_confidence = 90`, `max_iterations = 6`
|
|
70
|
+
- `deep`: `target_confidence = 95`, `max_iterations = 8`
|
|
71
|
+
- `exhaustive`: `target_confidence = 99`, `max_iterations = 12`
|
|
72
|
+
- Preset selectors:
|
|
73
|
+
- `--fast`, `--balanced`, `--deep`, `--exhaustive`
|
|
74
|
+
- `--quality fast|balanced|deep|exhaustive`
|
|
75
|
+
- CLI overrides:
|
|
76
|
+
- `--target <70-99>` to set `target_confidence`
|
|
77
|
+
- `--max-iterations <2-12>` to set `max_iterations`
|
|
78
|
+
- If no preset/overrides are provided, ask:
|
|
79
|
+
`Planning depth? 1) Fast 2) Balanced 3) Deep (recommended) 4) Exhaustive`
|
|
80
|
+
- Map user choice to a preset, default to `deep` on unclear input.
|
|
81
|
+
- If overrides are out of range, clamp to valid ranges and continue.
|
|
82
|
+
|
|
83
|
+
### Step 2.5: Load Compact Context Capsule
|
|
84
|
+
|
|
85
|
+
Run using the Bash tool with description "Loading compact planning context...":
|
|
86
|
+
```bash
|
|
87
|
+
bash .aether/aether-utils.sh context-capsule --compact --json 2>/dev/null
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
If JSON is valid and `.ok == true`, extract `.result.prompt_section` into `context_capsule_prompt`.
|
|
91
|
+
If command fails or returns invalid JSON, set `context_capsule_prompt = ""` and continue.
|
|
92
|
+
|
|
82
93
|
### Step 3: Initialize Planning State
|
|
83
94
|
|
|
84
95
|
Update watch files for tmux visibility:
|
|
@@ -91,7 +102,7 @@ AETHER COLONY :: PLANNING
|
|
|
91
102
|
State: PLANNING
|
|
92
103
|
Phase: 0/0 (generating plan)
|
|
93
104
|
Confidence: 0%
|
|
94
|
-
Iteration: 0/
|
|
105
|
+
Iteration: 0/{max_iterations}
|
|
95
106
|
|
|
96
107
|
Active Workers:
|
|
97
108
|
[Research] Starting...
|
|
@@ -108,17 +119,12 @@ Progress
|
|
|
108
119
|
|
|
109
120
|
[ ] 0%
|
|
110
121
|
|
|
111
|
-
Target:
|
|
122
|
+
Target: {target_confidence}% confidence
|
|
112
123
|
|
|
113
|
-
Iteration: 0/
|
|
124
|
+
Iteration: 0/{max_iterations}
|
|
114
125
|
Gaps: (analyzing...)
|
|
115
126
|
```
|
|
116
127
|
|
|
117
|
-
Log start:
|
|
118
|
-
```bash
|
|
119
|
-
bash .aether/aether-utils.sh activity-log "PLAN_START" "queen" "Iterative planning loop initiated for goal"
|
|
120
|
-
```
|
|
121
|
-
|
|
122
128
|
### Step 3.5: Load Territory Survey
|
|
123
129
|
|
|
124
130
|
Check if territory survey exists before research:
|
|
@@ -153,6 +159,129 @@ ls .aether/data/survey/*.md 2>/dev/null
|
|
|
153
159
|
|
|
154
160
|
**If no survey:** Continue without survey context (scouts will do fresh exploration)
|
|
155
161
|
|
|
162
|
+
### Step 3.6: Phase Domain Research
|
|
163
|
+
|
|
164
|
+
Investigate domain knowledge for each phase before the planning loop begins. This runs every time `/ant:plan` generates a new plan -- no skip flag.
|
|
165
|
+
|
|
166
|
+
**1. Retrieve hive wisdom for research priming:**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
hive_context=$(bash .aether/aether-utils.sh hive-read --limit 5 --format text 2>/dev/null)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Parse the JSON result to extract `.result.text` as `hive_text`. If command fails or returns empty, set `hive_text = ""`.
|
|
173
|
+
|
|
174
|
+
**2. Clean any previous research for this phase:**
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
research_dir=".aether/data/phase-research"
|
|
178
|
+
mkdir -p "$research_dir"
|
|
179
|
+
rm -f "$research_dir/phase-{phase_number}-research.md"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Re-running /ant:plan always re-researches from scratch.
|
|
183
|
+
|
|
184
|
+
**3. Spawn Research Scout** via Task tool with `subagent_type="aether-scout"`:
|
|
185
|
+
|
|
186
|
+
FALLBACK: If "Agent type not found", use general-purpose and inject role: "You are a Scout Ant performing Phase Domain Research."
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
You are a Scout Ant performing Phase Domain Research.
|
|
190
|
+
|
|
191
|
+
--- MISSION ---
|
|
192
|
+
Investigate the domain knowledge needed for Phase {phase_number}: {phase_name}
|
|
193
|
+
Goal: "{goal}"
|
|
194
|
+
Phase description: "{phase_description}"
|
|
195
|
+
|
|
196
|
+
{context_capsule_prompt}
|
|
197
|
+
|
|
198
|
+
--- PRE-EXISTING COLONY WISDOM ---
|
|
199
|
+
{hive_text}
|
|
200
|
+
|
|
201
|
+
--- RESEARCH AREAS ---
|
|
202
|
+
1. Key patterns in the existing codebase relevant to this phase
|
|
203
|
+
2. External library/API documentation if the phase involves external tools
|
|
204
|
+
3. Common gotchas and pitfalls in this domain
|
|
205
|
+
4. Recommended implementation approach based on findings
|
|
206
|
+
|
|
207
|
+
--- SCOPE CONSTRAINTS ---
|
|
208
|
+
- Maximum 5 key patterns
|
|
209
|
+
- Maximum 3 gotchas
|
|
210
|
+
- Maximum 1 recommended approach paragraph
|
|
211
|
+
- Total output under 3000 words
|
|
212
|
+
- Prioritize actionable guidance over exhaustive documentation
|
|
213
|
+
- Check hive wisdom above first -- do not re-discover known patterns
|
|
214
|
+
|
|
215
|
+
--- TOOLS ---
|
|
216
|
+
Use: Glob, Grep, Read, WebSearch, WebFetch
|
|
217
|
+
Do NOT use: Task, Write, Edit
|
|
218
|
+
|
|
219
|
+
--- OUTPUT FORMAT ---
|
|
220
|
+
Return JSON:
|
|
221
|
+
{
|
|
222
|
+
"hive_wisdom_used": ["list of hive entries that were relevant"],
|
|
223
|
+
"key_patterns": [
|
|
224
|
+
{"pattern": "description", "source": "file path or URL", "relevance": "why it matters for this phase"}
|
|
225
|
+
],
|
|
226
|
+
"external_context": [
|
|
227
|
+
{"topic": "what", "finding": "description", "source": "URL or doc reference"}
|
|
228
|
+
],
|
|
229
|
+
"gotchas": [
|
|
230
|
+
{"issue": "what can go wrong", "prevention": "how to avoid it", "source": "evidence"}
|
|
231
|
+
],
|
|
232
|
+
"recommended_approach": "synthesis paragraph",
|
|
233
|
+
"files_to_study": ["path1", "path2"]
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**4. Wait for scout to complete** (blocking -- direct Task return).
|
|
238
|
+
|
|
239
|
+
**5. Parse scout JSON output and write RESEARCH.md to disk.** The Queen (plan.md orchestrator) writes the file -- scout is read-only. Write to: `.aether/data/phase-research/phase-{phase_number}-research.md`
|
|
240
|
+
|
|
241
|
+
RESEARCH.md format (6 fixed sections):
|
|
242
|
+
|
|
243
|
+
```markdown
|
|
244
|
+
# Phase {N} Research: {Phase Name}
|
|
245
|
+
|
|
246
|
+
**Generated:** {ISO-8601 timestamp}
|
|
247
|
+
**Phase:** {N} - {Phase Name}
|
|
248
|
+
**Research scope:** {brief summary of what was investigated}
|
|
249
|
+
|
|
250
|
+
## Hive Wisdom (Pre-existing Knowledge)
|
|
251
|
+
{Format hive_wisdom_used entries, or "No relevant hive wisdom found" if empty}
|
|
252
|
+
|
|
253
|
+
## Key Patterns
|
|
254
|
+
{Format each key_patterns entry as: **{pattern}:** {relevance} (Source: {source})}
|
|
255
|
+
|
|
256
|
+
## External Context
|
|
257
|
+
{Format each external_context entry as: **{topic}:** {finding} (Source: {source})}
|
|
258
|
+
{If empty: "No external research needed for this phase"}
|
|
259
|
+
|
|
260
|
+
## Gotchas
|
|
261
|
+
{Format each gotchas entry as: **{issue}:** {prevention} (Source: {source})}
|
|
262
|
+
|
|
263
|
+
## Recommended Approach
|
|
264
|
+
{recommended_approach text}
|
|
265
|
+
|
|
266
|
+
## Files to Study
|
|
267
|
+
{Format as bullet list of file paths}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**6. Store research findings** in a variable `research_findings_summary` for injection into the Route-Setter prompt in Step 4. This is a compact summary (not the full RESEARCH.md):
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
Key Patterns: {bullet list of pattern names}
|
|
274
|
+
Gotchas: {bullet list of gotcha titles}
|
|
275
|
+
Recommended: {recommended_approach, first sentence only}
|
|
276
|
+
Files: {comma-separated file paths}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**7. Display completion:**
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
Research complete: phase-{phase_number}-research.md ({word_count} words)
|
|
283
|
+
```
|
|
284
|
+
|
|
156
285
|
### Step 4: Research and Planning Loop
|
|
157
286
|
|
|
158
287
|
Initialize tracking:
|
|
@@ -163,15 +292,15 @@ Initialize tracking:
|
|
|
163
292
|
- `last_confidence = 0`
|
|
164
293
|
- `stall_count = 0` (consecutive iterations with < 5% improvement)
|
|
165
294
|
|
|
166
|
-
**Loop (max
|
|
295
|
+
**Loop (max {max_iterations} iterations, 2 agents per iteration: 1 scout + 1 planner):**
|
|
167
296
|
|
|
168
297
|
```
|
|
169
|
-
while iteration <
|
|
298
|
+
while iteration < max_iterations AND confidence < target_confidence:
|
|
170
299
|
iteration += 1
|
|
171
300
|
|
|
172
301
|
# === AUTO-BREAK CHECKS (no user prompt needed) ===
|
|
173
302
|
if iteration > 1:
|
|
174
|
-
if confidence >=
|
|
303
|
+
if confidence >= target_confidence:
|
|
175
304
|
Log: "Confidence threshold reached ({confidence}%), finalizing plan"
|
|
176
305
|
break
|
|
177
306
|
if stall_count >= 2:
|
|
@@ -192,7 +321,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
192
321
|
Research the codebase to understand what exists and how it works.
|
|
193
322
|
|
|
194
323
|
Goal: "{goal}"
|
|
195
|
-
Iteration: {iteration}/
|
|
324
|
+
Iteration: {iteration}/{max_iterations}
|
|
325
|
+
|
|
326
|
+
{context_capsule_prompt}
|
|
196
327
|
|
|
197
328
|
--- EXPLORATION AREAS ---
|
|
198
329
|
Cover ALL of these in a single pass:
|
|
@@ -236,7 +367,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
236
367
|
Investigate ONLY these specific knowledge gaps. Do not explore broadly.
|
|
237
368
|
|
|
238
369
|
Goal: "{goal}"
|
|
239
|
-
Iteration: {iteration}/
|
|
370
|
+
Iteration: {iteration}/{max_iterations}
|
|
371
|
+
|
|
372
|
+
{context_capsule_prompt}
|
|
240
373
|
|
|
241
374
|
--- GAPS TO INVESTIGATE ---
|
|
242
375
|
{for each gap in gaps:}
|
|
@@ -269,8 +402,6 @@ while iteration < 4 AND confidence < 80:
|
|
|
269
402
|
# Wait for scout to complete.
|
|
270
403
|
# Update gaps list from scout results.
|
|
271
404
|
|
|
272
|
-
Log: `bash .aether/aether-utils.sh activity-log "RESEARCH" "scout" "Iteration {iteration}: {scout.findings.length} findings, {scout.gaps_remaining.length} gaps"`
|
|
273
|
-
|
|
274
405
|
# === PLANNING PHASE (always runs — 1 planner per iteration) ===
|
|
275
406
|
|
|
276
407
|
Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="aether-route-setter":
|
|
@@ -283,10 +414,11 @@ while iteration < 4 AND confidence < 80:
|
|
|
283
414
|
Create or refine a project plan based on research findings.
|
|
284
415
|
|
|
285
416
|
Goal: "{goal}"
|
|
286
|
-
Iteration: {iteration}/
|
|
417
|
+
Iteration: {iteration}/{max_iterations}
|
|
418
|
+
|
|
419
|
+
{context_capsule_prompt}
|
|
287
420
|
|
|
288
421
|
--- PLANNING DISCIPLINE ---
|
|
289
|
-
Read .aether/planning.md for full reference.
|
|
290
422
|
|
|
291
423
|
Key rules:
|
|
292
424
|
- Bite-sized tasks (2-5 minutes each) - one action per task
|
|
@@ -322,6 +454,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
322
454
|
--- RESEARCH FINDINGS ---
|
|
323
455
|
{scout.findings formatted — compact, max 5 items}
|
|
324
456
|
|
|
457
|
+
--- PHASE DOMAIN RESEARCH (from Step 3.6) ---
|
|
458
|
+
{research_findings_summary if available, otherwise omit this section}
|
|
459
|
+
|
|
325
460
|
Remaining Gaps:
|
|
326
461
|
{gaps formatted — compact, max 3 items}
|
|
327
462
|
|
|
@@ -383,8 +518,6 @@ while iteration < 4 AND confidence < 80:
|
|
|
383
518
|
|
|
384
519
|
Parse planning results. Update plan_draft and confidence.
|
|
385
520
|
|
|
386
|
-
Log: `bash .aether/aether-utils.sh activity-log "PLANNING" "route-setter" "Confidence: {confidence}% (+{delta}%)"`
|
|
387
|
-
|
|
388
521
|
# === UPDATE WATCH FILES ===
|
|
389
522
|
|
|
390
523
|
Update `.aether/data/watch-status.txt` with current state.
|
|
@@ -416,7 +549,7 @@ Proceed directly to Step 5. No user confirmation needed — the plan auto-finali
|
|
|
416
549
|
|
|
417
550
|
### Step 5: Finalize Plan
|
|
418
551
|
|
|
419
|
-
Once loop exits (confidence >=
|
|
552
|
+
Once loop exits (confidence >= {target_confidence}, max iterations reached, or stall detected):
|
|
420
553
|
|
|
421
554
|
Read current COLONY_STATE.json, then update:
|
|
422
555
|
- Set `plan.phases` to the final phases array
|
|
@@ -426,11 +559,6 @@ Read current COLONY_STATE.json, then update:
|
|
|
426
559
|
|
|
427
560
|
Write COLONY_STATE.json.
|
|
428
561
|
|
|
429
|
-
Validate the state file:
|
|
430
|
-
```bash
|
|
431
|
-
bash .aether/aether-utils.sh validate-state colony
|
|
432
|
-
```
|
|
433
|
-
|
|
434
562
|
Log: `bash .aether/aether-utils.sh activity-log "PLAN_COMPLETE" "queen" "Plan finalized with {confidence}% confidence"`
|
|
435
563
|
|
|
436
564
|
Update watch-status.txt:
|
|
@@ -455,11 +583,6 @@ bash .aether/aether-utils.sh session-update "/ant:plan" "/ant:build 1" "Plan gen
|
|
|
455
583
|
|
|
456
584
|
### Step 7: Display Plan
|
|
457
585
|
|
|
458
|
-
**If visual_mode is true, render final swarm display (consolidated):**
|
|
459
|
-
```bash
|
|
460
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Plan generated" "Colony" '{"read":8,"grep":4,"edit":2,"bash":1}' 100 "fungus_garden" 100 && bash .aether/aether-utils.sh swarm-display-text "$plan_id"
|
|
461
|
-
```
|
|
462
|
-
|
|
463
586
|
Read `plan.phases` from COLONY_STATE.json and display:
|
|
464
587
|
|
|
465
588
|
```
|
|
@@ -523,7 +646,7 @@ Each dimension rated 0-100%:
|
|
|
523
646
|
|
|
524
647
|
**Overall** = weighted average (knowledge 25%, requirements 25%, risks 20%, dependencies 15%, effort 15%)
|
|
525
648
|
|
|
526
|
-
**Target
|
|
649
|
+
**Target:** Use the selected planning depth target. Higher targets trade latency for stronger up-front plan quality.
|
|
527
650
|
|
|
528
651
|
---
|
|
529
652
|
|
|
@@ -531,9 +654,9 @@ Each dimension rated 0-100%:
|
|
|
531
654
|
|
|
532
655
|
The planning loop terminates automatically without requiring user input:
|
|
533
656
|
|
|
534
|
-
1. **Confidence Threshold**: Loop exits when overall confidence reaches
|
|
657
|
+
1. **Confidence Threshold**: Loop exits when overall confidence reaches `{target_confidence}%`
|
|
535
658
|
|
|
536
|
-
2. **Hard Iteration Cap**: Maximum
|
|
659
|
+
2. **Hard Iteration Cap**: Maximum `{max_iterations}` iterations (2 subagents per iteration: 1 scout + 1 planner)
|
|
537
660
|
|
|
538
661
|
3. **Stall Detection**: If confidence improves < 5% for 2 consecutive iterations, auto-finalize current plan
|
|
539
662
|
|
|
@@ -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
|
+
```
|