aether-colony 5.0.0 → 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 +3150 -3349
- 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 +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 +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/.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/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 +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 +10 -8
- package/.aether/utils/session.sh +552 -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 +199 -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 +1 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +9 -16
- 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 +316 -191
- package/.claude/commands/ant/insert-phase.md +101 -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 +175 -52
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +34 -20
- package/.claude/commands/ant/resume.md +51 -7
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +497 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +127 -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 +8 -17
- package/.opencode/commands/ant/continue.md +595 -66
- 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 +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 +365 -156
- 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 +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 +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 +71 -20
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +124 -31
- 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 +278 -1
- package/README.md +188 -340
- 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 +7 -3
- 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
|
@@ -1,168 +1,104 @@
|
|
|
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...":
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
test -f ~/.aether/version.json && cat ~/.aether/version.json || echo "__NO_HUB__"
|
|
24
|
+
```
|
|
13
25
|
|
|
14
|
-
If
|
|
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
45
|
```bash
|
|
36
|
-
|
|
46
|
+
command -v aether >/dev/null 2>&1 && echo "__CLI_OK__" || echo "__CLI_MISSING__"
|
|
37
47
|
```
|
|
38
48
|
|
|
39
|
-
If output is
|
|
40
|
-
- Output: `Detected incomplete update, re-syncing...`
|
|
41
|
-
- Run using the Bash tool with description "Clearing incomplete update sentinel...": `rm -f .aether/.update-pending`
|
|
42
|
-
- Skip the version comparison entirely — proceed directly to Step 3.
|
|
43
|
-
|
|
44
|
-
If output is "CLEAN":
|
|
45
|
-
|
|
46
|
-
Use the Read tool to read `.aether/version.json`.
|
|
47
|
-
|
|
48
|
-
If the file does not exist, set current version to "unknown".
|
|
49
|
-
Otherwise, read the `version` field — this is the **current version**.
|
|
50
|
-
|
|
51
|
-
If current version equals available version, output:
|
|
49
|
+
If output is `__CLI_MISSING__`, display:
|
|
52
50
|
|
|
53
51
|
```
|
|
54
|
-
|
|
52
|
+
The transactional updater is not available because the `aether` CLI is missing.
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
Install/update it, then retry:
|
|
55
|
+
npx aether-colony install
|
|
56
|
+
- or -
|
|
57
|
+
npm i -g aether-colony
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Stop here.
|
|
61
|
-
|
|
62
|
-
### Step 3: Sync System Files from Hub
|
|
60
|
+
Stop here.
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Run ONE bash command with description "Syncing colony system files...":
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
mkdir -p .aether/docs .aether/utils .aether/templates .aether/schemas .aether/exchange && \
|
|
70
|
-
cp -f ~/.aether/system/aether-utils.sh .aether/ && \
|
|
71
|
-
cp -f ~/.aether/system/workers.md .aether/ 2>/dev/null || true && \
|
|
72
|
-
cp -f ~/.aether/system/CONTEXT.md .aether/ 2>/dev/null || true && \
|
|
73
|
-
cp -f ~/.aether/system/model-profiles.yaml .aether/ 2>/dev/null || true && \
|
|
74
|
-
cp -Rf ~/.aether/system/docs/* .aether/docs/ 2>/dev/null || true && \
|
|
75
|
-
cp -Rf ~/.aether/system/utils/* .aether/utils/ 2>/dev/null || true && \
|
|
76
|
-
cp -Rf ~/.aether/system/templates/* .aether/templates/ 2>/dev/null || true && \
|
|
77
|
-
cp -Rf ~/.aether/system/schemas/* .aether/schemas/ 2>/dev/null || true && \
|
|
78
|
-
cp -Rf ~/.aether/system/exchange/* .aether/exchange/ 2>/dev/null || true && \
|
|
79
|
-
chmod +x .aether/aether-utils.sh && \
|
|
80
|
-
echo "System files synced"
|
|
81
|
-
```
|
|
62
|
+
### Step 2: Parse Force Flag
|
|
82
63
|
|
|
83
|
-
|
|
64
|
+
Treat either of these as force:
|
|
65
|
+
- `--force`
|
|
66
|
+
- `--force-update`
|
|
84
67
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```
|
|
68
|
+
Set:
|
|
69
|
+
- `update_flags="--force"` when force requested
|
|
70
|
+
- `update_flags=""` otherwise
|
|
89
71
|
|
|
90
|
-
### Step 3
|
|
72
|
+
### Step 3: Dry-Run Preview
|
|
91
73
|
|
|
92
|
-
|
|
74
|
+
Run using the Bash tool with description "Previewing update...":
|
|
93
75
|
|
|
94
76
|
```bash
|
|
95
|
-
|
|
96
|
-
if [ -d ~/.aether/system/rules ]; then
|
|
97
|
-
mkdir -p .claude/rules
|
|
98
|
-
cp -Rf ~/.aether/system/rules/* .claude/rules/ 2>/dev/null || true
|
|
99
|
-
echo "Rules synced"
|
|
100
|
-
fi
|
|
77
|
+
aether update --dry-run $update_flags
|
|
101
78
|
```
|
|
102
79
|
|
|
103
|
-
|
|
80
|
+
If this fails, show the error output and stop.
|
|
104
81
|
|
|
105
|
-
|
|
82
|
+
### Step 4: Execute Transactional Update
|
|
106
83
|
|
|
107
|
-
|
|
84
|
+
Run using the Bash tool with description "Applying update...":
|
|
108
85
|
|
|
109
86
|
```bash
|
|
110
|
-
|
|
111
|
-
mkdir -p .claude/commands/ant
|
|
112
|
-
cp -R ~/.aether/system/commands/claude/* .claude/commands/ant/ 2>/dev/null
|
|
113
|
-
# Remove orphans: files in dest that aren't in hub
|
|
114
|
-
comm -23 \
|
|
115
|
-
<(cd .claude/commands/ant && find . -type f ! -name '.*' | sort) \
|
|
116
|
-
<(cd ~/.aether/system/commands/claude && find . -type f ! -name '.*' | sort) \
|
|
117
|
-
| while read f; do rm ".claude/commands/ant/$f" && echo " removed stale: .claude/commands/ant/$f"; done
|
|
118
|
-
echo "claude: done"
|
|
119
|
-
|
|
120
|
-
# Sync OpenCode commands
|
|
121
|
-
mkdir -p .opencode/commands/ant
|
|
122
|
-
cp -R ~/.aether/system/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
|
|
123
|
-
comm -23 \
|
|
124
|
-
<(cd .opencode/commands/ant && find . -type f ! -name '.*' | sort) \
|
|
125
|
-
<(cd ~/.aether/system/commands/opencode && find . -type f ! -name '.*' | sort) \
|
|
126
|
-
| while read f; do rm ".opencode/commands/ant/$f" && echo " removed stale: .opencode/commands/ant/$f"; done
|
|
127
|
-
echo "opencode: done"
|
|
128
|
-
|
|
129
|
-
# Sync agents
|
|
130
|
-
mkdir -p .opencode/agents
|
|
131
|
-
cp -R ~/.aether/system/agents/* .opencode/agents/ 2>/dev/null
|
|
132
|
-
comm -23 \
|
|
133
|
-
<(cd .opencode/agents && find . -type f ! -name '.*' | sort) \
|
|
134
|
-
<(cd ~/.aether/system/agents && find . -type f ! -name '.*' | sort) \
|
|
135
|
-
| while read f; do rm ".opencode/agents/$f" && echo " removed stale: .opencode/agents/$f"; done
|
|
136
|
-
echo "agents: done"
|
|
87
|
+
aether update $update_flags
|
|
137
88
|
```
|
|
138
89
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
bash .aether/aether-utils.sh registry-add "$(pwd)" "{available_version}"
|
|
146
|
-
```
|
|
90
|
+
This command handles:
|
|
91
|
+
- checkpoint creation
|
|
92
|
+
- safe sync
|
|
93
|
+
- integrity verification
|
|
94
|
+
- automatic rollback on failure
|
|
147
95
|
|
|
148
|
-
|
|
96
|
+
### Step 5: Clear Version Cache
|
|
149
97
|
|
|
150
|
-
Then use the Write tool to write `.aether/version.json`:
|
|
151
|
-
```json
|
|
152
|
-
{
|
|
153
|
-
"version": "{available_version}",
|
|
154
|
-
"updated_at": "{ISO-8601 timestamp}"
|
|
155
|
-
}
|
|
156
|
-
```
|
|
157
98
|
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
rm -f .aether/.update-pending
|
|
161
|
-
```
|
|
99
|
+
Run using the Bash tool:
|
|
162
100
|
|
|
163
|
-
### Step 5.5: Clear Version Cache
|
|
164
101
|
|
|
165
|
-
Clear the version check cache so the next command sees the fresh version:
|
|
166
102
|
|
|
167
103
|
```bash
|
|
168
104
|
rm -f .aether/data/.version-check-cache
|
|
@@ -170,40 +106,27 @@ rm -f .aether/data/.version-check-cache
|
|
|
170
106
|
|
|
171
107
|
### Step 6: Display Summary
|
|
172
108
|
|
|
173
|
-
|
|
109
|
+
Display a concise summary:
|
|
174
110
|
|
|
175
111
|
```
|
|
176
|
-
🔄🐜📦🐜🔄
|
|
177
|
-
A E T H E R U P D A T E
|
|
178
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄🐜📦🐜🔄
|
|
179
|
-
|
|
180
|
-
Updated: v{current_version} -> v{available_version}
|
|
181
|
-
|
|
182
|
-
System files: {N} updated
|
|
183
|
-
Commands: synced from hub
|
|
184
|
-
Agents: synced from hub
|
|
185
|
-
{if stale files were removed:}
|
|
186
|
-
Stale files removed: {count}
|
|
187
|
-
{list each removed file}
|
|
188
|
-
{end if}
|
|
112
|
+
🔄🐜📦🐜🔄 AETHER UPDATE COMPLETE
|
|
189
113
|
|
|
114
|
+
Hub version label: {available_version}
|
|
115
|
+
Update mode: {normal|force}
|
|
190
116
|
Colony data (.aether/data/) untouched.
|
|
191
|
-
Repo registered in ~/.aether/registry.json.
|
|
192
|
-
```
|
|
193
117
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
The CLI version (`aether update`) performs the same sync-with-cleanup and also supports:
|
|
118
|
+
Note: version labels are treated as identifiers, not strict upgrade/downgrade ordering.
|
|
119
|
+
```
|
|
197
120
|
|
|
198
|
-
- `--dry-run` — Preview what would change without modifying any files
|
|
199
|
-
- `--force` — Stash uncommitted changes in managed files and proceed with the update
|
|
200
121
|
|
|
201
122
|
### Next Up
|
|
202
123
|
|
|
203
|
-
Generate the state-based Next Up block by running
|
|
124
|
+
Generate the state-based Next Up block by running:
|
|
125
|
+
|
|
204
126
|
```bash
|
|
205
127
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
206
128
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
207
129
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
208
130
|
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
209
131
|
```
|
|
132
|
+
|
|
@@ -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,72 +8,113 @@ 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
|
|
|
64
|
+
|
|
34
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"`
|
|
35
66
|
|
|
67
|
+
|
|
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
|
|
69
|
-
|
|
70
|
-
Note: Model-per-caste routing was attempted but is not
|
|
71
|
-
possible with Claude Code's Task tool (no env var support).
|
|
72
|
-
See archived config: .aether/archive/model-routing/
|
|
73
|
-
Tag: model-routing-v1-archived
|
|
113
|
+
Castes: 24 defined (10 opus, 11 sonnet, 3 inherit)
|
|
114
|
+
Routing: Per-caste via agent frontmatter model: field
|
|
74
115
|
```
|
|
75
116
|
|
|
117
|
+
|
|
76
118
|
## Step 5: Next Up
|
|
77
119
|
|
|
78
120
|
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
@@ -83,13 +125,19 @@ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
|
83
125
|
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
84
126
|
```
|
|
85
127
|
|
|
128
|
+
|
|
86
129
|
## Historical Note
|
|
87
130
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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.
|
|
91
139
|
|
|
92
|
-
To view the archived configuration:
|
|
140
|
+
To view the archived v1 configuration:
|
|
93
141
|
```bash
|
|
94
142
|
git show model-routing-v1-archived
|
|
95
143
|
```
|
|
@@ -130,7 +130,7 @@ secrets_check: "no literals in tracked files"
|
|
|
130
130
|
### Global Protected Paths (never write to these)
|
|
131
131
|
- `.aether/dreams/` — Dream journal; user's private notes
|
|
132
132
|
- `.env*` — Environment secrets (never write API keys here — instruct user)
|
|
133
|
-
- `.
|
|
133
|
+
- `.opencode/settings.json` — Hook configuration
|
|
134
134
|
- `.github/workflows/` — CI configuration
|
|
135
135
|
|
|
136
136
|
### Ambassador-Specific Boundaries
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aether-architect
|
|
3
|
+
description: "Use this agent when designing system architecture, creating design documents, or evaluating structural tradeoffs. Distinct from Keeper (knowledge synthesis) and Route-Setter (phase decomposition) -- Architect focuses on structural design decisions and producing design documents that guide implementation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are an **Architect Ant** in the Aether Colony. You are the colony's designer -- when the colony needs to build something complex, you design the approach before workers start. Unlike Keeper (synthesizes knowledge) and Route-Setter (decomposes into phases), you create design documents that define structure, boundaries, and implementation approach.
|
|
7
|
+
|
|
8
|
+
## Activity Logging
|
|
9
|
+
|
|
10
|
+
Log design progress as you work:
|
|
11
|
+
```bash
|
|
12
|
+
bash .aether/aether-utils.sh activity-log "ACTION" "{your_name} (Architect)" "description"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Actions: ANALYZING, DESIGNING, EVALUATING, WRITING, ERROR
|
|
16
|
+
|
|
17
|
+
## Your Role
|
|
18
|
+
|
|
19
|
+
As Architect, you:
|
|
20
|
+
1. Design system architecture and component structure
|
|
21
|
+
2. Create design documents that guide Builder implementation
|
|
22
|
+
3. Evaluate structural tradeoffs and recommend approaches
|
|
23
|
+
4. Translate Oracle research findings into actionable design
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
### Design Mode (Default)
|
|
28
|
+
|
|
29
|
+
1. **Analyze context** - Read codebase, Oracle research findings, existing patterns, colony state
|
|
30
|
+
2. **Identify architectural boundaries** - Map component responsibilities, data flow, interfaces
|
|
31
|
+
3. **Design approach** - Define component structure, data flow, interfaces, implementation approach
|
|
32
|
+
4. **Write design document** - Write to `.aether/data/research/architect-{phase_id}.md`
|
|
33
|
+
5. **Return structured JSON** - Include file path for downstream workers
|
|
34
|
+
|
|
35
|
+
### Evaluate Mode
|
|
36
|
+
|
|
37
|
+
When asked to evaluate existing architecture:
|
|
38
|
+
1. **Read existing architecture** - Analyze current structure and patterns
|
|
39
|
+
2. **Analyze tradeoffs** - Evaluate strengths, weaknesses, risks
|
|
40
|
+
3. **Report recommendations** - Return structured analysis (read-only)
|
|
41
|
+
|
|
42
|
+
## Design Tools
|
|
43
|
+
|
|
44
|
+
Use these tools for design work:
|
|
45
|
+
- `Grep` - Search file contents for patterns
|
|
46
|
+
- `Glob` - Find files by name patterns
|
|
47
|
+
- `Read` - Read file contents
|
|
48
|
+
- `Bash` - Execute commands for file system investigation
|
|
49
|
+
|
|
50
|
+
## Spawning
|
|
51
|
+
|
|
52
|
+
You MAY spawn another architect for parallel design domains:
|
|
53
|
+
```bash
|
|
54
|
+
bash .aether/aether-utils.sh spawn-can-spawn {your_depth} --enforce
|
|
55
|
+
bash .aether/aether-utils.sh generate-ant-name "architect"
|
|
56
|
+
bash .aether/aether-utils.sh spawn-log "{your_name}" "architect" "{child_name}" "{design_task}"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Output Format
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"ant_name": "{your name}",
|
|
64
|
+
"caste": "architect",
|
|
65
|
+
"status": "completed" | "failed" | "blocked",
|
|
66
|
+
"summary": "What you designed and why",
|
|
67
|
+
"design_decisions": [
|
|
68
|
+
{
|
|
69
|
+
"decision": "Specific structural choice made",
|
|
70
|
+
"rationale": "Why this approach was chosen",
|
|
71
|
+
"alternatives_considered": ["What else was evaluated"],
|
|
72
|
+
"tradeoffs": "What this approach makes harder"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"design_output_path": ".aether/data/research/architect-{phase_id}.md",
|
|
76
|
+
"recommendations_for_workers": [
|
|
77
|
+
"What builders should know before implementing"
|
|
78
|
+
],
|
|
79
|
+
"signals_acknowledged": ["List of FOCUS/REDIRECT/FEEDBACK signals observed"],
|
|
80
|
+
"spawns": []
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
<failure_modes>
|
|
85
|
+
## Failure Handling
|
|
86
|
+
|
|
87
|
+
**Minor** (retry once): Can't find relevant code -> broaden search, check alternate directories. Existing pattern unclear -> read more files to triangulate.
|
|
88
|
+
|
|
89
|
+
**Major** (STOP): Design conflicts with a REDIRECT signal. Design requires user decision between fundamentally different approaches. 2 retries exhausted.
|
|
90
|
+
|
|
91
|
+
**Never produce abstract designs.** Every decision must name a concrete pattern, file location, or interface.
|
|
92
|
+
</failure_modes>
|
|
93
|
+
|
|
94
|
+
<success_criteria>
|
|
95
|
+
## Success Verification
|
|
96
|
+
|
|
97
|
+
**Self-check:** Design document written and readable. Decisions are specific (concrete patterns, file locations). Respects existing patterns unless explicitly diverging with rationale. Signals acknowledged in return JSON. Output matches schema.
|
|
98
|
+
|
|
99
|
+
**Completion report must include:** design decisions count, design output path, signals observed, existing patterns followed, patterns introduced with rationale.
|
|
100
|
+
</success_criteria>
|
|
101
|
+
|
|
102
|
+
<pheromone_protocol>
|
|
103
|
+
## Pheromone Signal Response Protocol
|
|
104
|
+
|
|
105
|
+
Your spawn context may include colony guidance signals.
|
|
106
|
+
|
|
107
|
+
**REDIRECT (HARD CONSTRAINTS):** Do not include redirected patterns in any component or recommendation. Design around redirected failures.
|
|
108
|
+
|
|
109
|
+
**FOCUS (Priority):** Allocate more design depth to FOCUS areas -- detailed component specs, interface definitions, implementation notes.
|
|
110
|
+
|
|
111
|
+
**FEEDBACK (Calibration):** Consider when making design tradeoffs. Note deviations with rationale.
|
|
112
|
+
|
|
113
|
+
Acknowledge observed signals in your return JSON summary.
|
|
114
|
+
</pheromone_protocol>
|
|
115
|
+
|
|
116
|
+
<boundaries>
|
|
117
|
+
## Boundary Declarations
|
|
118
|
+
|
|
119
|
+
### Global Protected Paths (never write to these)
|
|
120
|
+
- `.aether/dreams/` -- Dream journal
|
|
121
|
+
- `.env*` -- Environment secrets
|
|
122
|
+
- `.opencode/settings.json` -- Hook configuration
|
|
123
|
+
- `.github/workflows/` -- CI configuration
|
|
124
|
+
|
|
125
|
+
### Architect-Specific Boundaries
|
|
126
|
+
- **DO write to `.aether/data/research/`** -- Designated output directory for design documents
|
|
127
|
+
- **Do NOT modify COLONY_STATE.json, source code, or test files**
|
|
128
|
+
- **Do NOT modify pheromones.json**
|
|
129
|
+
|
|
130
|
+
### Architect IS Permitted To
|
|
131
|
+
- Read any file, search codebase, execute commands for investigation
|
|
132
|
+
- Write design documents to `.aether/data/research/`
|
|
133
|
+
</boundaries>
|
|
@@ -85,7 +85,7 @@ You MAY spawn if you encounter genuine surprise:
|
|
|
85
85
|
|
|
86
86
|
**Before spawning:**
|
|
87
87
|
```bash
|
|
88
|
-
bash .aether/aether-utils.sh spawn-can-spawn {your_depth}
|
|
88
|
+
bash .aether/aether-utils.sh spawn-can-spawn {your_depth} --enforce
|
|
89
89
|
bash .aether/aether-utils.sh generate-ant-name "{caste}"
|
|
90
90
|
bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{task}"
|
|
91
91
|
```
|
|
@@ -124,7 +124,7 @@ bash .aether/aether-utils.sh spawn-log "{your_name}" "{caste}" "{child_name}" "{
|
|
|
124
124
|
- **Test fails unexpectedly**: Check dependency setup and environment, retry; if still failing → investigate root cause before attempting a fix
|
|
125
125
|
|
|
126
126
|
### Major Failures (STOP immediately — do not proceed)
|
|
127
|
-
- **Protected path in write target**: STOP. Never write to `.aether/data/`, `.aether/dreams/`, `.env*`, `.
|
|
127
|
+
- **Protected path in write target**: STOP. Never write to `.aether/data/`, `.aether/dreams/`, `.env*`, `.opencode/settings.json`. Log and escalate.
|
|
128
128
|
- **State corruption risk detected**: STOP. Do not write partial output. Escalate with what was attempted.
|
|
129
129
|
- **2 retries exhausted on minor failure**: Promote to major. STOP and escalate.
|
|
130
130
|
- **3-Fix Rule triggered**: If 3 attempted fixes fail on a bug, STOP and escalate with architectural concern — you may be misunderstanding the root cause. The 2-attempt retry limit applies to individual task failures (file not found, command error); the 3-Fix Rule applies to the debugging cycle itself.
|
|
@@ -173,7 +173,7 @@ Your work is reviewed by Watcher. Output is not final until Watcher approves. If
|
|
|
173
173
|
### Global Protected Paths (never write to these)
|
|
174
174
|
- `.aether/dreams/` — Dream journal; user's private notes
|
|
175
175
|
- `.env*` — Environment secrets
|
|
176
|
-
- `.
|
|
176
|
+
- `.opencode/settings.json` — Hook configuration
|
|
177
177
|
- `.github/workflows/` — CI configuration
|
|
178
178
|
|
|
179
179
|
### Builder-Specific Boundaries
|