aether-colony 3.1.17 → 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 +5354 -0
- 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 +211 -0
- package/.aether/docs/README.md +98 -0
- package/.aether/docs/caste-system.md +48 -0
- 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/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +13 -11
- package/.aether/docs/error-codes.md +268 -0
- package/.aether/docs/known-issues.md +94 -0
- package/{runtime → .aether}/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +98 -0
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
- package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
- package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
- package/.aether/rules/aether-colony.md +144 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- 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 +61 -0
- package/.aether/templates/colony-state-reset.jq.template +23 -0
- package/.aether/templates/colony-state.template.json +39 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -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/{runtime → .aether}/utils/atomic-write.sh +68 -22
- package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
- package/.aether/utils/chamber-utils.sh +440 -0
- package/.aether/utils/emoji-audit.sh +166 -0
- package/{runtime → .aether}/utils/error-handler.sh +34 -8
- package/.aether/utils/file-lock.sh +313 -0
- 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 +415 -0
- package/.aether/utils/session.sh +552 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +260 -0
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +199 -0
- package/{runtime → .aether}/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/{runtime → .aether}/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/{runtime → .aether}/utils/watch-spawn-tree.sh +11 -2
- package/{runtime → .aether}/utils/xml-compose.sh +9 -3
- package/.aether/utils/xml-convert.sh +277 -0
- package/{runtime → .aether}/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/{runtime → .aether}/workers.md +97 -81
- package/.claude/agents/ant/aether-ambassador.md +265 -0
- package/.claude/agents/ant/aether-archaeologist.md +327 -0
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +271 -0
- package/.claude/agents/ant/aether-builder.md +224 -0
- package/.claude/agents/ant/aether-chaos.md +269 -0
- package/.claude/agents/ant/aether-chronicler.md +305 -0
- package/.claude/agents/ant/aether-gatekeeper.md +330 -0
- package/.claude/agents/ant/aether-includer.md +374 -0
- package/.claude/agents/ant/aether-keeper.md +272 -0
- package/.claude/agents/ant/aether-measurer.md +322 -0
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +211 -0
- package/.claude/agents/ant/aether-queen.md +330 -0
- package/.claude/agents/ant/aether-route-setter.md +178 -0
- package/.claude/agents/ant/aether-sage.md +418 -0
- package/.claude/agents/ant/aether-scout.md +179 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +417 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +355 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +289 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +360 -0
- package/.claude/agents/ant/aether-tracker.md +270 -0
- package/.claude/agents/ant/aether-watcher.md +280 -0
- package/.claude/agents/ant/aether-weaver.md +248 -0
- package/.claude/commands/ant/archaeology.md +16 -14
- package/.claude/commands/ant/build.md +43 -1028
- package/.claude/commands/ant/chaos.md +19 -23
- package/.claude/commands/ant/colonize.md +52 -31
- package/.claude/commands/ant/continue.md +40 -1016
- package/.claude/commands/ant/council.md +21 -18
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +27 -15
- package/.claude/commands/ant/entomb.md +317 -225
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +48 -26
- package/.claude/commands/ant/flag.md +30 -10
- package/.claude/commands/ant/flags.md +34 -12
- package/.claude/commands/ant/focus.md +45 -19
- package/.claude/commands/ant/help.md +50 -8
- package/.claude/commands/ant/history.md +13 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +345 -194
- package/.claude/commands/ant/insert-phase.md +101 -0
- package/.claude/commands/ant/interpret.md +26 -4
- package/.claude/commands/ant/lay-eggs.md +184 -127
- package/.claude/commands/ant/maturity.md +32 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +20 -2
- package/.claude/commands/ant/oracle.md +337 -74
- package/.claude/commands/ant/organize.md +39 -25
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +23 -27
- package/.claude/commands/ant/phase.md +40 -42
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +185 -51
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +45 -30
- package/.claude/commands/ant/resume-colony.md +51 -27
- package/.claude/commands/ant/resume.md +314 -94
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +650 -221
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +196 -31
- package/.claude/commands/ant/swarm.md +16 -46
- package/.claude/commands/ant/tunnels.md +280 -105
- package/.claude/commands/ant/update.md +73 -89
- package/.claude/commands/ant/verify-castes.md +100 -42
- package/.claude/commands/ant/watch.md +14 -12
- package/.opencode/agents/aether-ambassador.md +63 -20
- package/.opencode/agents/aether-archaeologist.md +29 -12
- package/.opencode/agents/aether-architect.md +103 -36
- package/.opencode/agents/aether-auditor.md +51 -18
- package/.opencode/agents/aether-builder.md +70 -20
- package/.opencode/agents/aether-chaos.md +29 -12
- package/.opencode/agents/aether-chronicler.md +60 -18
- package/.opencode/agents/aether-gatekeeper.md +27 -18
- package/.opencode/agents/aether-includer.md +27 -18
- package/.opencode/agents/aether-keeper.md +89 -18
- package/.opencode/agents/aether-measurer.md +27 -18
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-probe.md +60 -18
- package/.opencode/agents/aether-queen.md +172 -24
- package/.opencode/agents/aether-route-setter.md +57 -12
- package/.opencode/agents/aether-sage.md +26 -18
- package/.opencode/agents/aether-scout.md +28 -20
- package/.opencode/agents/aether-surveyor-disciplines.md +59 -2
- package/.opencode/agents/aether-surveyor-nest.md +59 -2
- package/.opencode/agents/aether-surveyor-pathogens.md +57 -2
- package/.opencode/agents/aether-surveyor-provisions.md +59 -2
- package/.opencode/agents/aether-tracker.md +64 -18
- package/.opencode/agents/aether-watcher.md +66 -19
- package/.opencode/agents/aether-weaver.md +61 -18
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +437 -257
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +8 -17
- package/.opencode/commands/ant/continue.md +661 -142
- 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 +133 -62
- 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 +374 -167
- 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 +18 -16
- 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 +385 -0
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +259 -45
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +135 -31
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +152 -9
- package/.opencode/commands/ant/update.md +70 -91
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +356 -0
- package/README.md +203 -573
- package/bin/cli.js +455 -527
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +127 -88
- package/bin/lib/init.js +13 -3
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +392 -140
- package/bin/npx-install.js +178 -0
- package/bin/sync-to-runtime.sh +5 -137
- package/bin/validate-package.sh +166 -0
- package/package.json +14 -7
- package/.opencode/agents/aether-guardian.md +0 -107
- package/.opencode/agents/workers.md +0 -1034
- 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
- package/runtime/CONTEXT.md +0 -160
- package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
- package/runtime/aether-utils.sh +0 -3879
- package/runtime/data/signatures.json +0 -41
- package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
- package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
- package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
- package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
- package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
- package/runtime/docs/README.md +0 -94
- package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
- package/runtime/docs/biological-reference.md +0 -272
- package/runtime/docs/codebase-review.md +0 -399
- package/runtime/docs/command-sync.md +0 -164
- package/runtime/docs/constraints.md +0 -116
- package/runtime/docs/implementation-learnings.md +0 -89
- package/runtime/docs/known-issues.md +0 -217
- package/runtime/docs/namespace.md +0 -148
- package/runtime/docs/pathogen-schema-example.json +0 -36
- package/runtime/docs/pathogen-schema.md +0 -111
- package/runtime/docs/planning-discipline.md +0 -159
- package/runtime/docs/progressive-disclosure.md +0 -184
- package/runtime/lib/queen-utils.sh +0 -729
- package/runtime/model-profiles.yaml +0 -100
- package/runtime/planning.md +0 -159
- package/runtime/recover.sh +0 -136
- package/runtime/templates/QUEEN.md.template +0 -79
- package/runtime/utils/chamber-utils.sh +0 -285
- package/runtime/utils/file-lock.sh +0 -122
- package/runtime/utils/spawn-tree.sh +0 -428
- package/runtime/utils/spawn-with-model.sh +0 -56
- package/runtime/utils/xml-utils.sh +0 -2196
- package/runtime/workers-new-castes.md +0 -516
- /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
- /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
- /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
- /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
- /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
- /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
- /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
- /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
- /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
|
@@ -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,25 +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
|
|
22
|
-
bash .aether/aether-utils.sh swarm-display-init "$plan_id"
|
|
23
|
-
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
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Step 0.5: Version Check (Non-blocking)
|
|
27
|
-
|
|
28
|
-
Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
|
|
29
|
-
|
|
30
|
-
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
31
|
-
|
|
32
|
-
### Step 1: Read State + Version Check
|
|
15
|
+
### Step 1: Read State
|
|
33
16
|
|
|
34
17
|
Read `.aether/data/COLONY_STATE.json`.
|
|
35
18
|
|
|
@@ -80,6 +63,33 @@ Parse `$ARGUMENTS`:
|
|
|
80
63
|
- If contains `--accept`: Set `force_accept = true` (accept current plan regardless of confidence)
|
|
81
64
|
- Otherwise: `force_accept = false`
|
|
82
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
|
+
|
|
83
93
|
### Step 3: Initialize Planning State
|
|
84
94
|
|
|
85
95
|
Update watch files for tmux visibility:
|
|
@@ -92,7 +102,7 @@ AETHER COLONY :: PLANNING
|
|
|
92
102
|
State: PLANNING
|
|
93
103
|
Phase: 0/0 (generating plan)
|
|
94
104
|
Confidence: 0%
|
|
95
|
-
Iteration: 0/
|
|
105
|
+
Iteration: 0/{max_iterations}
|
|
96
106
|
|
|
97
107
|
Active Workers:
|
|
98
108
|
[Research] Starting...
|
|
@@ -109,17 +119,12 @@ Progress
|
|
|
109
119
|
|
|
110
120
|
[ ] 0%
|
|
111
121
|
|
|
112
|
-
Target:
|
|
122
|
+
Target: {target_confidence}% confidence
|
|
113
123
|
|
|
114
|
-
Iteration: 0/
|
|
124
|
+
Iteration: 0/{max_iterations}
|
|
115
125
|
Gaps: (analyzing...)
|
|
116
126
|
```
|
|
117
127
|
|
|
118
|
-
Log start:
|
|
119
|
-
```bash
|
|
120
|
-
bash .aether/aether-utils.sh activity-log "PLAN_START" "queen" "Iterative planning loop initiated for goal"
|
|
121
|
-
```
|
|
122
|
-
|
|
123
128
|
### Step 3.5: Load Territory Survey
|
|
124
129
|
|
|
125
130
|
Check if territory survey exists before research:
|
|
@@ -154,6 +159,129 @@ ls .aether/data/survey/*.md 2>/dev/null
|
|
|
154
159
|
|
|
155
160
|
**If no survey:** Continue without survey context (scouts will do fresh exploration)
|
|
156
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
|
+
|
|
157
285
|
### Step 4: Research and Planning Loop
|
|
158
286
|
|
|
159
287
|
Initialize tracking:
|
|
@@ -164,15 +292,15 @@ Initialize tracking:
|
|
|
164
292
|
- `last_confidence = 0`
|
|
165
293
|
- `stall_count = 0` (consecutive iterations with < 5% improvement)
|
|
166
294
|
|
|
167
|
-
**Loop (max
|
|
295
|
+
**Loop (max {max_iterations} iterations, 2 agents per iteration: 1 scout + 1 planner):**
|
|
168
296
|
|
|
169
297
|
```
|
|
170
|
-
while iteration <
|
|
298
|
+
while iteration < max_iterations AND confidence < target_confidence:
|
|
171
299
|
iteration += 1
|
|
172
300
|
|
|
173
301
|
# === AUTO-BREAK CHECKS (no user prompt needed) ===
|
|
174
302
|
if iteration > 1:
|
|
175
|
-
if confidence >=
|
|
303
|
+
if confidence >= target_confidence:
|
|
176
304
|
Log: "Confidence threshold reached ({confidence}%), finalizing plan"
|
|
177
305
|
break
|
|
178
306
|
if stall_count >= 2:
|
|
@@ -193,7 +321,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
193
321
|
Research the codebase to understand what exists and how it works.
|
|
194
322
|
|
|
195
323
|
Goal: "{goal}"
|
|
196
|
-
Iteration: {iteration}/
|
|
324
|
+
Iteration: {iteration}/{max_iterations}
|
|
325
|
+
|
|
326
|
+
{context_capsule_prompt}
|
|
197
327
|
|
|
198
328
|
--- EXPLORATION AREAS ---
|
|
199
329
|
Cover ALL of these in a single pass:
|
|
@@ -237,7 +367,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
237
367
|
Investigate ONLY these specific knowledge gaps. Do not explore broadly.
|
|
238
368
|
|
|
239
369
|
Goal: "{goal}"
|
|
240
|
-
Iteration: {iteration}/
|
|
370
|
+
Iteration: {iteration}/{max_iterations}
|
|
371
|
+
|
|
372
|
+
{context_capsule_prompt}
|
|
241
373
|
|
|
242
374
|
--- GAPS TO INVESTIGATE ---
|
|
243
375
|
{for each gap in gaps:}
|
|
@@ -270,8 +402,6 @@ while iteration < 4 AND confidence < 80:
|
|
|
270
402
|
# Wait for scout to complete.
|
|
271
403
|
# Update gaps list from scout results.
|
|
272
404
|
|
|
273
|
-
Log: `bash .aether/aether-utils.sh activity-log "RESEARCH" "scout" "Iteration {iteration}: {scout.findings.length} findings, {scout.gaps_remaining.length} gaps"`
|
|
274
|
-
|
|
275
405
|
# === PLANNING PHASE (always runs — 1 planner per iteration) ===
|
|
276
406
|
|
|
277
407
|
Spawn Planning Ant (Route-Setter) via Task tool with subagent_type="aether-route-setter":
|
|
@@ -284,10 +414,11 @@ while iteration < 4 AND confidence < 80:
|
|
|
284
414
|
Create or refine a project plan based on research findings.
|
|
285
415
|
|
|
286
416
|
Goal: "{goal}"
|
|
287
|
-
Iteration: {iteration}/
|
|
417
|
+
Iteration: {iteration}/{max_iterations}
|
|
418
|
+
|
|
419
|
+
{context_capsule_prompt}
|
|
288
420
|
|
|
289
421
|
--- PLANNING DISCIPLINE ---
|
|
290
|
-
Read .aether/planning.md for full reference.
|
|
291
422
|
|
|
292
423
|
Key rules:
|
|
293
424
|
- Bite-sized tasks (2-5 minutes each) - one action per task
|
|
@@ -323,6 +454,9 @@ while iteration < 4 AND confidence < 80:
|
|
|
323
454
|
--- RESEARCH FINDINGS ---
|
|
324
455
|
{scout.findings formatted — compact, max 5 items}
|
|
325
456
|
|
|
457
|
+
--- PHASE DOMAIN RESEARCH (from Step 3.6) ---
|
|
458
|
+
{research_findings_summary if available, otherwise omit this section}
|
|
459
|
+
|
|
326
460
|
Remaining Gaps:
|
|
327
461
|
{gaps formatted — compact, max 3 items}
|
|
328
462
|
|
|
@@ -384,8 +518,6 @@ while iteration < 4 AND confidence < 80:
|
|
|
384
518
|
|
|
385
519
|
Parse planning results. Update plan_draft and confidence.
|
|
386
520
|
|
|
387
|
-
Log: `bash .aether/aether-utils.sh activity-log "PLANNING" "route-setter" "Confidence: {confidence}% (+{delta}%)"`
|
|
388
|
-
|
|
389
521
|
# === UPDATE WATCH FILES ===
|
|
390
522
|
|
|
391
523
|
Update `.aether/data/watch-status.txt` with current state.
|
|
@@ -417,7 +549,7 @@ Proceed directly to Step 5. No user confirmation needed — the plan auto-finali
|
|
|
417
549
|
|
|
418
550
|
### Step 5: Finalize Plan
|
|
419
551
|
|
|
420
|
-
Once loop exits (confidence >=
|
|
552
|
+
Once loop exits (confidence >= {target_confidence}, max iterations reached, or stall detected):
|
|
421
553
|
|
|
422
554
|
Read current COLONY_STATE.json, then update:
|
|
423
555
|
- Set `plan.phases` to the final phases array
|
|
@@ -451,18 +583,12 @@ bash .aether/aether-utils.sh session-update "/ant:plan" "/ant:build 1" "Plan gen
|
|
|
451
583
|
|
|
452
584
|
### Step 7: Display Plan
|
|
453
585
|
|
|
454
|
-
**If visual_mode is true, render final swarm display:**
|
|
455
|
-
```bash
|
|
456
|
-
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
|
|
457
|
-
bash .aether/aether-utils.sh swarm-display-inline "$plan_id"
|
|
458
|
-
```
|
|
459
|
-
|
|
460
586
|
Read `plan.phases` from COLONY_STATE.json and display:
|
|
461
587
|
|
|
462
588
|
```
|
|
463
|
-
📊🐜🗺️🐜📊
|
|
589
|
+
📊🐜🗺️🐜📊 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
464
590
|
C O L O N Y P L A N
|
|
465
|
-
|
|
591
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊🐜🗺️🐜📊
|
|
466
592
|
|
|
467
593
|
👑 Goal: {goal}
|
|
468
594
|
|
|
@@ -496,6 +622,14 @@ Read `plan.phases` from COLONY_STATE.json and display:
|
|
|
496
622
|
|
|
497
623
|
Status icons: pending = `[ ]`, in_progress = `[~]`, completed = `[✓]`
|
|
498
624
|
|
|
625
|
+
After displaying the plan, generate the state-based Next Up block:
|
|
626
|
+
```bash
|
|
627
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
628
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
629
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
630
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
631
|
+
```
|
|
632
|
+
|
|
499
633
|
---
|
|
500
634
|
|
|
501
635
|
## Confidence Scoring Reference
|
|
@@ -512,7 +646,7 @@ Each dimension rated 0-100%:
|
|
|
512
646
|
|
|
513
647
|
**Overall** = weighted average (knowledge 25%, requirements 25%, risks 20%, dependencies 15%, effort 15%)
|
|
514
648
|
|
|
515
|
-
**Target
|
|
649
|
+
**Target:** Use the selected planning depth target. Higher targets trade latency for stronger up-front plan quality.
|
|
516
650
|
|
|
517
651
|
---
|
|
518
652
|
|
|
@@ -520,9 +654,9 @@ Each dimension rated 0-100%:
|
|
|
520
654
|
|
|
521
655
|
The planning loop terminates automatically without requiring user input:
|
|
522
656
|
|
|
523
|
-
1. **Confidence Threshold**: Loop exits when overall confidence reaches
|
|
657
|
+
1. **Confidence Threshold**: Loop exits when overall confidence reaches `{target_confidence}%`
|
|
524
658
|
|
|
525
|
-
2. **Hard Iteration Cap**: Maximum
|
|
659
|
+
2. **Hard Iteration Cap**: Maximum `{max_iterations}` iterations (2 subagents per iteration: 1 scout + 1 planner)
|
|
526
660
|
|
|
527
661
|
3. **Stall Detection**: If confidence improves < 5% for 2 consecutive iterations, auto-finalize current plan
|
|
528
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
|
+
```
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/redirect.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:redirect
|
|
3
|
-
description: "
|
|
4
|
+
description: "Emit REDIRECT signal to warn colony away from patterns"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
|
|
8
|
+
You are the **Queen**. Emit a REDIRECT pheromone signal.
|
|
9
|
+
|
|
10
|
+
|
|
7
11
|
|
|
8
12
|
## Instructions
|
|
9
13
|
|
|
@@ -14,48 +18,59 @@ 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
|
|
|
17
|
-
|
|
21
|
+
|
|
22
|
+
Parse optional flags from `$ARGUMENTS`:
|
|
23
|
+
- `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
|
|
24
|
+
- Strip flags from content before using it as the pattern.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Step 2: Write Signal
|
|
18
28
|
|
|
19
29
|
Read `.aether/data/COLONY_STATE.json`.
|
|
20
30
|
If `goal: null` -> "No colony initialized.", stop.
|
|
21
31
|
|
|
22
|
-
Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
|
|
23
|
-
```json
|
|
24
|
-
{"version": "1.0", "focus": [], "constraints": []}
|
|
25
|
-
```
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"id": "<generated_id>",
|
|
33
|
-
"type": "AVOID",
|
|
34
|
-
"content": "<pattern to avoid>",
|
|
35
|
-
"source": "user:redirect",
|
|
36
|
-
"created_at": "<ISO-8601 timestamp>"
|
|
37
|
-
}
|
|
33
|
+
Run using the Bash tool with description "Setting colony redirect...":
|
|
34
|
+
```bash
|
|
35
|
+
bash .aether/aether-utils.sh pheromone-write REDIRECT "<content>" --strength 0.9 --reason "User warned colony away from pattern" --ttl <ttl>
|
|
38
36
|
```
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
Parse the returned JSON for the signal ID.
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
### Step 2.5: Update Context Document
|
|
43
41
|
|
|
44
|
-
|
|
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
|
+
```
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
### Step 3: Get Active Counts
|
|
47
48
|
|
|
49
|
+
Run using the Bash tool with description "Counting active signals...":
|
|
50
|
+
```bash
|
|
51
|
+
bash .aether/aether-utils.sh pheromone-count
|
|
48
52
|
```
|
|
49
|
-
⚠️🐜🚧🐜⚠️ ═══════════════════════════════════════════════════
|
|
50
|
-
R E D I R E C T S I G N A L
|
|
51
|
-
═══════════════════════════════════════════════════ ⚠️🐜🚧🐜⚠️
|
|
52
|
-
```
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
### Step 4: Confirm
|
|
55
|
+
|
|
56
|
+
Output (3-4 lines, no banners):
|
|
55
57
|
```
|
|
56
|
-
|
|
58
|
+
REDIRECT signal emitted
|
|
59
|
+
Avoid: "<content truncated to 60 chars>"
|
|
60
|
+
Strength: 0.9 | Expires: <phase end or ttl value>
|
|
61
|
+
Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
|
|
62
|
+
```
|
|
63
|
+
|
|
57
64
|
|
|
58
|
-
Avoid: "{content preview}"
|
|
59
65
|
|
|
60
|
-
|
|
66
|
+
|
|
67
|
+
### Step 5: Next Up
|
|
68
|
+
|
|
69
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
70
|
+
```bash
|
|
71
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
72
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
73
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
74
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
61
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"
|
|
@@ -13,25 +14,16 @@ Parse `$ARGUMENTS`:
|
|
|
13
14
|
|
|
14
15
|
### Step 0: Initialize Visual Mode (if enabled)
|
|
15
16
|
|
|
16
|
-
If `visual_mode` is true:
|
|
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
|
-
|
|
17
|
+
If `visual_mode` is true, run using the Bash tool with description "Initializing resume display...":
|
|
26
18
|
### Step 0.5: Version Check (Non-blocking)
|
|
27
19
|
|
|
28
|
-
Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
|
|
20
|
+
Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
|
|
29
21
|
|
|
30
22
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
31
23
|
|
|
32
24
|
### Step 1: Load State and Validate
|
|
33
25
|
|
|
34
|
-
Run using Bash tool: `bash .aether/aether-utils.sh load-state`
|
|
26
|
+
Run using the Bash tool with description "Restoring colony session...": `bash .aether/aether-utils.sh load-state`
|
|
35
27
|
|
|
36
28
|
If successful:
|
|
37
29
|
1. Parse state from result
|
|
@@ -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
|
-
|
|
50
|
-
|
|
46
|
+
### Step 2.5: Load Survey Context (Advisory)
|
|
47
|
+
|
|
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
|
+
```
|
|
51
62
|
|
|
52
|
-
|
|
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
|
|
|
@@ -58,9 +72,9 @@ If `signals` array is empty or all expired, treat as "no active pheromones."
|
|
|
58
72
|
Output header:
|
|
59
73
|
|
|
60
74
|
```
|
|
61
|
-
🚦➡️🐜💨💨
|
|
75
|
+
🚦➡️🐜💨💨 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
76
|
C O L O N Y R E S U M E D
|
|
63
|
-
|
|
77
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚦➡️🐜💨💨
|
|
64
78
|
```
|
|
65
79
|
|
|
66
80
|
Read the .aether/HANDOFF.md for context about what was happening, then display:
|
|
@@ -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:**
|
|
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-inline "$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>`
|
|
@@ -113,9 +127,19 @@ Use Write tool to update COLONY_STATE.json:
|
|
|
113
127
|
- Update last_updated timestamp
|
|
114
128
|
- Add event: `{timestamp, type: "colony_resumed", worker: "resume", details: "Session resumed"}`
|
|
115
129
|
|
|
116
|
-
Use Bash tool to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
|
|
130
|
+
Use Bash tool with description "Cleaning up handoff file..." to remove HANDOFF.md: `rm -f .aether/HANDOFF.md`
|
|
117
131
|
|
|
118
|
-
Run: `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
132
|
+
Run using the Bash tool with description "Releasing colony lock...": `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
133
|
+
|
|
134
|
+
### Step 7: Next Up
|
|
135
|
+
|
|
136
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
137
|
+
```bash
|
|
138
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
139
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
140
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
141
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
142
|
+
```
|
|
119
143
|
|
|
120
144
|
---
|
|
121
145
|
|