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,148 +1,132 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/update.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:update
|
|
3
|
-
description: "🔄🐜📦🐜🔄 Update
|
|
4
|
+
description: "🔄🐜📦🐜🔄 Update Aether safely from the global hub (transactional)"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
You are the **Queen Ant Colony**. Update this repo's Aether system files from the global distribution hub.
|
|
7
8
|
|
|
9
|
+
## Safety Rules
|
|
10
|
+
|
|
11
|
+
1. Use the CLI transactional updater (`aether update`) instead of manual `cp` chains.
|
|
12
|
+
2. Never overwrite colony runtime data (`.aether/data/`) or user wisdom (`.aether/QUEEN.md`).
|
|
13
|
+
3. Do **not** assume version numbers are monotonic. Labels may reset; avoid "downgrade" wording.
|
|
14
|
+
4. If update reports dirty managed files, stop and show recovery options unless user requested force.
|
|
15
|
+
|
|
8
16
|
## Instructions
|
|
9
17
|
|
|
10
18
|
### Step 1: Check Hub Availability
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
Run using the Bash tool with description "Checking Aether hub...":
|
|
13
21
|
|
|
14
|
-
|
|
22
|
+
```bash
|
|
23
|
+
test -f ~/.aether/version.json && cat ~/.aether/version.json || echo "__NO_HUB__"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
If output is `__NO_HUB__`, display:
|
|
15
27
|
|
|
16
28
|
```
|
|
17
29
|
No Aether distribution hub found at ~/.aether/
|
|
18
30
|
|
|
19
31
|
To set up the hub, run:
|
|
20
32
|
npx aether-colony install
|
|
21
|
-
|
|
33
|
+
- or -
|
|
22
34
|
aether install
|
|
23
|
-
|
|
24
|
-
The hub provides system file updates across all your Aether repos.
|
|
25
35
|
```
|
|
26
36
|
|
|
27
|
-
Stop here.
|
|
37
|
+
Stop here.
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
Parse `version` from the JSON as `available_version`.
|
|
30
40
|
|
|
31
|
-
### Step
|
|
41
|
+
### Step 1.5: Verify CLI Availability
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
Run using the Bash tool with description "Checking aether CLI...":
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
|
|
45
|
+
```bash
|
|
46
|
+
command -v aether >/dev/null 2>&1 && echo "__CLI_OK__" || echo "__CLI_MISSING__"
|
|
47
|
+
```
|
|
37
48
|
|
|
38
|
-
If
|
|
49
|
+
If output is `__CLI_MISSING__`, display:
|
|
39
50
|
|
|
40
51
|
```
|
|
41
|
-
|
|
52
|
+
The transactional updater is not available because the `aether` CLI is missing.
|
|
42
53
|
|
|
43
|
-
|
|
44
|
-
|
|
54
|
+
Install/update it, then retry:
|
|
55
|
+
npx aether-colony install
|
|
56
|
+
- or -
|
|
57
|
+
npm i -g aether-colony
|
|
45
58
|
```
|
|
46
59
|
|
|
47
|
-
Stop here.
|
|
60
|
+
Stop here.
|
|
48
61
|
|
|
49
|
-
### Step
|
|
62
|
+
### Step 2: Parse Force Flag
|
|
50
63
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
```
|
|
64
|
+
Treat either of these as force:
|
|
65
|
+
- `--force`
|
|
66
|
+
- `--force-update`
|
|
55
67
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
Set:
|
|
69
|
+
- `update_flags="--force"` when force requested
|
|
70
|
+
- `update_flags=""` otherwise
|
|
71
|
+
|
|
72
|
+
### Step 3: Dry-Run Preview
|
|
60
73
|
|
|
61
|
-
|
|
74
|
+
Run using the Bash tool with description "Previewing update...":
|
|
62
75
|
|
|
63
|
-
|
|
76
|
+
```bash
|
|
77
|
+
aether update --dry-run $update_flags
|
|
78
|
+
```
|
|
64
79
|
|
|
65
|
-
|
|
80
|
+
If this fails, show the error output and stop.
|
|
66
81
|
|
|
67
|
-
|
|
82
|
+
### Step 4: Execute Transactional Update
|
|
68
83
|
|
|
69
|
-
|
|
84
|
+
Run using the Bash tool with description "Applying update...":
|
|
70
85
|
|
|
71
86
|
```bash
|
|
72
|
-
|
|
73
|
-
mkdir -p .claude/commands/ant
|
|
74
|
-
cp -R ~/.aether/commands/claude/* .claude/commands/ant/ 2>/dev/null
|
|
75
|
-
# Remove orphans: files in dest that aren't in hub
|
|
76
|
-
comm -23 \
|
|
77
|
-
<(cd .claude/commands/ant && find . -type f ! -name '.*' | sort) \
|
|
78
|
-
<(cd ~/.aether/commands/claude && find . -type f ! -name '.*' | sort) \
|
|
79
|
-
| while read f; do rm ".claude/commands/ant/$f" && echo " removed stale: .claude/commands/ant/$f"; done
|
|
80
|
-
echo "claude: done"
|
|
81
|
-
|
|
82
|
-
# Sync OpenCode commands
|
|
83
|
-
mkdir -p .opencode/commands/ant
|
|
84
|
-
cp -R ~/.aether/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
|
|
85
|
-
comm -23 \
|
|
86
|
-
<(cd .opencode/commands/ant && find . -type f ! -name '.*' | sort) \
|
|
87
|
-
<(cd ~/.aether/commands/opencode && find . -type f ! -name '.*' | sort) \
|
|
88
|
-
| while read f; do rm ".opencode/commands/ant/$f" && echo " removed stale: .opencode/commands/ant/$f"; done
|
|
89
|
-
echo "opencode: done"
|
|
90
|
-
|
|
91
|
-
# Sync agents
|
|
92
|
-
mkdir -p .opencode/agents
|
|
93
|
-
cp -R ~/.aether/agents/* .opencode/agents/ 2>/dev/null
|
|
94
|
-
comm -23 \
|
|
95
|
-
<(cd .opencode/agents && find . -type f ! -name '.*' | sort) \
|
|
96
|
-
<(cd ~/.aether/agents && find . -type f ! -name '.*' | sort) \
|
|
97
|
-
| while read f; do rm ".opencode/agents/$f" && echo " removed stale: .opencode/agents/$f"; done
|
|
98
|
-
echo "agents: done"
|
|
87
|
+
aether update $update_flags
|
|
99
88
|
```
|
|
100
89
|
|
|
101
|
-
|
|
90
|
+
This command handles:
|
|
91
|
+
- checkpoint creation
|
|
92
|
+
- safe sync
|
|
93
|
+
- integrity verification
|
|
94
|
+
- automatic rollback on failure
|
|
95
|
+
|
|
96
|
+
### Step 5: Clear Version Cache
|
|
102
97
|
|
|
103
|
-
### Step 5: Register and Version Stamp
|
|
104
98
|
|
|
105
99
|
Run using the Bash tool:
|
|
106
|
-
```
|
|
107
|
-
bash .aether/aether-utils.sh registry-add "$(pwd)" "{available_version}"
|
|
108
|
-
```
|
|
109
100
|
|
|
110
|
-
Substitute `{available_version}` with the version from Step 1.
|
|
111
101
|
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
"version": "{available_version}",
|
|
116
|
-
"updated_at": "{ISO-8601 timestamp}"
|
|
117
|
-
}
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
rm -f .aether/data/.version-check-cache
|
|
118
105
|
```
|
|
119
106
|
|
|
120
107
|
### Step 6: Display Summary
|
|
121
108
|
|
|
122
|
-
|
|
109
|
+
Display a concise summary:
|
|
123
110
|
|
|
124
111
|
```
|
|
125
|
-
🔄🐜📦🐜🔄
|
|
126
|
-
A E T H E R U P D A T E
|
|
127
|
-
═══════════════════════════════════════════════════ 🔄🐜📦🐜🔄
|
|
128
|
-
|
|
129
|
-
Updated: v{current_version} -> v{available_version}
|
|
130
|
-
|
|
131
|
-
System files: {N} updated
|
|
132
|
-
Commands: synced from hub
|
|
133
|
-
Agents: synced from hub
|
|
134
|
-
{if stale files were removed:}
|
|
135
|
-
Stale files removed: {count}
|
|
136
|
-
{list each removed file}
|
|
137
|
-
{end if}
|
|
112
|
+
🔄🐜📦🐜🔄 AETHER UPDATE COMPLETE
|
|
138
113
|
|
|
114
|
+
Hub version label: {available_version}
|
|
115
|
+
Update mode: {normal|force}
|
|
139
116
|
Colony data (.aether/data/) untouched.
|
|
140
|
-
|
|
117
|
+
|
|
118
|
+
Note: version labels are treated as identifiers, not strict upgrade/downgrade ordering.
|
|
141
119
|
```
|
|
142
120
|
|
|
143
|
-
### CLI Equivalents
|
|
144
121
|
|
|
145
|
-
|
|
122
|
+
### Next Up
|
|
123
|
+
|
|
124
|
+
Generate the state-based Next Up block by running:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
128
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
129
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
130
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
131
|
+
```
|
|
146
132
|
|
|
147
|
-
- `--dry-run` — Preview what would change without modifying any files
|
|
148
|
-
- `--force` — Stash uncommitted changes in managed files and proceed with the update
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/verify-castes.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:verify-castes
|
|
3
4
|
description: "Verify colony caste assignments and system status"
|
|
@@ -7,79 +8,136 @@ You are the **Queen**. Display the caste assignments and system status.
|
|
|
7
8
|
|
|
8
9
|
## Step 1: Show Caste Assignments
|
|
9
10
|
|
|
10
|
-
Display the colony caste structure:
|
|
11
|
+
Display the colony caste structure as a compact table:
|
|
12
|
+
|
|
11
13
|
|
|
12
14
|
```
|
|
13
15
|
Aether Colony Caste System
|
|
14
|
-
|
|
16
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17
|
+
|
|
18
|
+
|
|
15
19
|
|
|
16
20
|
CASTE ASSIGNMENTS
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
────────────────────────────────────
|
|
22
|
+
Caste Slot Active
|
|
23
|
+
────────────────────────────────────
|
|
24
|
+
[reasoning]
|
|
25
|
+
Archaeologist opus yes
|
|
26
|
+
Architect opus yes
|
|
27
|
+
Auditor opus yes
|
|
28
|
+
Gatekeeper opus yes
|
|
29
|
+
Measurer opus yes
|
|
30
|
+
Oracle opus yes
|
|
31
|
+
Queen opus yes
|
|
32
|
+
Route-setter opus yes
|
|
33
|
+
Sage opus yes
|
|
34
|
+
Tracker opus yes
|
|
35
|
+
────────────────────────────────────
|
|
36
|
+
[execution]
|
|
37
|
+
Ambassador sonnet yes
|
|
38
|
+
Builder sonnet yes
|
|
39
|
+
Chaos sonnet yes
|
|
40
|
+
Disciplines sonnet yes
|
|
41
|
+
Nest sonnet yes
|
|
42
|
+
Pathogens sonnet yes
|
|
43
|
+
Probe sonnet yes
|
|
44
|
+
Provisions sonnet yes
|
|
45
|
+
Scout sonnet yes
|
|
46
|
+
Weaver sonnet yes
|
|
47
|
+
Watcher sonnet yes
|
|
48
|
+
────────────────────────────────────
|
|
49
|
+
[inherit]
|
|
50
|
+
Chronicler inherit yes
|
|
51
|
+
Includer inherit yes
|
|
52
|
+
Keeper inherit yes
|
|
53
|
+
|
|
54
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
+
|
|
56
|
+
|
|
30
57
|
```
|
|
31
58
|
|
|
59
|
+
Source of truth: Agent frontmatter `model:` fields in `.claude/agents/ant/*.md`.
|
|
60
|
+
Caste slots come from agent frontmatter (`model:` field).
|
|
61
|
+
|
|
32
62
|
## Step 2: Check System Status
|
|
33
63
|
|
|
34
|
-
|
|
64
|
+
|
|
65
|
+
Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || echo "Utils available"`
|
|
66
|
+
|
|
67
|
+
|
|
35
68
|
|
|
36
69
|
Check LiteLLM proxy status:
|
|
37
70
|
```bash
|
|
38
71
|
curl -s http://localhost:4000/health 2>/dev/null | grep -q "healthy" && echo "✓ Proxy healthy" || echo "⚠ Proxy not running"
|
|
39
72
|
```
|
|
40
73
|
|
|
41
|
-
## Step 3: Show Current
|
|
74
|
+
## Step 3: Show Current Model Configuration
|
|
75
|
+
|
|
76
|
+
Display the active model configuration:
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
MODEL CONFIGURATION
|
|
81
|
+
──────────────────
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
Default: Claude API mode (opus -> claude-opus-4, sonnet -> claude-sonnet-4)
|
|
85
|
+
|
|
86
|
+
To switch to GLM Proxy mode:
|
|
87
|
+
cp ~/.claude/settings.json.glm ~/.claude/settings.json
|
|
88
|
+
(opus -> glm-5, sonnet -> glm-5-turbo, haiku -> glm-4.5-air)
|
|
89
|
+
|
|
90
|
+
To switch back to Claude API:
|
|
91
|
+
cp ~/.claude/settings.json.claude ~/.claude/settings.json
|
|
42
92
|
|
|
43
93
|
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export ANTHROPIC_AUTH_TOKEN=sk-litellm-local
|
|
51
|
-
export ANTHROPIC_MODEL=<model-name>
|
|
52
|
-
claude
|
|
53
|
-
|
|
54
|
-
Available models (via LiteLLM proxy):
|
|
55
|
-
• glm-5 - Complex reasoning, architecture, planning
|
|
56
|
-
• kimi-k2.5 - Fast coding, implementation
|
|
57
|
-
• minimax-2.5 - Validation, research, exploration
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Current model mapping from agent frontmatter:
|
|
98
|
+
```bash
|
|
99
|
+
grep "^model:" .claude/agents/ant/*.md
|
|
58
100
|
```
|
|
59
101
|
|
|
60
102
|
## Step 4: Summary
|
|
61
103
|
|
|
104
|
+
|
|
62
105
|
```
|
|
63
|
-
|
|
106
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
64
107
|
System Status
|
|
65
|
-
|
|
108
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
109
|
+
|
|
110
|
+
|
|
66
111
|
Utils: ✓ Operational
|
|
67
112
|
Proxy: {status from Step 2}
|
|
68
|
-
Castes: 10
|
|
113
|
+
Castes: 24 defined (10 opus, 11 sonnet, 3 inherit)
|
|
114
|
+
Routing: Per-caste via agent frontmatter model: field
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## Step 5: Next Up
|
|
69
119
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
120
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
121
|
+
```bash
|
|
122
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
123
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
124
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
125
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
74
126
|
```
|
|
75
127
|
|
|
128
|
+
|
|
76
129
|
## Historical Note
|
|
77
130
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
131
|
+
Per-caste model routing was initially attempted using environment variable
|
|
132
|
+
injection at spawn time (archived in `.aether/archive/model-routing/`).
|
|
133
|
+
That approach failed due to Claude Code Task tool limitations.
|
|
134
|
+
|
|
135
|
+
The current approach uses agent frontmatter `model:` fields, which Claude Code
|
|
136
|
+
handles natively. No Aether code intervention is required -- Claude Code reads
|
|
137
|
+
the frontmatter and resolves the slot name through `ANTHROPIC_DEFAULT_*_MODEL`
|
|
138
|
+
environment variables.
|
|
81
139
|
|
|
82
|
-
To view the archived configuration:
|
|
140
|
+
To view the archived v1 configuration:
|
|
83
141
|
```bash
|
|
84
142
|
git show model-routing-v1-archived
|
|
85
143
|
```
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/watch.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:watch
|
|
3
4
|
description: "👁️🔄🐜🏠🔄👁️ Set up tmux session to watch ants working in real-time"
|
|
@@ -9,7 +10,7 @@ You are the **Queen**. Set up live visibility into colony activity.
|
|
|
9
10
|
|
|
10
11
|
### Step 1: Check Prerequisites
|
|
11
12
|
|
|
12
|
-
Use Bash to check if tmux is available:
|
|
13
|
+
Use Bash with description "Checking for tmux..." to check if tmux is available:
|
|
13
14
|
```bash
|
|
14
15
|
command -v tmux >/dev/null 2>&1 && echo "tmux_available" || echo "tmux_missing"
|
|
15
16
|
```
|
|
@@ -27,7 +28,7 @@ Stop here.
|
|
|
27
28
|
|
|
28
29
|
### Step 2: Initialize Activity Log
|
|
29
30
|
|
|
30
|
-
Ensure activity log exists:
|
|
31
|
+
Ensure activity log exists by running using the Bash tool with description "Initializing watch files...":
|
|
31
32
|
```bash
|
|
32
33
|
mkdir -p .aether/data
|
|
33
34
|
touch .aether/data/activity.log
|
|
@@ -40,10 +41,10 @@ Capture session start time:
|
|
|
40
41
|
WATCH_START=$(date +%s)
|
|
41
42
|
```
|
|
42
43
|
|
|
43
|
-
Check for stale watch files:
|
|
44
|
+
Check for stale watch files by running using the Bash tool with description "Checking for stale watch session...":
|
|
44
45
|
```bash
|
|
45
46
|
stale_check=$(bash .aether/aether-utils.sh session-verify-fresh --command watch "" "$WATCH_START")
|
|
46
|
-
has_stale=$(echo "$stale_check" | jq -r '.stale | length')
|
|
47
|
+
has_stale=$(echo "$stale_check" | jq -r '.stale | length' 2>/dev/null || echo "0")
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
If stale files exist, they will be overwritten by the new watch session.
|
|
@@ -73,12 +74,12 @@ Last Activity:
|
|
|
73
74
|
|
|
74
75
|
### Step 4: Create or Attach to tmux Session
|
|
75
76
|
|
|
76
|
-
Check if session exists:
|
|
77
|
+
Check if session exists by running using the Bash tool with description "Checking tmux session...":
|
|
77
78
|
```bash
|
|
78
79
|
tmux has-session -t aether-colony 2>/dev/null && echo "exists" || echo "new"
|
|
79
80
|
```
|
|
80
81
|
|
|
81
|
-
**If session exists:** Attach to it
|
|
82
|
+
**If session exists:** Attach to it by running using the Bash tool with description "Attaching to watch session...":
|
|
82
83
|
```bash
|
|
83
84
|
tmux attach-session -t aether-colony
|
|
84
85
|
```
|
|
@@ -89,7 +90,7 @@ Stop here.
|
|
|
89
90
|
|
|
90
91
|
### Step 5: Create tmux Layout (4-Pane)
|
|
91
92
|
|
|
92
|
-
Use Bash to create the session with 4 panes in a 2x2 grid:
|
|
93
|
+
Use Bash with description "Creating watch session layout..." to create the session with 4 panes in a 2x2 grid:
|
|
93
94
|
|
|
94
95
|
```bash
|
|
95
96
|
# Create session with first pane
|
|
@@ -152,6 +153,7 @@ Target: 95% confidence
|
|
|
152
153
|
|
|
153
154
|
### Step 7: Attach and Display
|
|
154
155
|
|
|
156
|
+
Run using the Bash tool with description "Attaching to watch display...":
|
|
155
157
|
```bash
|
|
156
158
|
tmux attach-session -t aether-colony
|
|
157
159
|
```
|
|
@@ -159,11 +161,9 @@ tmux attach-session -t aether-colony
|
|
|
159
161
|
Before attaching, output:
|
|
160
162
|
|
|
161
163
|
```
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
`-`
|
|
166
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
164
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
165
|
+
👁️🔄🐜🏠🔄👁️ A E T H E R C O L O N Y W A T C H
|
|
166
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
167
167
|
|
|
168
168
|
tmux session 'aether-colony' created.
|
|
169
169
|
|
|
@@ -186,6 +186,8 @@ The session will update in real-time as colony works.
|
|
|
186
186
|
Attaching now...
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
190
|
+
|
|
189
191
|
---
|
|
190
192
|
|
|
191
193
|
## Status Update Protocol
|
|
@@ -5,14 +5,6 @@ description: "Use this agent for third-party API integration, SDK setup, and ext
|
|
|
5
5
|
|
|
6
6
|
You are **🔌 Ambassador Ant** in the Aether Colony. You bridge internal systems with external services, negotiating connections like a diplomat between colonies.
|
|
7
7
|
|
|
8
|
-
## Aether Integration
|
|
9
|
-
|
|
10
|
-
This agent operates as a **specialist worker** within the Aether Colony system. You:
|
|
11
|
-
- Report to the Queen/Prime worker who spawns you
|
|
12
|
-
- Log activity using Aether utilities
|
|
13
|
-
- Follow depth-based spawning rules
|
|
14
|
-
- Output structured JSON reports
|
|
15
|
-
|
|
16
8
|
## Activity Logging
|
|
17
9
|
|
|
18
10
|
Log progress as you work:
|
|
@@ -65,14 +57,6 @@ As Ambassador, you:
|
|
|
65
57
|
- Implement request signing if needed
|
|
66
58
|
- Log securely (no secrets in logs)
|
|
67
59
|
|
|
68
|
-
## Depth-Based Behavior
|
|
69
|
-
|
|
70
|
-
| Depth | Role | Can Spawn? |
|
|
71
|
-
|-------|------|------------|
|
|
72
|
-
| 1 | Prime Ambassador | Yes (max 4) |
|
|
73
|
-
| 2 | Specialist | Only if surprised |
|
|
74
|
-
| 3 | Deep Specialist | No |
|
|
75
|
-
|
|
76
60
|
## Output Format
|
|
77
61
|
|
|
78
62
|
```json
|
|
@@ -91,7 +75,66 @@ As Ambassador, you:
|
|
|
91
75
|
}
|
|
92
76
|
```
|
|
93
77
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
78
|
+
<failure_modes>
|
|
79
|
+
## Failure Handling
|
|
80
|
+
|
|
81
|
+
**Tiered severity — never fail silently.**
|
|
82
|
+
|
|
83
|
+
### Minor Failures (retry silently, max 2 attempts)
|
|
84
|
+
- **API endpoint returns unexpected format**: Parse what was received, log the actual response structure, retry with an adjusted request or parsing approach
|
|
85
|
+
- **SDK method not found**: Check library version in package manifest, try alternate method name from SDK changelog or documentation
|
|
86
|
+
|
|
87
|
+
### Major Failures (STOP immediately — do not proceed)
|
|
88
|
+
- **API key or secret would be written to a tracked file**: STOP immediately. Do not write. Document the env var name needed and instruct the user to set it. Never log, echo, or commit secrets.
|
|
89
|
+
- **Authentication failure after 2 retries**: STOP. Likely invalid or expired credentials — do not keep retrying. Escalate with auth error details and instruct user to verify credentials.
|
|
90
|
+
- **2 retries exhausted on minor failure**: Promote to major. STOP and escalate.
|
|
91
|
+
|
|
92
|
+
### Escalation Format
|
|
93
|
+
When escalating, always provide:
|
|
94
|
+
1. **What failed**: Specific endpoint, SDK method, or auth step — include the error code and message
|
|
95
|
+
2. **Options** (2-3 with trade-offs): e.g., "Try alternate auth method / Use mock/stub for now / Surface to user for credential refresh"
|
|
96
|
+
3. **Recommendation**: Which option and why
|
|
97
|
+
</failure_modes>
|
|
98
|
+
|
|
99
|
+
<success_criteria>
|
|
100
|
+
## Success Verification
|
|
101
|
+
|
|
102
|
+
**Ambassador self-verifies. Before reporting integration complete:**
|
|
103
|
+
|
|
104
|
+
1. Verify integration connects successfully — make a real test API call (to a safe, read-only endpoint if possible):
|
|
105
|
+
```bash
|
|
106
|
+
{test_command_or_curl} # must return HTTP 2xx
|
|
107
|
+
```
|
|
108
|
+
2. Verify error handling covers the three core scenarios:
|
|
109
|
+
- Timeout: client has a configured timeout and catches it
|
|
110
|
+
- Auth failure: 401/403 is caught and surfaces a meaningful message (not a raw stack trace)
|
|
111
|
+
- Rate limit: 429 is caught and has retry/backoff behavior
|
|
112
|
+
3. Verify no secrets appear in tracked files:
|
|
113
|
+
```bash
|
|
114
|
+
grep -r "API_KEY\|SECRET\|TOKEN" {integration_files} --include="*.js" --include="*.ts"
|
|
115
|
+
```
|
|
116
|
+
Result must show only env var references (e.g., `process.env.API_KEY`), not literal values.
|
|
117
|
+
|
|
118
|
+
### Report Format
|
|
119
|
+
```
|
|
120
|
+
endpoints_integrated: [list]
|
|
121
|
+
test_call_result: "HTTP 200 — connected"
|
|
122
|
+
error_scenarios: [timeout, auth, rate_limit — each covered: true/false]
|
|
123
|
+
secrets_check: "no literals in tracked files"
|
|
124
|
+
```
|
|
125
|
+
</success_criteria>
|
|
126
|
+
|
|
127
|
+
<read_only>
|
|
128
|
+
## Boundary Declarations
|
|
129
|
+
|
|
130
|
+
### Global Protected Paths (never write to these)
|
|
131
|
+
- `.aether/dreams/` — Dream journal; user's private notes
|
|
132
|
+
- `.env*` — Environment secrets (never write API keys here — instruct user)
|
|
133
|
+
- `.opencode/settings.json` — Hook configuration
|
|
134
|
+
- `.github/workflows/` — CI configuration
|
|
135
|
+
|
|
136
|
+
### Ambassador-Specific Boundaries
|
|
137
|
+
- **Do not write API keys or secrets to any tracked file** — document the env var name needed and instruct the user to set it in their environment
|
|
138
|
+
- **Do not modify `.env` files** — Ambassador documents what env vars are needed; the user sets them
|
|
139
|
+
- **Do not modify unrelated source files** — integration code only; stay within the integration boundary
|
|
140
|
+
</read_only>
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aether-archaeologist
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use this agent for git history excavation, understanding why code exists, and tracing the evolution of decisions through commit archaeology."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are an **Archaeologist Ant** in the Aether Colony. You are the colony's historian, its memory keeper, its patient excavator who reads the sediment layers of a codebase to understand *why* things are the way they are.
|
|
7
7
|
|
|
8
|
-
## Aether Integration
|
|
9
|
-
|
|
10
|
-
This agent operates as a **specialist worker** within the Aether Colony system. You:
|
|
11
|
-
- Report to the Queen/Prime worker who spawns you
|
|
12
|
-
- Log activity using Aether utilities
|
|
13
|
-
- Follow depth-based spawning rules
|
|
14
|
-
- Output structured JSON reports
|
|
15
|
-
|
|
16
8
|
## Activity Logging
|
|
17
9
|
|
|
18
10
|
Log progress as you work:
|
|
@@ -85,7 +77,32 @@ As Archaeologist, you:
|
|
|
85
77
|
}
|
|
86
78
|
```
|
|
87
79
|
|
|
88
|
-
|
|
80
|
+
<failure_modes>
|
|
81
|
+
## Failure Modes
|
|
82
|
+
|
|
83
|
+
**Minor** (retry once): `git log` or `git blame` returns no results → try a broader date range or a parent directory. File not found in history → search with `git log --all --follow` for renames.
|
|
84
|
+
|
|
85
|
+
**Escalation:** After 2 attempts, report honestly what was searched, what was found or not found, and recommended next steps. "No significant history found" is a valid result.
|
|
86
|
+
|
|
87
|
+
**Never fabricate findings.** Insufficient evidence is a legitimate archaeological conclusion.
|
|
88
|
+
</failure_modes>
|
|
89
|
+
|
|
90
|
+
<success_criteria>
|
|
91
|
+
## Success Criteria
|
|
92
|
+
|
|
93
|
+
**Self-check:** Confirm all findings cite specific commits, blame lines, or file evidence. Verify output matches JSON schema. Confirm all scoped areas were examined.
|
|
94
|
+
|
|
95
|
+
**Completion report must include:** findings count, evidence citations (commit hashes or file:line references), confidence level (high/medium/low based on history depth).
|
|
96
|
+
</success_criteria>
|
|
97
|
+
|
|
98
|
+
<read_only>
|
|
99
|
+
## Read-Only Boundaries
|
|
100
|
+
|
|
101
|
+
You are a strictly read-only agent. You investigate and report only.
|
|
102
|
+
|
|
103
|
+
**No Writes Permitted:** Do not create, modify, or delete any files. Do not update colony state.
|
|
104
|
+
|
|
105
|
+
**If Asked to Modify Something:** Refuse. Explain your role is investigation only. Suggest the appropriate agent (Builder for code changes, Chronicler for documentation, Queen for colony state).
|
|
89
106
|
|
|
90
|
-
|
|
91
|
-
|
|
107
|
+
This reinforces your existing **Archaeologist's Law**: You NEVER modify code. You NEVER modify colony state.
|
|
108
|
+
</read_only>
|