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,399 +0,0 @@
|
|
|
1
|
-
# Aether Colony System - Comprehensive Review Report
|
|
2
|
-
|
|
3
|
-
**Research Date:** 2026-02-14
|
|
4
|
-
**Researcher:** Oracle Ant
|
|
5
|
-
**Iterations:** 9
|
|
6
|
-
**Confidence Level:** 95%
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Executive Summary
|
|
11
|
-
|
|
12
|
-
This report presents a comprehensive read-only review of the Aether colony system. The system is a sophisticated multi-agent framework with 34 slash commands, 4 OpenCode agents, a comprehensive CLI, and extensive utility functions. While the architecture is well-designed, several critical issues have been identified that impact functionality and consistency.
|
|
13
|
-
|
|
14
|
-
### Key Findings
|
|
15
|
-
|
|
16
|
-
1. **State Inconsistency**: The colony state shows "INITIALIZING" but phase 7 is marked "completed"
|
|
17
|
-
2. **Path Inconsistency**: HANDOFF.md is written to `.aether/HANDOFF.md` but read from `HANDOFF.md`
|
|
18
|
-
3. **Subagent Type Mismatch**: plan.md uses "general-purpose" but the system expects "general"
|
|
19
|
-
4. **Missing State Fields**: References to milestone and workers fields that don't exist in COLONY_STATE.json
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Core Components Overview
|
|
24
|
-
|
|
25
|
-
### 1. Slash Commands (34 commands)
|
|
26
|
-
**Location:** `/Users/callumcowie/repos/Aether/.claude/commands/ant/`
|
|
27
|
-
|
|
28
|
-
The slash commands form the primary user interface for the colony system:
|
|
29
|
-
|
|
30
|
-
**Lifecycle Commands:**
|
|
31
|
-
- `init.md` - Initialize colony with goal
|
|
32
|
-
- `plan.md` - Generate project plan (50-iteration research loop)
|
|
33
|
-
- `build.md` - Execute phase with workers
|
|
34
|
-
- `continue.md` - Complete phase and advance (6-phase verification loop)
|
|
35
|
-
- `pause-colony.md` - Save session state
|
|
36
|
-
- `resume-colony.md` - Restore session state
|
|
37
|
-
- `status.md` - Display colony status
|
|
38
|
-
|
|
39
|
-
**Management Commands:**
|
|
40
|
-
- `flags.md` - Manage blockers/issues/notes
|
|
41
|
-
- `watch.md` - Real-time activity monitoring
|
|
42
|
-
- `swarm.md` - Parallel bug investigation
|
|
43
|
-
- `oracle.md` - Deep research (this command)
|
|
44
|
-
|
|
45
|
-
### 2. OpenCode Agents (4 agents)
|
|
46
|
-
**Location:** `/Users/callumcowie/repos/Aether/.opencode/agents/`
|
|
47
|
-
|
|
48
|
-
- `aether-queen.md` - Orchestrator agent
|
|
49
|
-
- `aether-builder.md` - Implementation agent
|
|
50
|
-
- `aether-scout.md` - Research agent
|
|
51
|
-
- `aether-watcher.md` - Verification agent
|
|
52
|
-
|
|
53
|
-
**Note:** These agents exist but are not integrated with the slash command system.
|
|
54
|
-
|
|
55
|
-
### 3. CLI (Node.js)
|
|
56
|
-
**Location:** `/Users/callumcowie/repos/Aether/bin/cli.js`
|
|
57
|
-
|
|
58
|
-
Comprehensive CLI with 17 library modules:
|
|
59
|
-
- `errors.js` - Structured error handling
|
|
60
|
-
- `file-lock.js` - Concurrent access control
|
|
61
|
-
- `model-profiles.js` - Model selection and routing
|
|
62
|
-
- `telemetry.js` - Usage tracking
|
|
63
|
-
- `state-sync.js` - State reconciliation
|
|
64
|
-
- `update-transaction.js` - Atomic updates with rollback
|
|
65
|
-
|
|
66
|
-
### 4. Utility Layer (Bash)
|
|
67
|
-
**Location:** `/Users/callumcowie/repos/Aether/.aether/aether-utils.sh`
|
|
68
|
-
|
|
69
|
-
50+ subcommands for colony operations:
|
|
70
|
-
- State management (load-state, unload-state, validate-state)
|
|
71
|
-
- Error handling (error-add, error-pattern-check, error-summary)
|
|
72
|
-
- Activity logging (activity-log, spawn-log, spawn-complete)
|
|
73
|
-
- Flag management (flag-add, flag-check-blockers, flag-list)
|
|
74
|
-
- Model profiles (model-profile, model-get, model-list)
|
|
75
|
-
|
|
76
|
-
### 5. State Files
|
|
77
|
-
**Location:** `/Users/callumcowie/repos/Aether/.aether/data/`
|
|
78
|
-
|
|
79
|
-
- `COLONY_STATE.json` - Unified colony state (v3.0)
|
|
80
|
-
- `constraints.json` - Focus and constraint signals
|
|
81
|
-
- `flags.json` - Blockers, issues, and notes
|
|
82
|
-
- `activity.log` - Activity stream
|
|
83
|
-
- `spawn-tree.txt` - Worker spawn tracking
|
|
84
|
-
- `telemetry.json` - Model performance data
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Critical Issues (Require Immediate Attention)
|
|
89
|
-
|
|
90
|
-
### 1. State Inconsistency
|
|
91
|
-
**Severity:** HIGH
|
|
92
|
-
**Location:** `.aether/data/COLONY_STATE.json:4`
|
|
93
|
-
|
|
94
|
-
**Problem:**
|
|
95
|
-
The state field is set to "INITIALIZING" but the current_phase is 7 with status "completed". According to the state machine defined in status.md (line 124), valid states are: IDLE, READY, EXECUTING, PLANNING.
|
|
96
|
-
|
|
97
|
-
**Current State:**
|
|
98
|
-
```json
|
|
99
|
-
{
|
|
100
|
-
"state": "INITIALIZING",
|
|
101
|
-
"current_phase": 7,
|
|
102
|
-
"plan": {
|
|
103
|
-
"phases": [
|
|
104
|
-
{"number": 7, "name": "Core Reliability", "status": "completed"}
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**Fix Required:**
|
|
111
|
-
Update the state field to reflect actual status:
|
|
112
|
-
```json
|
|
113
|
-
{
|
|
114
|
-
"state": "READY"
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### 2. HANDOFF.md Path Inconsistency
|
|
119
|
-
**Severity:** HIGH
|
|
120
|
-
**Location:** Multiple command files
|
|
121
|
-
|
|
122
|
-
**Problem:**
|
|
123
|
-
- `pause-colony.md` (line 38): Writes to `.aether/HANDOFF.md`
|
|
124
|
-
- `continue.md`, `plan.md`, `status.md`: Look for `HANDOFF.md` in root
|
|
125
|
-
|
|
126
|
-
This breaks the pause/resume functionality.
|
|
127
|
-
|
|
128
|
-
**Files Affected:**
|
|
129
|
-
- `.claude/commands/ant/pause-colony.md`
|
|
130
|
-
- `.claude/commands/ant/continue.md`
|
|
131
|
-
- `.claude/commands/ant/plan.md`
|
|
132
|
-
- `.claude/commands/ant/status.md`
|
|
133
|
-
- `.claude/commands/ant/resume-colony.md`
|
|
134
|
-
|
|
135
|
-
**Fix Required:**
|
|
136
|
-
Standardize all references to `.aether/HANDOFF.md`:
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
# In continue.md, plan.md, status.md - change:
|
|
140
|
-
Read HANDOFF.md
|
|
141
|
-
# To:
|
|
142
|
-
Read .aether/HANDOFF.md
|
|
143
|
-
|
|
144
|
-
# In resume-colony.md - change:
|
|
145
|
-
rm -f .aether/HANDOFF.md
|
|
146
|
-
# (This is already correct, just verify)
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### 3. Subagent Type Mismatch
|
|
150
|
-
**Severity:** HIGH
|
|
151
|
-
**Location:** `.claude/commands/ant/plan.md:126`
|
|
152
|
-
|
|
153
|
-
**Problem:**
|
|
154
|
-
plan.md spawns scouts with `subagent_type="general-purpose"` but the OpenCode agents use `subagent_type: "general"` (see aether-queen.md line 45).
|
|
155
|
-
|
|
156
|
-
**Current Code:**
|
|
157
|
-
```markdown
|
|
158
|
-
Spawn Research Ant (Scout) via Task tool with subagent_type="general-purpose":
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
**Fix Required:**
|
|
162
|
-
Change to match the working pattern:
|
|
163
|
-
```markdown
|
|
164
|
-
Spawn Research Ant (Scout) via Task tool with subagent_type="general":
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## Medium Priority Issues
|
|
170
|
-
|
|
171
|
-
### 4. Pause-Colony Step Numbering Error
|
|
172
|
-
**Severity:** MEDIUM
|
|
173
|
-
**Location:** `.claude/commands/ant/pause-colony.md:72-82`
|
|
174
|
-
|
|
175
|
-
**Problem:**
|
|
176
|
-
Step 4.6 (Set Paused Flag) appears before Step 4.5 (Commit Suggestion) in the document, causing confusion about execution order.
|
|
177
|
-
|
|
178
|
-
**Fix Required:**
|
|
179
|
-
Swap the step numbers:
|
|
180
|
-
- Step 4.5: Set Paused Flag
|
|
181
|
-
- Step 4.6: Commit Suggestion (Optional)
|
|
182
|
-
|
|
183
|
-
### 5. Resume-Colony References Non-Existent Workers Field
|
|
184
|
-
**Severity:** MEDIUM
|
|
185
|
-
**Location:** `.claude/commands/ant/resume-colony.md:70-79`
|
|
186
|
-
|
|
187
|
-
**Problem:**
|
|
188
|
-
The command displays worker status from a `workers` object that doesn't exist in COLONY_STATE.json.
|
|
189
|
-
|
|
190
|
-
**Current Display Logic:**
|
|
191
|
-
```markdown
|
|
192
|
-
WORKERS
|
|
193
|
-
If ALL workers have "idle" status, display:
|
|
194
|
-
All 6 workers idle -- colony ready
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**Fix Required:**
|
|
198
|
-
Either:
|
|
199
|
-
1. Add workers tracking to COLONY_STATE.json schema, OR
|
|
200
|
-
2. Remove the workers display section from resume-colony.md
|
|
201
|
-
|
|
202
|
-
### 6. Status.md References Non-Existent Milestone Field
|
|
203
|
-
**Severity:** MEDIUM
|
|
204
|
-
**Location:** `.claude/commands/ant/status.md:127-128`
|
|
205
|
-
|
|
206
|
-
**Problem:**
|
|
207
|
-
The command references `milestone` and `milestone_updated_at` fields that don't exist in COLONY_STATE.json.
|
|
208
|
-
|
|
209
|
-
**Fix Required:**
|
|
210
|
-
Either:
|
|
211
|
-
1. Add milestone tracking fields to COLONY_STATE.json:
|
|
212
|
-
```json
|
|
213
|
-
{
|
|
214
|
-
"milestone": "First Mound",
|
|
215
|
-
"milestone_updated_at": "2026-02-14T00:00:00Z"
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
2. OR remove milestone display from status.md
|
|
219
|
-
|
|
220
|
-
### 7. Hardcoded Proxy Auth Token
|
|
221
|
-
**Severity:** MEDIUM
|
|
222
|
-
**Location:** `.aether/model-profiles.yaml:99`
|
|
223
|
-
|
|
224
|
-
**Problem:**
|
|
225
|
-
The LiteLLM proxy auth token is hardcoded as 'sk-litellm-local'.
|
|
226
|
-
|
|
227
|
-
**Current:**
|
|
228
|
-
```yaml
|
|
229
|
-
proxy:
|
|
230
|
-
endpoint: 'http://localhost:4000'
|
|
231
|
-
auth_token: sk-litellm-local
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
**Fix Required:**
|
|
235
|
-
Use environment variable with fallback:
|
|
236
|
-
```yaml
|
|
237
|
-
proxy:
|
|
238
|
-
endpoint: 'http://localhost:4000'
|
|
239
|
-
auth_token: ${LITELLM_AUTH_TOKEN:-sk-litellm-local}
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Low Priority Issues
|
|
245
|
-
|
|
246
|
-
### 8. Test Flags Pollution
|
|
247
|
-
**Severity:** LOW
|
|
248
|
-
**Location:** `.aether/data/flags.json`
|
|
249
|
-
|
|
250
|
-
**Problem:**
|
|
251
|
-
8 test flags from development are still present in the production data file.
|
|
252
|
-
|
|
253
|
-
**Fix Required:**
|
|
254
|
-
Archive test flags or reset flags.json:
|
|
255
|
-
```bash
|
|
256
|
-
# Option 1: Archive
|
|
257
|
-
mv .aether/data/flags.json .aether/data/flags.json.backup.$(date +%s)
|
|
258
|
-
echo '{"version": 1, "flags": []}' > .aether/data/flags.json
|
|
259
|
-
|
|
260
|
-
# Option 2: Keep only unresolved flags
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### 9. Verify-Castes.md Caste List Sync
|
|
264
|
-
**Severity:** LOW
|
|
265
|
-
**Location:** `.claude/commands/ant/verify-castes.md`
|
|
266
|
-
|
|
267
|
-
**Problem:**
|
|
268
|
-
The caste list in verify-castes.md may not match the full workers.md specification.
|
|
269
|
-
|
|
270
|
-
**Fix Required:**
|
|
271
|
-
Compare caste list with `.aether/workers.md` and sync any differences.
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Missing Features / Gaps
|
|
276
|
-
|
|
277
|
-
### Gap 1: Signal/Pheromone Management
|
|
278
|
-
**Impact:** MEDIUM
|
|
279
|
-
**Location:** COLONY_STATE.json has "signals" array
|
|
280
|
-
|
|
281
|
-
**Problem:**
|
|
282
|
-
The COLONY_STATE.json has a "signals" array for pheromone signals, but no command manages it directly.
|
|
283
|
-
|
|
284
|
-
**Suggested Solution:**
|
|
285
|
-
Create `/ant:signal` command for CRUD operations:
|
|
286
|
-
- `/ant:signal add <type> <content>` - Add signal
|
|
287
|
-
- `/ant:signal list` - List active signals
|
|
288
|
-
- `/ant:signal decay <id>` - Mark signal for decay
|
|
289
|
-
|
|
290
|
-
### Gap 2: Milestone Tracking
|
|
291
|
-
**Impact:** MEDIUM
|
|
292
|
-
|
|
293
|
-
**Problem:**
|
|
294
|
-
The milestone system is defined (6 milestones) but not tracked in state.
|
|
295
|
-
|
|
296
|
-
**Suggested Solution:**
|
|
297
|
-
Add to COLONY_STATE.json:
|
|
298
|
-
```json
|
|
299
|
-
{
|
|
300
|
-
"milestone": "First Mound",
|
|
301
|
-
"milestone_updated_at": "2026-02-14T00:00:00Z"
|
|
302
|
-
}
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
### Gap 3: Worker Tracking
|
|
306
|
-
**Impact:** LOW
|
|
307
|
-
|
|
308
|
-
**Problem:**
|
|
309
|
-
resume-colony.md references workers but no tracking exists.
|
|
310
|
-
|
|
311
|
-
**Suggested Solution:**
|
|
312
|
-
Either add workers object to state or remove from display:
|
|
313
|
-
```json
|
|
314
|
-
{
|
|
315
|
-
"workers": {
|
|
316
|
-
"builder": {"status": "idle"},
|
|
317
|
-
"watcher": {"status": "idle"}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### Gap 4: OpenCode Integration
|
|
323
|
-
**Impact:** LOW
|
|
324
|
-
|
|
325
|
-
**Problem:**
|
|
326
|
-
OpenCode agents exist but are not integrated with slash commands.
|
|
327
|
-
|
|
328
|
-
**Suggested Solution:**
|
|
329
|
-
Either:
|
|
330
|
-
1. Integrate agents into slash command workflow, OR
|
|
331
|
-
2. Deprecate and remove OpenCode agents if not needed
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## Architecture Strengths
|
|
336
|
-
|
|
337
|
-
1. **State Versioning**: Auto-upgrade from v1.0/v2.0 to v3.0
|
|
338
|
-
2. **Concurrency Control**: File locking with load-state/unload-state pattern
|
|
339
|
-
3. **Atomic Updates**: update-transaction.js with rollback capability
|
|
340
|
-
4. **Observability**: Comprehensive logging (activity.log, spawn-tree.txt, telemetry.json)
|
|
341
|
-
5. **Quality Gates**: 6-phase verification loop in continue.md
|
|
342
|
-
6. **Model Routing**: Task-based routing to appropriate models
|
|
343
|
-
7. **Error Handling**: Structured errors with recovery suggestions
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
## Actionable Fix Checklist
|
|
348
|
-
|
|
349
|
-
### Immediate (HIGH Priority)
|
|
350
|
-
- [ ] Fix COLONY_STATE.json state field: "INITIALIZING" → "READY"
|
|
351
|
-
- [ ] Standardize HANDOFF.md path in all commands to `.aether/HANDOFF.md`
|
|
352
|
-
- [ ] Change plan.md subagent_type from "general-purpose" to "general"
|
|
353
|
-
|
|
354
|
-
### Short-term (MEDIUM Priority)
|
|
355
|
-
- [ ] Fix pause-colony.md step numbering (4.5/4.6 swap)
|
|
356
|
-
- [ ] Add milestone fields to COLONY_STATE.json OR remove from status.md
|
|
357
|
-
- [ ] Add workers field to COLONY_STATE.json OR remove from resume-colony.md
|
|
358
|
-
- [ ] Use environment variable for proxy auth token
|
|
359
|
-
|
|
360
|
-
### Long-term (LOW Priority)
|
|
361
|
-
- [ ] Clean up test flags from flags.json
|
|
362
|
-
- [ ] Create /ant:signal command for pheromone management
|
|
363
|
-
- [ ] Sync verify-castes.md with workers.md
|
|
364
|
-
- [ ] Evaluate OpenCode agent integration
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
## File Paths Reference
|
|
369
|
-
|
|
370
|
-
### Critical Files
|
|
371
|
-
- `/Users/callumcowie/repos/Aether/.aether/data/COLONY_STATE.json` - Colony state
|
|
372
|
-
- `/Users/callumcowie/repos/Aether/.aether/data/flags.json` - Flags data
|
|
373
|
-
- `/Users/callumcowie/repos/Aether/.aether/model-profiles.yaml` - Model configuration
|
|
374
|
-
|
|
375
|
-
### Command Files
|
|
376
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/init.md`
|
|
377
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/plan.md`
|
|
378
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/build.md`
|
|
379
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/continue.md`
|
|
380
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/pause-colony.md`
|
|
381
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/resume-colony.md`
|
|
382
|
-
- `/Users/callumcowie/repos/Aether/.claude/commands/ant/status.md`
|
|
383
|
-
|
|
384
|
-
### System Files
|
|
385
|
-
- `/Users/callumcowie/repos/Aether/.aether/aether-utils.sh` - Utility layer
|
|
386
|
-
- `/Users/callumcowie/repos/Aether/bin/cli.js` - CLI entry point
|
|
387
|
-
- `/Users/callumcowie/repos/Aether/.aether/workers.md` - Worker specifications
|
|
388
|
-
|
|
389
|
-
---
|
|
390
|
-
|
|
391
|
-
## Conclusion
|
|
392
|
-
|
|
393
|
-
The Aether colony system is a well-architected framework with sophisticated state management, quality controls, and observability. The identified issues are primarily consistency problems rather than fundamental design flaws. With the fixes outlined in this report, the system should operate reliably and maintain data integrity across all components.
|
|
394
|
-
|
|
395
|
-
**Estimated Fix Time:** 2-4 hours for all HIGH and MEDIUM priority issues.
|
|
396
|
-
|
|
397
|
-
---
|
|
398
|
-
|
|
399
|
-
*Report generated by Oracle Ant - Aether Colony Research System*
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# Command Sync Strategy
|
|
2
|
-
|
|
3
|
-
This document describes how Aether slash commands are distributed to Claude Code and OpenCode, and the bulletproof sync mechanisms that ensure consistency.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Distribution Model
|
|
8
|
-
|
|
9
|
-
### Claude Code: Global Sync
|
|
10
|
-
|
|
11
|
-
Aether commands are synced to the global Claude Code config directory:
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
~/.claude/commands/ant/
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
This is done via `aether install` which copies commands from the npm package to the global location. The sync uses **hash-based comparison** to only copy files that have changed.
|
|
18
|
-
|
|
19
|
-
### OpenCode: Repo-Local Only
|
|
20
|
-
|
|
21
|
-
OpenCode **does not** have a global discovery mechanism for slash commands. Commands must exist in the repo-local directory:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
.opencode/commands/ant/
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
This is why Aether maintains parallel command directories:
|
|
28
|
-
- `.claude/commands/ant/` — Claude Code commands
|
|
29
|
-
- `.opencode/commands/ant/` — OpenCode commands (repo-local)
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Why the Strategies Differ
|
|
34
|
-
|
|
35
|
-
| Feature | Claude Code | OpenCode |
|
|
36
|
-
|---------|-------------|----------|
|
|
37
|
-
| Global command discovery | Yes (`~/.claude/commands/`) | No |
|
|
38
|
-
| Repo-local commands | Supported | Required |
|
|
39
|
-
| Namespace isolation | `/ant:` prefix | `/ant:` prefix |
|
|
40
|
-
|
|
41
|
-
**Key insight:** OpenCode's architecture requires repo-local commands. There is no equivalent to `~/.claude/commands/` that provides automatic slash command discovery. This is a fundamental platform difference.
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Hash-Based Idempotent Sync
|
|
46
|
-
|
|
47
|
-
The sync system in `bin/cli.js` uses **hash comparison before copying**:
|
|
48
|
-
|
|
49
|
-
```javascript
|
|
50
|
-
// Hash comparison: only copy if file doesn't exist or hash differs
|
|
51
|
-
let shouldCopy = true;
|
|
52
|
-
if (fs.existsSync(destPath)) {
|
|
53
|
-
const srcHash = hashFileSync(srcPath);
|
|
54
|
-
const destHash = hashFileSync(destPath);
|
|
55
|
-
if (srcHash === destHash) {
|
|
56
|
-
shouldCopy = false;
|
|
57
|
-
skipped++;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (shouldCopy) {
|
|
62
|
-
fs.copyFileSync(srcPath, destPath);
|
|
63
|
-
}
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Why this matters:**
|
|
67
|
-
- **Idempotent:** Running `aether install` multiple times produces the same result
|
|
68
|
-
- **Efficient:** Unchanged files are skipped (visible in logs as "skipped")
|
|
69
|
-
- **Bulletproof:** No unnecessary writes reduce the risk of corruption
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## Environment Variable Validation
|
|
74
|
-
|
|
75
|
-
Before constructing any paths that use the user's home directory, the code validates the HOME environment variable:
|
|
76
|
-
|
|
77
|
-
```javascript
|
|
78
|
-
const HOME = process.env.HOME || process.env.USERPROFILE;
|
|
79
|
-
if (!HOME) {
|
|
80
|
-
console.error('Error: HOME environment variable is not set');
|
|
81
|
-
console.error('Please ensure HOME or USERPROFILE is defined');
|
|
82
|
-
process.exit(1);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Now safe to use
|
|
86
|
-
const COMMANDS_DEST = path.join(HOME, '.claude', 'commands', 'ant');
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Why this matters:**
|
|
90
|
-
- Prevents crashes on systems where HOME is not set
|
|
91
|
-
- Provides clear error message instead of cryptic path errors
|
|
92
|
-
- Supports both Unix-like systems (HOME) and Windows (USERPROFILE)
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Verification Commands
|
|
97
|
-
|
|
98
|
-
### Check Sync Status
|
|
99
|
-
|
|
100
|
-
To verify commands are in sync between Claude Code and OpenCode within the repo:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
./bin/generate-commands.sh check
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
This performs two passes:
|
|
107
|
-
1. **Pass 1:** File count and name comparison
|
|
108
|
-
2. **Pass 2:** SHA-1 hash comparison for content-level drift detection
|
|
109
|
-
|
|
110
|
-
### Verify Global Installation
|
|
111
|
-
|
|
112
|
-
To verify global Claude Code commands are installed:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
ls ~/.claude/commands/ant/
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Verify Global OpenCode Commands
|
|
119
|
-
|
|
120
|
-
To verify global OpenCode commands (if previously synced):
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
ls ~/.config/opencode/commands/ant/
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Sync Workflow
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
┌─────────────────┐
|
|
132
|
-
│ Write commands │
|
|
133
|
-
│ in .claude/ │
|
|
134
|
-
└────────┬────────┘
|
|
135
|
-
│
|
|
136
|
-
▼
|
|
137
|
-
┌─────────────────────────────────────┐
|
|
138
|
-
│ aether install │
|
|
139
|
-
│ (syncs to ~/.claude/commands/ant/)│
|
|
140
|
-
└────────┬────────────────────────────┘
|
|
141
|
-
│
|
|
142
|
-
▼
|
|
143
|
-
┌─────────────────────────────────────┐
|
|
144
|
-
│ Hash-based copy │
|
|
145
|
-
│ (only copies if hash differs) │
|
|
146
|
-
└─────────────────────────────────────┘
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## Anti-Patterns to Avoid
|
|
152
|
-
|
|
153
|
-
1. **Unconditional copy:** Never copy files without checking if they changed
|
|
154
|
-
2. **Skip hash comparison:** Always use hash comparison for idempotency
|
|
155
|
-
3. **Ignore HOME validation:** Always validate HOME before path construction
|
|
156
|
-
4. **Assume OpenCode global:** OpenCode does not support global command discovery
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## See Also
|
|
161
|
-
|
|
162
|
-
- `bin/cli.js` — Implementation of hash-based sync
|
|
163
|
-
- `bin/generate-commands.sh` — Repo-level sync verification
|
|
164
|
-
- `.aether/docs/namespace.md` — Namespace isolation strategy
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# Constraints -- User Guide
|
|
2
|
-
|
|
3
|
-
Constraints are how you guide the colony. Instead of micromanaging individual ants, you set focus areas and patterns to avoid. The colony reads these constraints before each build.
|
|
4
|
-
|
|
5
|
-
## How Constraints Work
|
|
6
|
-
|
|
7
|
-
- **You set** constraints using `/ant:focus` and `/ant:redirect`
|
|
8
|
-
- **Constraints persist** until you remove them or reset the colony
|
|
9
|
-
- **Focus areas** tell the colony "pay extra attention here"
|
|
10
|
-
- **Avoid patterns** tell the colony "don't do this"
|
|
11
|
-
- **Run `/ant:status`** to see active constraints
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## FOCUS -- Guide Attention
|
|
16
|
-
|
|
17
|
-
**Command:** `/ant:focus "<area>"`
|
|
18
|
-
|
|
19
|
-
**What it does:** Adds an area to the focus list. Workers prioritize focused areas in their task execution.
|
|
20
|
-
|
|
21
|
-
### When to use FOCUS
|
|
22
|
-
|
|
23
|
-
**Scenario 1: Steering the next build phase**
|
|
24
|
-
You're about to run `/ant:build 3` and Phase 3 has tasks touching both the API layer and the database layer. You know the database schema is fragile:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
/ant:focus "database schema -- handle migrations carefully"
|
|
28
|
-
/ant:build 3
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
**Scenario 2: Directing colonization**
|
|
32
|
-
You're colonizing a new project and want the colonizer to pay special attention to testing:
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
/ant:focus "test framework and coverage gaps"
|
|
36
|
-
/ant:colonize
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### When NOT to use FOCUS
|
|
40
|
-
|
|
41
|
-
- Don't stack 5+ FOCUS areas -- the colony can't prioritize everything (max 5 enforced)
|
|
42
|
-
- Don't FOCUS on things the colony already handles (like "write good code") -- be specific
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## REDIRECT -- Warn Away
|
|
47
|
-
|
|
48
|
-
**Command:** `/ant:redirect "<pattern to avoid>"`
|
|
49
|
-
|
|
50
|
-
**What it does:** Adds an AVOID constraint. Workers actively avoid the specified pattern. This is the strongest guidance type.
|
|
51
|
-
|
|
52
|
-
### When to use REDIRECT
|
|
53
|
-
|
|
54
|
-
**Scenario 1: Preventing a known bad approach**
|
|
55
|
-
Your project uses Next.js Edge Runtime, and you know `jsonwebtoken` doesn't work there:
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
/ant:redirect "Don't use jsonwebtoken -- use jose library instead (Edge Runtime compatible)"
|
|
59
|
-
/ant:build 2
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Scenario 2: Steering away from a previous failure**
|
|
63
|
-
Phase 1 tried to use synchronous file reads and caused performance issues:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
/ant:redirect "No synchronous file I/O -- use async fs/promises"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### When NOT to use REDIRECT
|
|
70
|
-
|
|
71
|
-
- Don't REDIRECT for preferences -- use it for hard constraints ("will break" not "I don't like")
|
|
72
|
-
- Don't REDIRECT on vague patterns ("don't write bad code") -- be specific
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Storage
|
|
77
|
-
|
|
78
|
-
Constraints are stored in `.aether/data/constraints.json`:
|
|
79
|
-
|
|
80
|
-
```json
|
|
81
|
-
{
|
|
82
|
-
"version": "1.0",
|
|
83
|
-
"focus": [
|
|
84
|
-
"database schema",
|
|
85
|
-
"error handling"
|
|
86
|
-
],
|
|
87
|
-
"constraints": [
|
|
88
|
-
{
|
|
89
|
-
"id": "c_1707345678123",
|
|
90
|
-
"type": "AVOID",
|
|
91
|
-
"content": "Don't use jsonwebtoken",
|
|
92
|
-
"source": "user:redirect",
|
|
93
|
-
"created_at": "2026-02-07T12:34:56Z"
|
|
94
|
-
}
|
|
95
|
-
]
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Limits:**
|
|
100
|
-
- Max 5 focus areas (oldest removed when exceeded)
|
|
101
|
-
- Max 10 constraints (oldest removed when exceeded)
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Quick Reference
|
|
106
|
-
|
|
107
|
-
| Command | Effect | Limit |
|
|
108
|
-
|---------|--------|-------|
|
|
109
|
-
| `/ant:focus "<area>"` | Add to focus list | 5 max |
|
|
110
|
-
| `/ant:redirect "<avoid>"` | Add AVOID constraint | 10 max |
|
|
111
|
-
| `/ant:status` | View active constraints | - |
|
|
112
|
-
|
|
113
|
-
**Rule of thumb:**
|
|
114
|
-
- Before a build: FOCUS + REDIRECT to steer
|
|
115
|
-
- For hard constraints: REDIRECT
|
|
116
|
-
- For attention: FOCUS
|