aether-colony 5.0.0 → 5.2.1
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 +3226 -3345
- 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 +442 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +509 -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 +502 -0
- package/.aether/commands/insert-phase.yaml +102 -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 +1364 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/quick.yaml +104 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +375 -0
- package/.aether/commands/resume.yaml +407 -0
- package/.aether/commands/run.yaml +229 -0
- package/.aether/commands/seal.yaml +1214 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +408 -0
- package/.aether/commands/swarm.yaml +352 -0
- package/.aether/commands/tunnels.yaml +814 -0
- package/.aether/commands/update.yaml +131 -0
- package/.aether/commands/verify-castes.yaml +159 -0
- package/.aether/commands/watch.yaml +454 -0
- package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
- package/.aether/docs/QUEEN-SYSTEM.md +11 -11
- package/.aether/docs/README.md +32 -2
- package/.aether/docs/command-playbooks/README.md +23 -0
- package/.aether/docs/command-playbooks/build-complete.md +349 -0
- package/.aether/docs/command-playbooks/build-context.md +282 -0
- package/.aether/docs/command-playbooks/build-full.md +1683 -0
- package/.aether/docs/command-playbooks/build-prep.md +284 -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 +1725 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +407 -0
- package/.aether/docs/context-continuity.md +84 -0
- package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
- package/.aether/docs/error-codes.md +1 -1
- package/.aether/docs/known-issues.md +34 -173
- package/.aether/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +10 -9
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/.aether/rules/aether-colony.md +23 -13
- package/.aether/scripts/incident-test-add.sh +47 -0
- package/.aether/scripts/weekly-audit.sh +79 -0
- package/.aether/skills/.index.json +649 -0
- package/.aether/skills/colony/.manifest.json +16 -0
- package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
- package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
- package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
- package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
- package/.aether/skills/colony/context-management/SKILL.md +80 -0
- package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
- package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
- package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
- package/.aether/skills/colony/state-safety/SKILL.md +84 -0
- package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
- package/.aether/skills/domain/.manifest.json +24 -0
- package/.aether/skills/domain/README.md +33 -0
- package/.aether/skills/domain/django/SKILL.md +49 -0
- package/.aether/skills/domain/docker/SKILL.md +52 -0
- package/.aether/skills/domain/golang/SKILL.md +52 -0
- package/.aether/skills/domain/graphql/SKILL.md +51 -0
- package/.aether/skills/domain/html-css/SKILL.md +48 -0
- package/.aether/skills/domain/nextjs/SKILL.md +45 -0
- package/.aether/skills/domain/nodejs/SKILL.md +53 -0
- package/.aether/skills/domain/postgresql/SKILL.md +53 -0
- package/.aether/skills/domain/prisma/SKILL.md +59 -0
- package/.aether/skills/domain/python/SKILL.md +50 -0
- package/.aether/skills/domain/rails/SKILL.md +52 -0
- package/.aether/skills/domain/react/SKILL.md +45 -0
- package/.aether/skills/domain/rest-api/SKILL.md +58 -0
- package/.aether/skills/domain/svelte/SKILL.md +47 -0
- package/.aether/skills/domain/tailwind/SKILL.md +45 -0
- package/.aether/skills/domain/testing/SKILL.md +53 -0
- package/.aether/skills/domain/typescript/SKILL.md +58 -0
- package/.aether/skills/domain/vue/SKILL.md +49 -0
- package/.aether/templates/QUEEN.md.template +23 -41
- package/.aether/templates/colony-state-reset.jq.template +1 -0
- package/.aether/templates/colony-state.template.json +4 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +13 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/.aether/utils/atomic-write.sh +63 -17
- package/.aether/utils/chamber-utils.sh +145 -2
- package/.aether/utils/council.sh +425 -0
- package/.aether/utils/emoji-audit.sh +166 -0
- package/.aether/utils/error-handler.sh +21 -7
- package/.aether/utils/file-lock.sh +182 -27
- package/.aether/utils/flag.sh +278 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/immune.sh +508 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +520 -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 +1710 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +10 -8
- package/.aether/utils/session.sh +816 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +103 -271
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +389 -0
- package/.aether/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/.aether/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/.aether/utils/watch-spawn-tree.sh +11 -2
- package/.aether/utils/xml-compose.sh +2 -2
- package/.aether/utils/xml-convert.sh +9 -5
- package/.aether/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +4 -4
- package/.aether/workers.md +86 -67
- package/.claude/agents/ant/aether-ambassador.md +2 -1
- package/.claude/agents/ant/aether-archaeologist.md +6 -1
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +6 -1
- package/.claude/agents/ant/aether-builder.md +38 -1
- package/.claude/agents/ant/aether-chaos.md +2 -1
- package/.claude/agents/ant/aether-chronicler.md +1 -0
- package/.claude/agents/ant/aether-gatekeeper.md +6 -1
- package/.claude/agents/ant/aether-includer.md +1 -0
- package/.claude/agents/ant/aether-keeper.md +1 -0
- package/.claude/agents/ant/aether-measurer.md +6 -1
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +2 -1
- package/.claude/agents/ant/aether-queen.md +6 -1
- package/.claude/agents/ant/aether-route-setter.md +6 -1
- package/.claude/agents/ant/aether-sage.md +68 -3
- package/.claude/agents/ant/aether-scout.md +38 -1
- package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
- package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
- package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
- package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
- package/.claude/agents/ant/aether-tracker.md +6 -1
- package/.claude/agents/ant/aether-watcher.md +37 -1
- package/.claude/agents/ant/aether-weaver.md +2 -1
- package/.claude/commands/ant/archaeology.md +1 -8
- package/.claude/commands/ant/build.md +43 -1159
- package/.claude/commands/ant/chaos.md +1 -14
- package/.claude/commands/ant/colonize.md +3 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +213 -15
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +12 -9
- package/.claude/commands/ant/entomb.md +62 -87
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +18 -0
- package/.claude/commands/ant/flag.md +12 -0
- package/.claude/commands/ant/flags.md +22 -8
- package/.claude/commands/ant/focus.md +18 -0
- package/.claude/commands/ant/help.md +40 -8
- package/.claude/commands/ant/history.md +3 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +349 -191
- package/.claude/commands/ant/insert-phase.md +105 -0
- package/.claude/commands/ant/interpret.md +11 -0
- package/.claude/commands/ant/lay-eggs.md +167 -158
- package/.claude/commands/ant/maturity.md +22 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +6 -0
- package/.claude/commands/ant/oracle.md +317 -62
- package/.claude/commands/ant/organize.md +10 -5
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +8 -22
- package/.claude/commands/ant/phase.md +26 -37
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +199 -50
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/quick.md +100 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +37 -22
- package/.claude/commands/ant/resume.md +60 -7
- package/.claude/commands/ant/run.md +231 -0
- package/.claude/commands/ant/seal.md +506 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +171 -1
- package/.claude/commands/ant/swarm.md +11 -23
- package/.claude/commands/ant/tunnels.md +1 -0
- package/.claude/commands/ant/update.md +58 -135
- package/.claude/commands/ant/verify-castes.md +90 -42
- package/.claude/commands/ant/watch.md +1 -0
- package/.opencode/agents/aether-ambassador.md +1 -1
- package/.opencode/agents/aether-architect.md +133 -0
- package/.opencode/agents/aether-builder.md +3 -3
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-queen.md +1 -1
- package/.opencode/agents/aether-route-setter.md +1 -1
- package/.opencode/agents/aether-scout.md +1 -1
- package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
- package/.opencode/agents/aether-surveyor-nest.md +6 -1
- package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
- package/.opencode/agents/aether-surveyor-provisions.md +6 -1
- package/.opencode/agents/aether-tracker.md +1 -1
- package/.opencode/agents/aether-watcher.md +1 -1
- package/.opencode/agents/aether-weaver.md +1 -1
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +54 -88
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +10 -17
- package/.opencode/commands/ant/continue.md +595 -66
- package/.opencode/commands/ant/council.md +150 -18
- package/.opencode/commands/ant/data-clean.md +77 -0
- package/.opencode/commands/ant/dream.md +15 -17
- package/.opencode/commands/ant/entomb.md +28 -18
- package/.opencode/commands/ant/export-signals.md +54 -0
- package/.opencode/commands/ant/feedback.md +24 -5
- package/.opencode/commands/ant/flag.md +16 -4
- package/.opencode/commands/ant/flags.md +24 -10
- package/.opencode/commands/ant/focus.md +22 -5
- package/.opencode/commands/ant/help.md +41 -8
- package/.opencode/commands/ant/history.md +9 -0
- package/.opencode/commands/ant/import-signals.md +68 -0
- package/.opencode/commands/ant/init.md +396 -154
- package/.opencode/commands/ant/insert-phase.md +111 -0
- package/.opencode/commands/ant/interpret.md +16 -0
- package/.opencode/commands/ant/lay-eggs.md +184 -112
- package/.opencode/commands/ant/maturity.md +18 -2
- package/.opencode/commands/ant/memory-details.md +83 -0
- package/.opencode/commands/ant/migrate-state.md +12 -0
- package/.opencode/commands/ant/oracle.md +322 -67
- package/.opencode/commands/ant/organize.md +14 -12
- package/.opencode/commands/ant/patrol.md +626 -0
- package/.opencode/commands/ant/pause-colony.md +12 -29
- package/.opencode/commands/ant/phase.md +30 -40
- package/.opencode/commands/ant/pheromones.md +162 -0
- package/.opencode/commands/ant/plan.md +210 -57
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/quick.md +91 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +41 -29
- package/.opencode/commands/ant/resume.md +80 -20
- package/.opencode/commands/ant/run.md +237 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +125 -30
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +3 -9
- package/.opencode/commands/ant/update.md +63 -127
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +368 -1
- package/README.md +195 -324
- package/bin/cli.js +236 -429
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +128 -89
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +285 -35
- package/bin/npx-install.js +178 -0
- package/bin/validate-package.sh +85 -3
- package/package.json +16 -4
- package/.aether/CONTEXT.md +0 -160
- package/.aether/docs/QUEEN.md +0 -84
- package/.aether/exchange/colony-registry.xml +0 -11
- package/.aether/exchange/pheromones.xml +0 -87
- package/.aether/exchange/queen-wisdom.xml +0 -14
- package/.aether/model-profiles.yaml +0 -100
- package/.aether/utils/spawn-with-model.sh +0 -56
- package/bin/lib/model-profiles.js +0 -445
- package/bin/lib/model-verify.js +0 -288
- package/bin/lib/proxy-health.js +0 -253
- package/bin/lib/telemetry.js +0 -441
|
@@ -19,13 +19,13 @@ bash .aether/aether-utils.sh queen-init
|
|
|
19
19
|
|
|
20
20
|
**Example output:**
|
|
21
21
|
```json
|
|
22
|
-
{"ok":true,"result":{"created":true,"path":".aether/
|
|
22
|
+
{"ok":true,"result":{"created":true,"path":".aether/QUEEN.md","source":"~/.aether/system/templates/QUEEN.md.template"}}
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
**Behavior:**
|
|
26
26
|
- If QUEEN.md already exists, returns `{"created":false}` without overwriting
|
|
27
27
|
- Searches for template in: hub system path, then local .aether/templates/
|
|
28
|
-
- Creates `.aether
|
|
28
|
+
- Creates `.aether/` directory if it doesn't exist
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
@@ -84,14 +84,15 @@ bash .aether/aether-utils.sh queen-promote <type> <content> <colony_name>
|
|
|
84
84
|
|
|
85
85
|
The queen commands are part of the colony lifecycle:
|
|
86
86
|
|
|
87
|
-
1. **Colony startup:** `/ant:
|
|
88
|
-
2. **Worker priming:** `/ant:
|
|
87
|
+
1. **Colony startup:** `/ant:init` calls `queen-init` to ensure QUEEN.md exists
|
|
88
|
+
2. **Worker priming:** `/ant:build` loads `colony-prime --compact`, which includes QUEEN wisdom + compact context capsule + top signals
|
|
89
89
|
3. **Colony end:** `/ant:seal` can call `queen-promote` to persist learnings
|
|
90
90
|
|
|
91
91
|
### Adding a New Queen Command
|
|
92
92
|
|
|
93
|
-
1. Add the
|
|
94
|
-
2. Add
|
|
95
|
-
3. Add it to the
|
|
96
|
-
4.
|
|
97
|
-
5.
|
|
93
|
+
1. Add the function implementation in `.aether/utils/queen.sh` (domain module)
|
|
94
|
+
2. Add the dispatch case in `aether-utils.sh` (alongside existing `queen-*` blocks)
|
|
95
|
+
3. Add it to the flat `commands` array in the `help)` case block
|
|
96
|
+
4. Add it to the "Queen Commands" section in help's `sections` JSON
|
|
97
|
+
5. Update this file with usage documentation
|
|
98
|
+
6. Add tests in `tests/bash/test-aether-utils.sh`
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Aether Source-of-Truth Map
|
|
2
|
+
|
|
3
|
+
Updated: 2026-03-24 (v2.1 accuracy sweep -- post-modularization counts, domain modules, playbook corrections)
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Define which files are authoritative for system behavior, which files are derived, and where documentation is currently out of sync.
|
|
8
|
+
|
|
9
|
+
## Authority Precedence (Highest to Lowest)
|
|
10
|
+
|
|
11
|
+
1. **Executable runtime**
|
|
12
|
+
- `.aether/aether-utils.sh` and sourced scripts in `.aether/utils/`
|
|
13
|
+
- Node CLI runtime in `bin/cli.js` and `bin/lib/*`
|
|
14
|
+
- Why: these files are what actually execute.
|
|
15
|
+
|
|
16
|
+
2. **Command execution specifications**
|
|
17
|
+
- `.claude/commands/ant/*.md`
|
|
18
|
+
- Why: these drive slash-command behavior in Claude Code.
|
|
19
|
+
|
|
20
|
+
2.5. **Agent behavior specifications**
|
|
21
|
+
- `.claude/agents/ant/*.md` and `.opencode/agents/*.md`
|
|
22
|
+
- Why: these define worker behavior when commands spawn subagents.
|
|
23
|
+
|
|
24
|
+
3. **State/data artifacts (runtime outputs, not policy)**
|
|
25
|
+
- `.aether/data/*` (state, pheromones, observations, flags)
|
|
26
|
+
- Why: these represent current colony state, not command intent.
|
|
27
|
+
|
|
28
|
+
4. **Human-facing documentation**
|
|
29
|
+
- Root `README.md`
|
|
30
|
+
- `.aether/docs/*.md`
|
|
31
|
+
- Why: explanatory, not executable.
|
|
32
|
+
|
|
33
|
+
## Ownership Map
|
|
34
|
+
|
|
35
|
+
| Domain | Authoritative Files | Notes |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| Core deterministic operations | `.aether/aether-utils.sh` | Dispatcher that loads domain modules on demand (~5,200 lines) |
|
|
38
|
+
| Slash command orchestration | `.claude/commands/ant/*.md` | Includes build/continue orchestrators |
|
|
39
|
+
| Worker behavior specs | `.claude/agents/ant/*.md` | 22 Claude agent definitions (Builder, Watcher, etc.) |
|
|
40
|
+
| Packaged Claude agent mirror | `.aether/agents-claude/*.md` | Distribution mirror; must stay byte-identical with `.claude/agents/ant/*.md` |
|
|
41
|
+
| OpenCode command surface | `.opencode/commands/ant/*.md` | 44 OpenCode command files; structure parity with Claude commands |
|
|
42
|
+
| OpenCode worker behavior specs | `.opencode/agents/*.md` | 22 OpenCode agent definitions |
|
|
43
|
+
| Domain modules | `.aether/utils/{flag,spawn,session,suggest,queen,swarm,learning,pheromone,state-api}.sh` | Extracted from aether-utils.sh in Phase 13; sourced on demand |
|
|
44
|
+
| Build/continue split stages | `.aether/docs/command-playbooks/*.md` | Loaded by orchestrators; executable instruction docs |
|
|
45
|
+
| Output templates | `.aether/templates/*` | Templates for generated state/handoff/wisdom/session artifacts |
|
|
46
|
+
| Colony wisdom source | `.aether/QUEEN.md` + `~/.aether/QUEEN.md` | Read by `queen-read`/`colony-prime` |
|
|
47
|
+
| User preferences | `~/.aether/QUEEN.md` (User Preferences section) | Managed by `/ant:preferences`; read by `queen-read`/`colony-prime` |
|
|
48
|
+
| Hive wisdom (cross-repo) | `~/.aether/eternal/memory.json` | High-value signals shared across colonies; read by `colony-prime` |
|
|
49
|
+
| Pheromone runtime state | `.aether/data/pheromones.json` | Active signals with TTL/decay semantics |
|
|
50
|
+
| Autopilot run state | `.aether/data/run-state.json` | Tracks autopilot phase, pause reasons, iteration count |
|
|
51
|
+
| Session/state | `.aether/data/COLONY_STATE.json`, `.aether/data/*.json` | Mutable runtime state |
|
|
52
|
+
| Colony registry | `~/.aether/registry.json` | All registered repos with metadata and domain tags |
|
|
53
|
+
| Package/distribution scope | `package.json` (`files`) + `.npmignore` | Defines what ships vs excluded |
|
|
54
|
+
| Repo-level onboarding docs | `README.md`, `CLAUDE.md` | Should reflect runtime/commands, never override them |
|
|
55
|
+
|
|
56
|
+
## Confirmed Implementation Facts
|
|
57
|
+
|
|
58
|
+
- Utility dispatcher and subcommands are implemented in `.aether/aether-utils.sh` (`case "$cmd" in`).
|
|
59
|
+
- Context continuity primitives are runtime-backed in `.aether/aether-utils.sh`:
|
|
60
|
+
- `context-capsule` (compact prompt context),
|
|
61
|
+
- `rolling-summary` (bounded narrative log),
|
|
62
|
+
- `pheromone-prime --compact` and `colony-prime --compact`.
|
|
63
|
+
- `queen-init` creates `.aether/QUEEN.md` (not `.aether/docs/QUEEN.md`).
|
|
64
|
+
- `queen-read` and `colony-prime` read from `~/.aether/QUEEN.md` and `.aether/QUEEN.md`.
|
|
65
|
+
- `queen-promote` writes to `.aether/QUEEN.md`.
|
|
66
|
+
- `build.md` and `continue.md` are now orchestrators that load split playbooks under `.aether/docs/command-playbooks/`.
|
|
67
|
+
- Orchestrators run playbooks as staged instruction sets (Read-tool execution model), not as bash subcommand wrappers.
|
|
68
|
+
- Cross-platform surfaces are present:
|
|
69
|
+
- 44 Claude commands and 44 OpenCode commands
|
|
70
|
+
- 22 Claude agents and 22 OpenCode agents
|
|
71
|
+
- Autopilot subcommands (`autopilot-init`, `autopilot-update`, `autopilot-status`, `autopilot-stop`, `autopilot-check-replan`) manage autonomous build/continue cycles via `/ant:run`.
|
|
72
|
+
- `registry-list` lists all registered repos with metadata including domain tags.
|
|
73
|
+
- `.aether/agents-claude/*.md` mirrors `.claude/agents/ant/*.md` for packaging/distribution.
|
|
74
|
+
- `npm run lint:sync` enforces:
|
|
75
|
+
- command parity checks,
|
|
76
|
+
- Claude/OpenCode agent structural parity (count + filenames),
|
|
77
|
+
- Claude/`.aether` agent mirror exact parity (count + filenames + content hash).
|
|
78
|
+
- File contents between Claude and OpenCode command/agent files currently differ; parity is structural, not byte-identical.
|
|
79
|
+
|
|
80
|
+
## Verified Inventory Snapshot
|
|
81
|
+
|
|
82
|
+
| Category | Location | Count | Status |
|
|
83
|
+
|---|---|---:|---|
|
|
84
|
+
| Core utility entrypoint | `.aether/aether-utils.sh` | 1 | Active |
|
|
85
|
+
| Sourced shell utilities | `.aether/utils/*.sh` | ~29 | Active (9 domain modules + infrastructure + XML) |
|
|
86
|
+
| XML utility scripts | `.aether/utils/xml-*.sh` | 5 | Active (see drift note) |
|
|
87
|
+
| Slash commands (Claude) | `.claude/commands/ant/*.md` | 44 | Active |
|
|
88
|
+
| Slash commands (OpenCode) | `.opencode/commands/ant/*.md` | 44 | Active (content differs from Claude variants) |
|
|
89
|
+
| Agent definitions (Claude) | `.claude/agents/ant/*.md` | 22 | Active |
|
|
90
|
+
| Agent mirror (packaging) | `.aether/agents-claude/*.md` | 22 | Active mirror (must match Claude agent files exactly) |
|
|
91
|
+
| Agent definitions (OpenCode) | `.opencode/agents/*.md` | 22 | Active (content differs from Claude variants) |
|
|
92
|
+
| Command playbooks | `.aether/docs/command-playbooks/*.md` | 9 | Active (5 build + 4 continue; excludes full/README) |
|
|
93
|
+
| Templates (all types) | `.aether/templates/*` | 12 | Active |
|
|
94
|
+
| Disciplines | `.aether/docs/disciplines/*.md` | 7 | Active |
|
|
95
|
+
| Tests (all files) | `tests/**` | ~140 | Active |
|
|
96
|
+
|
|
97
|
+
## Drift Findings (Docs vs Implementation)
|
|
98
|
+
|
|
99
|
+
No high-confidence drift items currently tracked in this document after the 2026-02-22 alignment pass.
|
|
100
|
+
|
|
101
|
+
## Canonical Read Order (For Contributors)
|
|
102
|
+
|
|
103
|
+
When determining "how Aether works now", read in this order:
|
|
104
|
+
|
|
105
|
+
1. `.aether/aether-utils.sh`
|
|
106
|
+
2. `.claude/commands/ant/build.md` and `.claude/commands/ant/continue.md`
|
|
107
|
+
3. `.aether/docs/command-playbooks/*.md`
|
|
108
|
+
4. `.claude/agents/ant/*.md`
|
|
109
|
+
5. Remaining `.claude/commands/ant/*.md`
|
|
110
|
+
6. `.opencode/commands/ant/*.md` and `.opencode/agents/*.md` (for cross-surface checks)
|
|
111
|
+
7. `README.md` and `.aether/docs/*.md`
|
|
112
|
+
|
|
113
|
+
## Maintenance Rules
|
|
114
|
+
|
|
115
|
+
1. If runtime behavior changes, update command specs in the same PR.
|
|
116
|
+
2. If command specs change, update docs in the same PR.
|
|
117
|
+
3. Docs must never introduce paths/types not accepted by runtime.
|
|
118
|
+
4. Treat this file as the index of authority boundaries.
|
|
119
|
+
5. Keep `.aether/agents-claude/*.md` synchronized with `.claude/agents/ant/*.md` (enforced by `npm run lint:sync`).
|
|
120
|
+
|
|
121
|
+
## Immediate Follow-up Checklist
|
|
122
|
+
|
|
123
|
+
1. [x] Fix QUEEN path references in `.aether/docs/QUEEN-SYSTEM.md` and `.aether/docs/queen-commands.md`.
|
|
124
|
+
2. [x] Update threshold descriptions in `.aether/docs/QUEEN-SYSTEM.md` to match runtime defaults.
|
|
125
|
+
3. [x] Update root `README.md` command count (35 -> 36 -> 37 -> 40 after Phases 2, 6, 7).
|
|
126
|
+
4. [x] Update `.aether/docs/README.md` to include `command-playbooks/` and clarify docs-vs-runtime authority.
|
|
127
|
+
5. [x] Review `bootstrap-system` allowlist in `.aether/aether-utils.sh` for stale doc entries.
|
|
128
|
+
6. [x] Add agent definitions to Ownership Map and authority hierarchy.
|
|
129
|
+
7. [x] Document playbook staged Read-tool execution model.
|
|
130
|
+
8. [x] Clarify OpenCode structural parity and non-identical content status.
|
|
131
|
+
9. [x] Add template ownership and verified inventory snapshot.
|
|
132
|
+
10. [x] Clarify XML utility status in dedicated docs (`.aether/docs/xml-utilities.md`).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# XML Utilities
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Active and supported.
|
|
6
|
+
|
|
7
|
+
These utilities back XML export/import/validation flows used by runtime subcommands and by user-facing commands such as `/ant:seal`, `/ant:entomb`, and `/ant:tunnels`.
|
|
8
|
+
|
|
9
|
+
## Utility Files
|
|
10
|
+
|
|
11
|
+
- `.aether/utils/xml-utils.sh`
|
|
12
|
+
- `.aether/utils/xml-core.sh`
|
|
13
|
+
- `.aether/utils/xml-compose.sh`
|
|
14
|
+
- `.aether/utils/xml-convert.sh`
|
|
15
|
+
- `.aether/utils/xml-query.sh`
|
|
16
|
+
|
|
17
|
+
## Runtime Integration
|
|
18
|
+
|
|
19
|
+
Core XML subcommands in `.aether/aether-utils.sh`:
|
|
20
|
+
|
|
21
|
+
- `pheromone-export-xml`
|
|
22
|
+
- `pheromone-import-xml`
|
|
23
|
+
- `pheromone-validate-xml`
|
|
24
|
+
- `wisdom-export-xml`
|
|
25
|
+
- `wisdom-import-xml`
|
|
26
|
+
- `registry-export-xml`
|
|
27
|
+
- `registry-import-xml`
|
|
28
|
+
- `colony-archive-xml`
|
|
29
|
+
|
|
30
|
+
These subcommands source exchange modules:
|
|
31
|
+
|
|
32
|
+
- `.aether/exchange/pheromone-xml.sh`
|
|
33
|
+
- `.aether/exchange/wisdom-xml.sh`
|
|
34
|
+
- `.aether/exchange/registry-xml.sh`
|
|
35
|
+
|
|
36
|
+
## Schema Dependencies
|
|
37
|
+
|
|
38
|
+
- `.aether/schemas/pheromone.xsd`
|
|
39
|
+
- `.aether/schemas/queen-wisdom.xsd`
|
|
40
|
+
- `.aether/schemas/colony-registry.xsd`
|
|
41
|
+
- `.aether/schemas/aether-types.xsd`
|
|
42
|
+
|
|
43
|
+
## Operational Notes
|
|
44
|
+
|
|
45
|
+
- `xmllint` is required for validation/import/export flows that parse XML.
|
|
46
|
+
- XML features degrade gracefully when dependencies are missing, returning structured JSON errors.
|
|
47
|
+
- These utilities are included in `bootstrap-system` allowlist for recovery/update flows.
|
|
@@ -19,10 +19,11 @@ This only applies to genuinely new conversations, not after /clear.
|
|
|
19
19
|
|
|
20
20
|
## Available Commands
|
|
21
21
|
|
|
22
|
-
### Getting Started
|
|
22
|
+
### Setup & Getting Started
|
|
23
23
|
| Command | Purpose |
|
|
24
24
|
|---------|---------|
|
|
25
|
-
| `/ant:
|
|
25
|
+
| `/ant:lay-eggs` | Set up Aether in this repo (one-time, creates .aether/) |
|
|
26
|
+
| `/ant:init "<goal>"` | Start a colony with a goal |
|
|
26
27
|
| `/ant:colonize` | Analyze existing codebase |
|
|
27
28
|
| `/ant:plan` | Generate project phases |
|
|
28
29
|
| `/ant:build <phase>` | Execute a phase with parallel workers |
|
|
@@ -75,19 +76,28 @@ This only applies to genuinely new conversations, not after /clear.
|
|
|
75
76
|
## Typical Workflow
|
|
76
77
|
|
|
77
78
|
```
|
|
78
|
-
|
|
79
|
-
/ant:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
/ant:
|
|
83
|
-
/ant:
|
|
84
|
-
/ant:
|
|
85
|
-
|
|
86
|
-
/ant:
|
|
79
|
+
First time in a repo:
|
|
80
|
+
0. /ant:lay-eggs (set up Aether in this repo)
|
|
81
|
+
|
|
82
|
+
Starting a colony:
|
|
83
|
+
1. /ant:init "Build feature X" (start colony with a goal)
|
|
84
|
+
2. /ant:colonize (if existing code)
|
|
85
|
+
3. /ant:plan (generates phases)
|
|
86
|
+
4. /ant:focus "security" (optional guidance)
|
|
87
|
+
5. /ant:build 1 (workers execute phase 1)
|
|
88
|
+
6. /ant:continue (verify, learn, advance)
|
|
89
|
+
7. /ant:build 2 (repeat until complete)
|
|
90
|
+
|
|
91
|
+
After /clear or session break:
|
|
92
|
+
8. /ant:resume-colony (restore full context)
|
|
93
|
+
9. /ant:status (see where you left off)
|
|
94
|
+
|
|
95
|
+
After completing a colony:
|
|
96
|
+
10. /ant:seal (mark as complete)
|
|
97
|
+
11. /ant:entomb (archive to chambers)
|
|
98
|
+
12. /ant:init "next project goal" (start fresh colony)
|
|
87
99
|
```
|
|
88
100
|
|
|
89
|
-
After `/clear` or session break: `/ant:resume-colony` to restore context.
|
|
90
|
-
|
|
91
101
|
## Worker Castes
|
|
92
102
|
|
|
93
103
|
Workers are assigned to castes based on task type:
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Create a scaffold regression test for an incident fix.
|
|
3
|
+
# Usage:
|
|
4
|
+
# bash .aether/scripts/incident-test-add.sh <incident_id> <description> "<command>" "<expected_pattern>"
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
incident_id="${1:-}"
|
|
9
|
+
description="${2:-}"
|
|
10
|
+
command_string="${3:-}"
|
|
11
|
+
expected_pattern="${4:-}"
|
|
12
|
+
|
|
13
|
+
if [[ -z "$incident_id" || -z "$description" || -z "$command_string" || -z "$expected_pattern" ]]; then
|
|
14
|
+
echo "Usage: bash .aether/scripts/incident-test-add.sh <incident_id> <description> \"<command>\" \"<expected_pattern>\""
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
tests_dir=".aether/tests"
|
|
19
|
+
mkdir -p "$tests_dir"
|
|
20
|
+
test_file="$tests_dir/incident-${incident_id}.sh"
|
|
21
|
+
|
|
22
|
+
cat > "$test_file" <<EOF
|
|
23
|
+
#!/usr/bin/env bash
|
|
24
|
+
# Regression test for incident ${incident_id}
|
|
25
|
+
# Description: ${description}
|
|
26
|
+
|
|
27
|
+
set -euo pipefail
|
|
28
|
+
|
|
29
|
+
result=\$(bash -lc '${command_string}' 2>&1 || true)
|
|
30
|
+
|
|
31
|
+
if echo "\$result" | grep -q '${expected_pattern}'; then
|
|
32
|
+
echo "PASS: ${description}"
|
|
33
|
+
exit 0
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
echo "FAIL: Expected pattern '${expected_pattern}' not found"
|
|
37
|
+
echo ""
|
|
38
|
+
echo "Command:"
|
|
39
|
+
echo " ${command_string}"
|
|
40
|
+
echo ""
|
|
41
|
+
echo "Output:"
|
|
42
|
+
echo "\$result"
|
|
43
|
+
exit 1
|
|
44
|
+
EOF
|
|
45
|
+
|
|
46
|
+
chmod +x "$test_file"
|
|
47
|
+
echo "Created: $test_file"
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Weekly Colony Health Audit
|
|
3
|
+
# Run: bash .aether/scripts/weekly-audit.sh
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
AETHER_ROOT="${AETHER_ROOT:-$(pwd)}"
|
|
8
|
+
DATA_DIR="$AETHER_ROOT/.aether/data"
|
|
9
|
+
UTILS="$AETHER_ROOT/.aether/aether-utils.sh"
|
|
10
|
+
|
|
11
|
+
echo "# Colony Audit Report - $(date -u +%Y-%m-%d)"
|
|
12
|
+
echo ""
|
|
13
|
+
|
|
14
|
+
state_size=$(wc -c < "$DATA_DIR/COLONY_STATE.json" 2>/dev/null || echo 0)
|
|
15
|
+
pheromone_size=$(wc -c < "$DATA_DIR/pheromones.json" 2>/dev/null || echo 0)
|
|
16
|
+
observations_size=$(wc -c < "$DATA_DIR/learning-observations.json" 2>/dev/null || echo 0)
|
|
17
|
+
echo "## Memory Sizes"
|
|
18
|
+
echo "- COLONY_STATE.json: $state_size bytes"
|
|
19
|
+
echo "- pheromones.json: $pheromone_size bytes"
|
|
20
|
+
echo "- learning-observations.json: $observations_size bytes"
|
|
21
|
+
echo ""
|
|
22
|
+
|
|
23
|
+
signal_count=$(jq '.signals | length' "$DATA_DIR/pheromones.json" 2>/dev/null || echo 0)
|
|
24
|
+
expired_count=$(jq '[.signals[]? | select(.active == false)] | length' "$DATA_DIR/pheromones.json" 2>/dev/null || echo 0)
|
|
25
|
+
echo "## Pheromone Health"
|
|
26
|
+
echo "- Total signals: $signal_count"
|
|
27
|
+
echo "- Expired signals: $expired_count"
|
|
28
|
+
echo ""
|
|
29
|
+
|
|
30
|
+
spawn_eff=$(bash "$UTILS" spawn-efficiency 2>/dev/null | jq -c '.result // {}' 2>/dev/null || echo '{}')
|
|
31
|
+
total_spawned=$(echo "$spawn_eff" | jq -r '.total // 0')
|
|
32
|
+
completed_spawned=$(echo "$spawn_eff" | jq -r '.completed // 0')
|
|
33
|
+
efficiency_pct=$(echo "$spawn_eff" | jq -r '.efficiency_pct // 0')
|
|
34
|
+
echo "## Spawn Efficiency"
|
|
35
|
+
echo "- Total spawned: $total_spawned"
|
|
36
|
+
echo "- Completed: $completed_spawned"
|
|
37
|
+
echo "- Efficiency: ${efficiency_pct}%"
|
|
38
|
+
echo ""
|
|
39
|
+
|
|
40
|
+
blocker_count=$(jq '[.flags[]? | select(.type == "blocker" and (.resolved_at == null))] | length' "$DATA_DIR/flags.json" 2>/dev/null || echo 0)
|
|
41
|
+
echo "## Gate Failures"
|
|
42
|
+
echo "- Unresolved blockers: $blocker_count"
|
|
43
|
+
echo ""
|
|
44
|
+
|
|
45
|
+
if [[ -f "$DATA_DIR/midden/midden.json" ]]; then
|
|
46
|
+
oracle_avg=$(jq '
|
|
47
|
+
[
|
|
48
|
+
(.entries[]? | select(.category == "oracle") | (.iterations // 0)),
|
|
49
|
+
(.signals[]? | select(.type == "oracle") | (.iterations // 0))
|
|
50
|
+
] | flatten | if length > 0 then (add / length) else null end
|
|
51
|
+
' "$DATA_DIR/midden/midden.json" 2>/dev/null || echo "null")
|
|
52
|
+
echo "## Oracle Metrics"
|
|
53
|
+
if [[ "$oracle_avg" == "null" ]]; then
|
|
54
|
+
echo "- Average iterations: N/A"
|
|
55
|
+
else
|
|
56
|
+
echo "- Average iterations: $oracle_avg"
|
|
57
|
+
fi
|
|
58
|
+
echo ""
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
entropy=$(bash "$UTILS" entropy-score 2>/dev/null | jq -r '.result.score // "N/A"' 2>/dev/null || echo "N/A")
|
|
62
|
+
echo "## Entropy Score"
|
|
63
|
+
echo "- Current: $entropy"
|
|
64
|
+
echo "- Threshold: 75 (organize required if exceeded)"
|
|
65
|
+
echo ""
|
|
66
|
+
|
|
67
|
+
echo "## Recommendations"
|
|
68
|
+
if [[ "$efficiency_pct" =~ ^[0-9]+$ ]] && [[ "$efficiency_pct" -lt 70 ]]; then
|
|
69
|
+
echo "- [HIGH] Spawn efficiency below 70% - review worker task decomposition"
|
|
70
|
+
fi
|
|
71
|
+
if [[ "$signal_count" =~ ^[0-9]+$ ]] && [[ "$signal_count" -gt 20 ]]; then
|
|
72
|
+
echo "- [MEDIUM] High pheromone count - consider consolidation or expiry acceleration"
|
|
73
|
+
fi
|
|
74
|
+
if [[ "$blocker_count" =~ ^[0-9]+$ ]] && [[ "$blocker_count" -gt 3 ]]; then
|
|
75
|
+
echo "- [HIGH] Multiple unresolved blockers - run /ant:swarm for auto-repair"
|
|
76
|
+
fi
|
|
77
|
+
if [[ "$entropy" =~ ^[0-9]+$ ]] && [[ "$entropy" -gt 75 ]]; then
|
|
78
|
+
echo "- [CRITICAL] High entropy - run /ant:organize before next build"
|
|
79
|
+
fi
|