aether-colony 3.1.17 → 5.0.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.
Files changed (183) hide show
  1. package/{runtime → .aether}/CONTEXT.md +1 -1
  2. package/{runtime → .aether}/aether-utils.sh +1772 -98
  3. package/.aether/docs/QUEEN-SYSTEM.md +211 -0
  4. package/.aether/docs/QUEEN.md +84 -0
  5. package/.aether/docs/README.md +68 -0
  6. package/.aether/docs/caste-system.md +48 -0
  7. package/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +8 -8
  8. package/.aether/docs/error-codes.md +268 -0
  9. package/{runtime → .aether}/docs/known-issues.md +42 -26
  10. package/.aether/docs/queen-commands.md +97 -0
  11. package/.aether/exchange/colony-registry.xml +11 -0
  12. package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
  13. package/.aether/exchange/pheromones.xml +87 -0
  14. package/.aether/exchange/queen-wisdom.xml +14 -0
  15. package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
  16. package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
  17. package/.aether/rules/aether-colony.md +134 -0
  18. package/.aether/schemas/example-prompt-builder.xml +234 -0
  19. package/.aether/templates/colony-state-reset.jq.template +22 -0
  20. package/.aether/templates/colony-state.template.json +35 -0
  21. package/.aether/templates/constraints.template.json +9 -0
  22. package/.aether/templates/crowned-anthill.template.md +36 -0
  23. package/.aether/templates/handoff-build-error.template.md +30 -0
  24. package/.aether/templates/handoff-build-success.template.md +39 -0
  25. package/.aether/templates/handoff.template.md +40 -0
  26. package/{runtime → .aether}/utils/atomic-write.sh +5 -5
  27. package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
  28. package/{runtime → .aether}/utils/chamber-utils.sh +32 -20
  29. package/{runtime → .aether}/utils/error-handler.sh +13 -1
  30. package/{runtime → .aether}/utils/file-lock.sh +49 -13
  31. package/.aether/utils/semantic-cli.sh +413 -0
  32. package/{runtime → .aether}/utils/xml-compose.sh +7 -1
  33. package/.aether/utils/xml-convert.sh +273 -0
  34. package/.aether/utils/xml-query.sh +201 -0
  35. package/.aether/utils/xml-utils.sh +110 -0
  36. package/{runtime → .aether}/workers.md +14 -17
  37. package/.claude/agents/ant/aether-ambassador.md +264 -0
  38. package/.claude/agents/ant/aether-archaeologist.md +322 -0
  39. package/.claude/agents/ant/aether-auditor.md +266 -0
  40. package/.claude/agents/ant/aether-builder.md +187 -0
  41. package/.claude/agents/ant/aether-chaos.md +268 -0
  42. package/.claude/agents/ant/aether-chronicler.md +304 -0
  43. package/.claude/agents/ant/aether-gatekeeper.md +325 -0
  44. package/.claude/agents/ant/aether-includer.md +373 -0
  45. package/.claude/agents/ant/aether-keeper.md +271 -0
  46. package/.claude/agents/ant/aether-measurer.md +317 -0
  47. package/.claude/agents/ant/aether-probe.md +210 -0
  48. package/.claude/agents/ant/aether-queen.md +325 -0
  49. package/.claude/agents/ant/aether-route-setter.md +173 -0
  50. package/.claude/agents/ant/aether-sage.md +353 -0
  51. package/.claude/agents/ant/aether-scout.md +142 -0
  52. package/.claude/agents/ant/aether-surveyor-disciplines.md +416 -0
  53. package/.claude/agents/ant/aether-surveyor-nest.md +354 -0
  54. package/.claude/agents/ant/aether-surveyor-pathogens.md +288 -0
  55. package/.claude/agents/ant/aether-surveyor-provisions.md +359 -0
  56. package/.claude/agents/ant/aether-tracker.md +265 -0
  57. package/.claude/agents/ant/aether-watcher.md +244 -0
  58. package/.claude/agents/ant/aether-weaver.md +247 -0
  59. package/.claude/commands/ant/archaeology.md +16 -7
  60. package/.claude/commands/ant/build.md +415 -284
  61. package/.claude/commands/ant/chaos.md +19 -10
  62. package/.claude/commands/ant/colonize.md +58 -24
  63. package/.claude/commands/ant/continue.md +155 -145
  64. package/.claude/commands/ant/council.md +15 -5
  65. package/.claude/commands/ant/dream.md +16 -7
  66. package/.claude/commands/ant/entomb.md +274 -157
  67. package/.claude/commands/ant/feedback.md +33 -29
  68. package/.claude/commands/ant/flag.md +18 -10
  69. package/.claude/commands/ant/flags.md +14 -6
  70. package/.claude/commands/ant/focus.md +29 -21
  71. package/.claude/commands/ant/help.md +11 -1
  72. package/.claude/commands/ant/history.md +10 -0
  73. package/.claude/commands/ant/init.md +91 -65
  74. package/.claude/commands/ant/interpret.md +15 -4
  75. package/.claude/commands/ant/lay-eggs.md +55 -7
  76. package/.claude/commands/ant/maturity.md +11 -1
  77. package/.claude/commands/ant/migrate-state.md +14 -2
  78. package/.claude/commands/ant/oracle.md +23 -15
  79. package/.claude/commands/ant/organize.md +29 -20
  80. package/.claude/commands/ant/pause-colony.md +17 -7
  81. package/.claude/commands/ant/phase.md +17 -8
  82. package/.claude/commands/ant/plan.md +20 -9
  83. package/.claude/commands/ant/redirect.md +29 -32
  84. package/.claude/commands/ant/resume-colony.md +19 -9
  85. package/.claude/commands/ant/resume.md +272 -96
  86. package/.claude/commands/ant/seal.md +201 -191
  87. package/.claude/commands/ant/status.md +71 -32
  88. package/.claude/commands/ant/swarm.md +26 -44
  89. package/.claude/commands/ant/tunnels.md +279 -105
  90. package/.claude/commands/ant/update.md +81 -20
  91. package/.claude/commands/ant/verify-castes.md +14 -4
  92. package/.claude/commands/ant/watch.md +13 -12
  93. package/.opencode/agents/aether-ambassador.md +63 -20
  94. package/.opencode/agents/aether-archaeologist.md +29 -12
  95. package/.opencode/agents/aether-auditor.md +51 -18
  96. package/.opencode/agents/aether-builder.md +69 -19
  97. package/.opencode/agents/aether-chaos.md +29 -12
  98. package/.opencode/agents/aether-chronicler.md +60 -18
  99. package/.opencode/agents/aether-gatekeeper.md +27 -18
  100. package/.opencode/agents/aether-includer.md +27 -18
  101. package/.opencode/agents/aether-keeper.md +89 -18
  102. package/.opencode/agents/aether-measurer.md +27 -18
  103. package/.opencode/agents/aether-probe.md +60 -18
  104. package/.opencode/agents/aether-queen.md +172 -24
  105. package/.opencode/agents/aether-route-setter.md +57 -12
  106. package/.opencode/agents/aether-sage.md +26 -18
  107. package/.opencode/agents/aether-scout.md +27 -19
  108. package/.opencode/agents/aether-surveyor-disciplines.md +53 -1
  109. package/.opencode/agents/aether-surveyor-nest.md +53 -1
  110. package/.opencode/agents/aether-surveyor-pathogens.md +51 -1
  111. package/.opencode/agents/aether-surveyor-provisions.md +53 -1
  112. package/.opencode/agents/aether-tracker.md +64 -18
  113. package/.opencode/agents/aether-watcher.md +66 -19
  114. package/.opencode/agents/aether-weaver.md +61 -18
  115. package/.opencode/commands/ant/build.md +406 -192
  116. package/.opencode/commands/ant/continue.md +66 -76
  117. package/.opencode/commands/ant/entomb.md +106 -45
  118. package/.opencode/commands/ant/init.md +46 -48
  119. package/.opencode/commands/ant/organize.md +5 -5
  120. package/.opencode/commands/ant/resume.md +334 -0
  121. package/.opencode/commands/ant/seal.md +33 -24
  122. package/.opencode/commands/ant/status.md +11 -0
  123. package/.opencode/commands/ant/tunnels.md +149 -0
  124. package/.opencode/commands/ant/update.md +59 -16
  125. package/CHANGELOG.md +79 -0
  126. package/README.md +135 -353
  127. package/bin/cli.js +243 -122
  128. package/bin/generate-commands.sh +2 -2
  129. package/bin/lib/init.js +13 -3
  130. package/bin/lib/update-transaction.js +119 -117
  131. package/bin/sync-to-runtime.sh +5 -137
  132. package/bin/validate-package.sh +84 -0
  133. package/package.json +9 -6
  134. package/.opencode/agents/aether-architect.md +0 -66
  135. package/.opencode/agents/aether-guardian.md +0 -107
  136. package/.opencode/agents/workers.md +0 -1034
  137. package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
  138. package/runtime/data/signatures.json +0 -41
  139. package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
  140. package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
  141. package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
  142. package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
  143. package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
  144. package/runtime/docs/README.md +0 -94
  145. package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
  146. package/runtime/docs/biological-reference.md +0 -272
  147. package/runtime/docs/codebase-review.md +0 -399
  148. package/runtime/docs/command-sync.md +0 -164
  149. package/runtime/docs/constraints.md +0 -116
  150. package/runtime/docs/implementation-learnings.md +0 -89
  151. package/runtime/docs/namespace.md +0 -148
  152. package/runtime/docs/pathogen-schema-example.json +0 -36
  153. package/runtime/docs/pathogen-schema.md +0 -111
  154. package/runtime/docs/planning-discipline.md +0 -159
  155. package/runtime/docs/progressive-disclosure.md +0 -184
  156. package/runtime/lib/queen-utils.sh +0 -729
  157. package/runtime/planning.md +0 -159
  158. package/runtime/recover.sh +0 -136
  159. package/runtime/utils/xml-utils.sh +0 -2196
  160. package/runtime/workers-new-castes.md +0 -516
  161. /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
  162. /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
  163. /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
  164. /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
  165. /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
  166. /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
  167. /package/{runtime → .aether}/docs/pheromones.md +0 -0
  168. /package/{runtime → .aether}/model-profiles.yaml +0 -0
  169. /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
  170. /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
  171. /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
  172. /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
  173. /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
  174. /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
  175. /package/{runtime → .aether}/templates/QUEEN.md.template +0 -0
  176. /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
  177. /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
  178. /package/{runtime → .aether}/utils/spawn-tree.sh +0 -0
  179. /package/{runtime → .aether}/utils/spawn-with-model.sh +0 -0
  180. /package/{runtime → .aether}/utils/state-loader.sh +0 -0
  181. /package/{runtime → .aether}/utils/swarm-display.sh +0 -0
  182. /package/{runtime → .aether}/utils/watch-spawn-tree.sh +0 -0
  183. /package/{runtime → .aether}/utils/xml-core.sh +0 -0
@@ -28,7 +28,20 @@ Stop here. Do not proceed.
28
28
 
29
29
  Read the `version` field — this is the **available version**.
30
30
 
31
- ### Step 2: Check Current Version
31
+ ### Step 2: Check Pending State and Current Version
32
+
33
+ First, check for a pending sentinel using the Bash tool:
34
+
35
+ ```bash
36
+ test -f .aether/.update-pending && echo "PENDING" || echo "CLEAN"
37
+ ```
38
+
39
+ If output is "PENDING":
40
+ - Output: `Detected incomplete update, re-syncing...`
41
+ - Run using the Bash tool: `rm -f .aether/.update-pending`
42
+ - Skip the version comparison entirely — proceed directly to Step 3.
43
+
44
+ If output is "CLEAN":
32
45
 
33
46
  Use the Read tool to read `.aether/version.json`.
34
47
 
@@ -38,7 +51,7 @@ Otherwise, read the `version` field — this is the **current version**.
38
51
  If current version equals available version, output:
39
52
 
40
53
  ```
41
- Already up-to-date (v{version}).
54
+ Already up to date (v{version}).
42
55
 
43
56
  System files and commands match the global hub.
44
57
  Colony data (.aether/data/) is always untouched by updates.
@@ -46,21 +59,46 @@ Colony data (.aether/data/) is always untouched by updates.
46
59
 
47
60
  Stop here. Do not proceed.
48
61
 
49
- ### Step 3: Bootstrap System Files
62
+ ### Step 3: Sync System Files from Hub
50
63
 
51
- If `.aether/aether-utils.sh` does not exist yet (new repo that predates the hub), copy it from the hub first:
52
- ```
53
- cp ~/.aether/system/aether-utils.sh .aether/aether-utils.sh && chmod +x .aether/aether-utils.sh
64
+ The hub stores all system files at `~/.aether/system/`.
65
+
66
+ Run ONE bash command that syncs everything:
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"
54
81
  ```
55
82
 
56
- Then run using the Bash tool:
83
+ Colony data (`.aether/data/`) is never touched.
84
+
85
+ If any sync step fails, output:
57
86
  ```
58
- bash .aether/aether-utils.sh bootstrap-system
87
+ Update couldn't finish — some files didn't copy. Run /ant:update again to retry.
59
88
  ```
60
89
 
61
- This copies system files (docs, utils, aether-utils.sh) from `~/.aether/system/` into `.aether/` using an explicit allowlist. Colony data is never touched.
90
+ ### Step 3.5: Sync Rules to .claude/rules/
62
91
 
63
- Parse the JSON output to get the count of copied files.
92
+ Rules files teach Claude Code about the colony system. Sync them from the hub:
93
+
94
+ ```bash
95
+ # Sync rules if hub has them
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
101
+ ```
64
102
 
65
103
  ### Step 4: Sync Commands (with orphan cleanup)
66
104
 
@@ -71,29 +109,29 @@ For each directory pair, run using the Bash tool:
71
109
  ```bash
72
110
  # Sync Claude commands
73
111
  mkdir -p .claude/commands/ant
74
- cp -R ~/.aether/commands/claude/* .claude/commands/ant/ 2>/dev/null
112
+ cp -R ~/.aether/system/commands/claude/* .claude/commands/ant/ 2>/dev/null
75
113
  # Remove orphans: files in dest that aren't in hub
76
114
  comm -23 \
77
115
  <(cd .claude/commands/ant && find . -type f ! -name '.*' | sort) \
78
- <(cd ~/.aether/commands/claude && find . -type f ! -name '.*' | sort) \
116
+ <(cd ~/.aether/system/commands/claude && find . -type f ! -name '.*' | sort) \
79
117
  | while read f; do rm ".claude/commands/ant/$f" && echo " removed stale: .claude/commands/ant/$f"; done
80
118
  echo "claude: done"
81
119
 
82
120
  # Sync OpenCode commands
83
121
  mkdir -p .opencode/commands/ant
84
- cp -R ~/.aether/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
122
+ cp -R ~/.aether/system/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
85
123
  comm -23 \
86
124
  <(cd .opencode/commands/ant && find . -type f ! -name '.*' | sort) \
87
- <(cd ~/.aether/commands/opencode && find . -type f ! -name '.*' | sort) \
125
+ <(cd ~/.aether/system/commands/opencode && find . -type f ! -name '.*' | sort) \
88
126
  | while read f; do rm ".opencode/commands/ant/$f" && echo " removed stale: .opencode/commands/ant/$f"; done
89
127
  echo "opencode: done"
90
128
 
91
129
  # Sync agents
92
130
  mkdir -p .opencode/agents
93
- cp -R ~/.aether/agents/* .opencode/agents/ 2>/dev/null
131
+ cp -R ~/.aether/system/agents/* .opencode/agents/ 2>/dev/null
94
132
  comm -23 \
95
133
  <(cd .opencode/agents && find . -type f ! -name '.*' | sort) \
96
- <(cd ~/.aether/agents && find . -type f ! -name '.*' | sort) \
134
+ <(cd ~/.aether/system/agents && find . -type f ! -name '.*' | sort) \
97
135
  | while read f; do rm ".opencode/agents/$f" && echo " removed stale: .opencode/agents/$f"; done
98
136
  echo "agents: done"
99
137
  ```
@@ -117,6 +155,11 @@ Then use the Write tool to write `.aether/version.json`:
117
155
  }
118
156
  ```
119
157
 
158
+ Then delete any leftover pending sentinel (update is now complete) using the Bash tool:
159
+ ```bash
160
+ rm -f .aether/.update-pending
161
+ ```
162
+
120
163
  ### Step 6: Display Summary
121
164
 
122
165
  Output:
package/CHANGELOG.md CHANGED
@@ -5,6 +5,85 @@ All notable changes to the Aether Colony project will be documented in this file
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [Unreleased]
9
+
10
+ ### Changed
11
+ - README updated to v5.0.0
12
+
13
+ ---
14
+
15
+ ## v5.0.0 — Worker Emergence (2026-02-20)
16
+
17
+ **Major milestone:** Every ant caste is now a real Claude Code subagent. 22 agents ship through the hub, ready for resolution via the Task tool.
18
+
19
+ ### Added
20
+ - **22 Claude Code subagents**: Every ant caste is now a first-class subagent resolvable via the Task tool
21
+ - Core: Builder, Watcher
22
+ - Orchestration: Queen, Scout, Route-Setter, 4 Surveyors (nest, disciplines, pathogens, provisions)
23
+ - Specialists: Keeper, Tracker, Probe, Weaver, Auditor
24
+ - Niche: Chaos, Archaeologist, Gatekeeper, Includer, Measurer, Sage, Ambassador, Chronicler
25
+ - **Agent distribution pipeline**: `npm install -g .` syncs agents to hub at `~/.aether/system/agents-claude/`, `aether update` delivers to target repos
26
+ - **6 AVA tests for agent quality**: Frontmatter validation, tool restrictions, naming conventions, content standards
27
+ - **repo-structure.md**: Quick re-orientation guide for the codebase
28
+
29
+ ### Fixed
30
+ - **Bash line wrapping bug**: Fixed 58 instances across 7 command files where description text was inside code blocks causing "with: command not found" errors
31
+ - **Lint regression test**: CLEAN-03 test scans both Claude and OpenCode command directories
32
+
33
+ ### Changed
34
+ - **.aether/docs/ curated**: 8 keepers at root, 6 archived for reference
35
+ - **README.md updated**: Action-oriented tone, v5.0 agent capabilities featured, caste table by tier
36
+ - **ROADMAP.md and STATE.md**: v5.0 marked shipped, all 31 phases complete at 100%
37
+
38
+ ### Phases Shipped
39
+ - **Phase 27**: Distribution Infrastructure + First Core Agents (4 plans)
40
+ - **Phase 28**: Orchestration Layer + Surveyor Variants (3 plans)
41
+ - **Phase 29**: Specialist Agents + Agent Tests (3 plans)
42
+ - **Phase 30**: Niche Agents (3 plans)
43
+ - **Phase 31**: Integration Verification + Cleanup (3 plans)
44
+
45
+ ---
46
+
47
+ ### Removed
48
+ - Old planning phases 10-19 archived to docs/plans/ (completed phases)
49
+ - Orphaned worktree salvage files moved to docs/worktree-salvage/
50
+
51
+ ---
52
+
53
+ ## v4.0.0 -- Distribution Simplification
54
+
55
+ **Breaking change:** The `runtime/` staging directory has been removed. The npm package now reads directly from `.aether/`, with private directories (data/, dreams/, oracle/, etc.) excluded by `.aether/.npmignore`.
56
+
57
+ ### Changed
58
+ - `.aether/` is now directly included in the npm package (private dirs excluded by `.aether/.npmignore`)
59
+ - `bin/validate-package.sh` replaces `bin/sync-to-runtime.sh` — validates required files, no copying
60
+ - Hub sync uses exclude-based approach instead of triplicate 59-62 file allowlists
61
+ - Pre-commit hook repurposed for validation (no more runtime/ sync)
62
+ - `aether update` uses `syncAetherToRepo` (exclude-based) for all system file distribution
63
+ - All three distribution paths (system files, commands, agents) unified in `setupHub()`
64
+
65
+ ### Removed
66
+ - `runtime/` staging directory — eliminated entirely
67
+ - `bin/sync-to-runtime.sh` — replaced by validation-only script
68
+ - `SYSTEM_FILES` allowlist arrays in cli.js and update-transaction.js
69
+ - `copySystemFiles()` and `syncSystemFilesWithCleanup()` functions
70
+
71
+ ### Added
72
+ - `bin/validate-package.sh` — pre-packaging validation with `--dry-run` mode
73
+ - Private data exposure guard — blocks packaging if .npmignore doesn't cover private dirs
74
+ - Migration message for users upgrading from v3.x
75
+ - `npm pack --dry-run` recommended for verifying package contents
76
+
77
+ ### Fixed
78
+ - ISSUE-004: Template path hardcoded to runtime/ — resolved by eliminating runtime/ entirely
79
+
80
+ ### Migration
81
+ - Run `npm install -g aether-colony` to get v4.0
82
+ - Your colony state and data are unaffected
83
+ - The only change is how the package is built — distributed content is identical
84
+
85
+ ---
86
+
8
87
  ## [3.1.5] - 2026-02-15
9
88
 
10
89
  ### Fixed