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
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
### Step 4: Load Colony Context (colony-prime)
|
|
2
|
+
|
|
3
|
+
Call `colony-prime --compact` to get unified worker context (wisdom + context capsule + signals + instincts):
|
|
4
|
+
|
|
5
|
+
Run using the Bash tool with description "Loading colony context...":
|
|
6
|
+
```bash
|
|
7
|
+
prime_result=$(bash .aether/aether-utils.sh colony-prime --compact 2>/dev/null)
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
**Parse the JSON response:**
|
|
11
|
+
- If `.ok` is false: This is a FAIL HARD error - display the error message and stop the build
|
|
12
|
+
- If successful: Extract from `.result`:
|
|
13
|
+
- `signal_count` - number of active pheromone signals
|
|
14
|
+
- `instinct_count` - number of filtered instincts
|
|
15
|
+
- `prompt_section` - the formatted markdown to inject into worker prompts
|
|
16
|
+
- `log_line` - status message for display
|
|
17
|
+
|
|
18
|
+
Display after constraints:
|
|
19
|
+
```
|
|
20
|
+
{log_line from colony-prime}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then display the active pheromones table by running:
|
|
24
|
+
```bash
|
|
25
|
+
bash .aether/aether-utils.sh pheromone-display
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This shows the user exactly what signals are guiding the colony:
|
|
29
|
+
- 🎯 FOCUS signals (what to pay attention to)
|
|
30
|
+
- 🚫 REDIRECT signals (what to avoid - hard constraints)
|
|
31
|
+
- 💬 FEEDBACK signals (guidance to consider)
|
|
32
|
+
|
|
33
|
+
**Store for worker injection:** The `prompt_section` variable contains compact formatted context (QUEEN wisdom + context capsule + pheromone signals) ready for injection.
|
|
34
|
+
|
|
35
|
+
### Step 4.0: Load Territory Survey
|
|
36
|
+
|
|
37
|
+
Check if territory survey exists and load relevant documents:
|
|
38
|
+
|
|
39
|
+
Run using the Bash tool with description "Loading territory survey...":
|
|
40
|
+
```bash
|
|
41
|
+
bash .aether/aether-utils.sh survey-load "{phase_name}" 2>/dev/null
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Parse the JSON response:**
|
|
45
|
+
- If `.ok` is false: Set `survey_docs = null` and skip survey loading
|
|
46
|
+
- If successful: Extract `.docs` (comma-separated list) and `.dir`
|
|
47
|
+
|
|
48
|
+
**Determine phase type from phase name:**
|
|
49
|
+
| Phase Contains | Documents to Load |
|
|
50
|
+
|----------------|-------------------|
|
|
51
|
+
| UI, frontend, component, button, page | DISCIPLINES.md, CHAMBERS.md |
|
|
52
|
+
| API, endpoint, backend, route | BLUEPRINT.md, DISCIPLINES.md |
|
|
53
|
+
| database, schema, model, migration | BLUEPRINT.md, PROVISIONS.md |
|
|
54
|
+
| test, spec, coverage | SENTINEL-PROTOCOLS.md, DISCIPLINES.md |
|
|
55
|
+
| integration, external, client | TRAILS.md, PROVISIONS.md |
|
|
56
|
+
| refactor, cleanup, debt | PATHOGENS.md, BLUEPRINT.md |
|
|
57
|
+
| setup, config, initialize | PROVISIONS.md, CHAMBERS.md |
|
|
58
|
+
| *default* | PROVISIONS.md, BLUEPRINT.md |
|
|
59
|
+
|
|
60
|
+
**Read the relevant survey documents** from `.aether/data/survey/`:
|
|
61
|
+
- Extract key patterns to follow
|
|
62
|
+
- Note file locations for new code
|
|
63
|
+
- Identify known concerns to avoid
|
|
64
|
+
|
|
65
|
+
**Display summary:**
|
|
66
|
+
```
|
|
67
|
+
━━━ 🗺️🐜 S U R V E Y L O A D E D ━━━
|
|
68
|
+
{for each doc loaded}
|
|
69
|
+
{emoji} {filename} — {brief description}
|
|
70
|
+
{/for}
|
|
71
|
+
|
|
72
|
+
{if no survey}
|
|
73
|
+
(No territory survey — run /ant:colonize for deeper context)
|
|
74
|
+
{/if}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Store for builder injection:**
|
|
78
|
+
- `survey_patterns` — patterns to follow
|
|
79
|
+
- `survey_locations` — where to place files
|
|
80
|
+
- `survey_concerns` — concerns to avoid
|
|
81
|
+
|
|
82
|
+
### Step 4.0.5: Load Phase Research
|
|
83
|
+
|
|
84
|
+
Load domain research generated during `/ant:plan` for injection into worker prompts:
|
|
85
|
+
|
|
86
|
+
Run using the Bash tool with description "Loading phase research...":
|
|
87
|
+
```bash
|
|
88
|
+
phase_id="{phase_number}"
|
|
89
|
+
research_file=".aether/data/phase-research/phase-${phase_id}-research.md"
|
|
90
|
+
|
|
91
|
+
if [[ -f "$research_file" ]]; then
|
|
92
|
+
research_content=$(cat "$research_file")
|
|
93
|
+
research_word_count=$(wc -w < "$research_file" | tr -d ' ')
|
|
94
|
+
|
|
95
|
+
# Apply 8K character budget (same size as colony-prime's 8K; skills has its own 8K)
|
|
96
|
+
research_budget=8000
|
|
97
|
+
if [[ ${#research_content} -gt $research_budget ]]; then
|
|
98
|
+
research_content="${research_content:0:$research_budget}"
|
|
99
|
+
echo "[research] trimmed to ${research_budget} chars" >&2
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
research_context="--- PHASE RESEARCH (Domain Knowledge) ---
|
|
103
|
+
${research_content}
|
|
104
|
+
--- END PHASE RESEARCH ---"
|
|
105
|
+
|
|
106
|
+
echo "Research loaded: phase-${phase_id}-research.md (${research_word_count} words)"
|
|
107
|
+
else
|
|
108
|
+
research_context=""
|
|
109
|
+
echo "No phase research found -- plan was generated before research feature"
|
|
110
|
+
fi
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Parse the result:**
|
|
114
|
+
- If file exists: `research_context` contains the wrapped research content, ready for injection
|
|
115
|
+
- If file does NOT exist: `research_context` is empty, build continues without research (backward compatibility)
|
|
116
|
+
|
|
117
|
+
**Display:**
|
|
118
|
+
```
|
|
119
|
+
Research loaded: phase-{phase_id}-research.md ({research_word_count} words)
|
|
120
|
+
```
|
|
121
|
+
Or if no research file:
|
|
122
|
+
```
|
|
123
|
+
No phase research found -- plan was generated before research feature
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Store for worker injection:** The `research_context` variable is now available for build-wave.md and build-verify.md to inject into worker prompts. This 8K budget matches colony-prime's 8K budget; skills also has its own separate 8K budget.
|
|
127
|
+
|
|
128
|
+
### Step 4.1: Archaeologist Pre-Build Scan
|
|
129
|
+
|
|
130
|
+
**Conditional step — only fires when the phase modifies existing files.**
|
|
131
|
+
|
|
132
|
+
**DEPTH CHECK: Also skip at "light" depth regardless of file modification.**
|
|
133
|
+
|
|
134
|
+
If `colony_depth` is "light": Skip this step silently, proceed to Step 4.2.
|
|
135
|
+
Otherwise: Apply existing file-modification conditional below.
|
|
136
|
+
|
|
137
|
+
1. **Detect existing-file modification:**
|
|
138
|
+
Examine each task in the phase. Look at task descriptions, constraints, and hints for signals:
|
|
139
|
+
- Keywords: "update", "modify", "add to", "integrate into", "extend", "change", "refactor", "fix"
|
|
140
|
+
- References to existing file paths (files that already exist in the repo)
|
|
141
|
+
- Task type: if a task is purely "create new file X" with no references to existing code, it is new-file-only
|
|
142
|
+
|
|
143
|
+
**If ALL tasks are new-file-only** (no existing files will be modified):
|
|
144
|
+
- Skip this step silently — produce no output, no spawn
|
|
145
|
+
- Proceed directly to Step 4.2
|
|
146
|
+
|
|
147
|
+
### Step 4.2: Suggest Pheromones
|
|
148
|
+
|
|
149
|
+
**Conditional step — skipped if `--no-suggest` flag is passed.**
|
|
150
|
+
|
|
151
|
+
Analyze codebase and suggest pheromone signals based on detected patterns.
|
|
152
|
+
|
|
153
|
+
Run using the Bash tool with description "Analyzing codebase for suggestions...":
|
|
154
|
+
```bash
|
|
155
|
+
bash .aether/aether-utils.sh suggest-approve --dry-run 2>/dev/null
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Parse the JSON result to get `suggestion_count`.
|
|
159
|
+
|
|
160
|
+
If `suggestion_count` > 0:
|
|
161
|
+
- Display: "💡 {count} pheromone suggestion(s) detected from code analysis"
|
|
162
|
+
- Run: `bash .aether/aether-utils.sh suggest-approve`
|
|
163
|
+
- Parse result for approved/rejected/skipped counts
|
|
164
|
+
- If approved > 0: Display "✓ {approved} FOCUS signal(s) added"
|
|
165
|
+
|
|
166
|
+
If `suggestion_count` == 0:
|
|
167
|
+
- Skip silently (no output)
|
|
168
|
+
|
|
169
|
+
**Non-blocking**: This step never stops the build. Even if suggest-approve fails,
|
|
170
|
+
log a warning and continue to Step 5.
|
|
171
|
+
|
|
172
|
+
**Error handling**:
|
|
173
|
+
- If suggest-analyze returns error: Log warning, continue
|
|
174
|
+
- If suggest-approve returns error: Log warning, continue
|
|
175
|
+
- Never let suggestion failures block the build
|
|
176
|
+
|
|
177
|
+
### Step 4.3: Skill Detection
|
|
178
|
+
|
|
179
|
+
**Non-blocking step — failures are logged and skipped.**
|
|
180
|
+
|
|
181
|
+
Build the skills index and detect which domain skills match the current codebase.
|
|
182
|
+
|
|
183
|
+
**4.3.1 — Build/read the skills index:**
|
|
184
|
+
|
|
185
|
+
Run using the Bash tool with description "Building skills index...":
|
|
186
|
+
```bash
|
|
187
|
+
skill_index_result=$(bash .aether/aether-utils.sh skill-index 2>/dev/null)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Parse the JSON response:**
|
|
191
|
+
- If `.ok` is false or command fails: Set `skill_index_count = 0`, log warning, skip to next step
|
|
192
|
+
- If successful: Extract `.result.skill_count` as `skill_index_count`
|
|
193
|
+
|
|
194
|
+
**4.3.2 — Detect domain skills matching this codebase:**
|
|
195
|
+
|
|
196
|
+
Run using the Bash tool with description "Detecting codebase skills...":
|
|
197
|
+
```bash
|
|
198
|
+
skill_detect_result=$(bash .aether/aether-utils.sh skill-detect "$(pwd)" 2>/dev/null)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Parse the JSON response:**
|
|
202
|
+
- If `.ok` is false or command fails: Set `skill_detections = "[]"`, log warning, continue
|
|
203
|
+
- If successful: Extract `.result.detections` as `skill_detections` (JSON array)
|
|
204
|
+
- Count entries in `skill_detections` as `skill_detection_count`
|
|
205
|
+
|
|
206
|
+
**4.3.3 — Store cross-stage state and display:**
|
|
207
|
+
|
|
208
|
+
Store the following variables for use by build-wave.md:
|
|
209
|
+
- `skill_index_count` — total number of skills in the index
|
|
210
|
+
- `skill_detections` — JSON array of matched skills with scores (e.g., `[{"name": "react", "score": 70}]`)
|
|
211
|
+
|
|
212
|
+
Display to user:
|
|
213
|
+
```
|
|
214
|
+
🧠 Skills: {skill_index_count} indexed, {skill_detection_count} matched to codebase
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Error handling:**
|
|
218
|
+
- If `skill-index` fails: Log `⚠️ Skill index unavailable — continuing without skills`, set defaults, continue
|
|
219
|
+
- If `skill-detect` fails: Log `⚠️ Skill detection failed — continuing without matches`, set defaults, continue
|
|
220
|
+
- Never let skill failures block the build
|
|
221
|
+
|
|
222
|
+
2. **If existing code modification detected — spawn Archaeologist Scout:**
|
|
223
|
+
|
|
224
|
+
Generate archaeologist name and dispatch:
|
|
225
|
+
Run using the Bash tool with description "Naming archaeologist...": `bash .aether/aether-utils.sh generate-ant-name "archaeologist"` (store as `{archaeologist_name}`)
|
|
226
|
+
Run using the Bash tool with description "Dispatching archaeologist...": `bash .aether/aether-utils.sh spawn-log "Queen" "scout" "{archaeologist_name}" "Pre-build archaeology scan"`
|
|
227
|
+
|
|
228
|
+
Display:
|
|
229
|
+
```
|
|
230
|
+
━━━ 🏺🐜 A R C H A E O L O G I S T ━━━
|
|
231
|
+
──── 🏺🐜 Spawning {archaeologist_name} — Pre-build history scan ────
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
> **Platform note**: In Claude Code, use `Task tool with subagent_type`. In OpenCode, use the equivalent agent spawning mechanism for your platform (e.g., invoke the agent definition from `.opencode/agents/`).
|
|
235
|
+
|
|
236
|
+
Spawn a Scout (using Task tool with `subagent_type="aether-archaeologist"`, include `description: "🏺 Archaeologist {archaeologist_name}: Pre-build history scan"`) with this prompt:
|
|
237
|
+
# FALLBACK: If "Agent type not found", use general-purpose and inject role: "You are an Archaeologist Ant - git historian that excavates why code exists."
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
You are {Archaeologist-Name}, a 🏺🐜 Archaeologist Ant.
|
|
241
|
+
|
|
242
|
+
Mission: Pre-build archaeology scan
|
|
243
|
+
|
|
244
|
+
Files: {list of existing files that will be modified}
|
|
245
|
+
|
|
246
|
+
Work:
|
|
247
|
+
1. Read each file to understand current state
|
|
248
|
+
2. Run: git log --oneline -15 -- "{file_path}" for history
|
|
249
|
+
3. Run: git log --all --grep="fix\|bug\|workaround\|hack\|revert" --oneline -- "{file_path}" for incident history
|
|
250
|
+
4. Run: git blame "{file_path}" | head -40 for authorship
|
|
251
|
+
5. Note TODO/FIXME/HACK markers
|
|
252
|
+
|
|
253
|
+
Log activity: bash .aether/aether-utils.sh activity-log "READ" "{Ant-Name}" "description"
|
|
254
|
+
|
|
255
|
+
Report (plain text):
|
|
256
|
+
- WHY key code sections exist (from commits)
|
|
257
|
+
- Known workarounds/hacks to preserve
|
|
258
|
+
- Key architectural decisions
|
|
259
|
+
- Areas of caution (high churn, reverts, emergencies)
|
|
260
|
+
- Stable bedrock vs volatile sand sections
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Wait for results** (blocking — use TaskOutput with `block: true`).
|
|
264
|
+
|
|
265
|
+
Log completion:
|
|
266
|
+
Run using the Bash tool with description "Recording archaeologist findings...": `bash .aether/aether-utils.sh spawn-complete "{archaeologist_name}" "completed" "Pre-build archaeology scan"`
|
|
267
|
+
|
|
268
|
+
3. **Store and display findings:**
|
|
269
|
+
|
|
270
|
+
Store the archaeologist's output as `archaeology_context`.
|
|
271
|
+
|
|
272
|
+
Display summary:
|
|
273
|
+
```
|
|
274
|
+
━━━ 🏺🐜 A R C H A E O L O G Y ━━━
|
|
275
|
+
{summary of findings from archaeologist}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
4. **Injection into builder prompts:**
|
|
279
|
+
The `archaeology_context` will be injected into builder prompts in Step 5.1 (see below).
|
|
280
|
+
If this step was skipped (no existing files modified), the archaeology section is omitted from builder prompts.
|
|
281
|
+
|
|
282
|
+
---
|