aether-colony 3.1.17 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/.aether/aether-utils.sh +5354 -0
  2. package/.aether/agents-claude/aether-ambassador.md +265 -0
  3. package/.aether/agents-claude/aether-archaeologist.md +327 -0
  4. package/.aether/agents-claude/aether-architect.md +236 -0
  5. package/.aether/agents-claude/aether-auditor.md +271 -0
  6. package/.aether/agents-claude/aether-builder.md +224 -0
  7. package/.aether/agents-claude/aether-chaos.md +269 -0
  8. package/.aether/agents-claude/aether-chronicler.md +305 -0
  9. package/.aether/agents-claude/aether-gatekeeper.md +330 -0
  10. package/.aether/agents-claude/aether-includer.md +374 -0
  11. package/.aether/agents-claude/aether-keeper.md +272 -0
  12. package/.aether/agents-claude/aether-measurer.md +322 -0
  13. package/.aether/agents-claude/aether-oracle.md +237 -0
  14. package/.aether/agents-claude/aether-probe.md +211 -0
  15. package/.aether/agents-claude/aether-queen.md +330 -0
  16. package/.aether/agents-claude/aether-route-setter.md +178 -0
  17. package/.aether/agents-claude/aether-sage.md +418 -0
  18. package/.aether/agents-claude/aether-scout.md +179 -0
  19. package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
  20. package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
  21. package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
  22. package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
  23. package/.aether/agents-claude/aether-tracker.md +270 -0
  24. package/.aether/agents-claude/aether-watcher.md +280 -0
  25. package/.aether/agents-claude/aether-weaver.md +248 -0
  26. package/.aether/commands/archaeology.yaml +653 -0
  27. package/.aether/commands/build.yaml +1221 -0
  28. package/.aether/commands/chaos.yaml +653 -0
  29. package/.aether/commands/colonize.yaml +438 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +304 -0
  32. package/.aether/commands/data-clean.yaml +80 -0
  33. package/.aether/commands/dream.yaml +275 -0
  34. package/.aether/commands/entomb.yaml +863 -0
  35. package/.aether/commands/export-signals.yaml +64 -0
  36. package/.aether/commands/feedback.yaml +158 -0
  37. package/.aether/commands/flag.yaml +160 -0
  38. package/.aether/commands/flags.yaml +177 -0
  39. package/.aether/commands/focus.yaml +112 -0
  40. package/.aether/commands/help.yaml +167 -0
  41. package/.aether/commands/history.yaml +137 -0
  42. package/.aether/commands/import-signals.yaml +79 -0
  43. package/.aether/commands/init.yaml +469 -0
  44. package/.aether/commands/insert-phase.yaml +98 -0
  45. package/.aether/commands/interpret.yaml +285 -0
  46. package/.aether/commands/lay-eggs.yaml +224 -0
  47. package/.aether/commands/maturity.yaml +122 -0
  48. package/.aether/commands/memory-details.yaml +74 -0
  49. package/.aether/commands/migrate-state.yaml +174 -0
  50. package/.aether/commands/oracle.yaml +1224 -0
  51. package/.aether/commands/organize.yaml +446 -0
  52. package/.aether/commands/patrol.yaml +621 -0
  53. package/.aether/commands/pause-colony.yaml +424 -0
  54. package/.aether/commands/phase.yaml +124 -0
  55. package/.aether/commands/pheromones.yaml +153 -0
  56. package/.aether/commands/plan.yaml +1313 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/redirect.yaml +123 -0
  59. package/.aether/commands/resume-colony.yaml +373 -0
  60. package/.aether/commands/resume.yaml +398 -0
  61. package/.aether/commands/run.yaml +193 -0
  62. package/.aether/commands/seal.yaml +1205 -0
  63. package/.aether/commands/skill-create.yaml +337 -0
  64. package/.aether/commands/status.yaml +364 -0
  65. package/.aether/commands/swarm.yaml +352 -0
  66. package/.aether/commands/tunnels.yaml +814 -0
  67. package/.aether/commands/update.yaml +131 -0
  68. package/.aether/commands/verify-castes.yaml +159 -0
  69. package/.aether/commands/watch.yaml +454 -0
  70. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  71. package/.aether/docs/QUEEN-SYSTEM.md +211 -0
  72. package/.aether/docs/README.md +98 -0
  73. package/.aether/docs/caste-system.md +48 -0
  74. package/.aether/docs/command-playbooks/README.md +23 -0
  75. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  76. package/.aether/docs/command-playbooks/build-context.md +282 -0
  77. package/.aether/docs/command-playbooks/build-full.md +1682 -0
  78. package/.aether/docs/command-playbooks/build-prep.md +283 -0
  79. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  80. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  81. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  82. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  83. package/.aether/docs/command-playbooks/continue-full.md +1724 -0
  84. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  85. package/.aether/docs/command-playbooks/continue-verify.md +406 -0
  86. package/.aether/docs/context-continuity.md +84 -0
  87. package/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +13 -11
  88. package/.aether/docs/error-codes.md +268 -0
  89. package/.aether/docs/known-issues.md +94 -0
  90. package/{runtime → .aether}/docs/pheromones.md +86 -6
  91. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  92. package/.aether/docs/queen-commands.md +98 -0
  93. package/.aether/docs/source-of-truth-map.md +132 -0
  94. package/.aether/docs/xml-utilities.md +47 -0
  95. package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
  96. package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
  97. package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
  98. package/.aether/rules/aether-colony.md +144 -0
  99. package/.aether/schemas/example-prompt-builder.xml +234 -0
  100. package/.aether/scripts/incident-test-add.sh +47 -0
  101. package/.aether/scripts/weekly-audit.sh +79 -0
  102. package/.aether/skills/.index.json +649 -0
  103. package/.aether/skills/colony/.manifest.json +16 -0
  104. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  105. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  106. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  107. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  108. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  109. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  110. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  111. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  112. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  113. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  114. package/.aether/skills/domain/.manifest.json +24 -0
  115. package/.aether/skills/domain/README.md +33 -0
  116. package/.aether/skills/domain/django/SKILL.md +49 -0
  117. package/.aether/skills/domain/docker/SKILL.md +52 -0
  118. package/.aether/skills/domain/golang/SKILL.md +52 -0
  119. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  120. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  121. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  122. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  123. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  124. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  125. package/.aether/skills/domain/python/SKILL.md +50 -0
  126. package/.aether/skills/domain/rails/SKILL.md +52 -0
  127. package/.aether/skills/domain/react/SKILL.md +45 -0
  128. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  129. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  130. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  131. package/.aether/skills/domain/testing/SKILL.md +53 -0
  132. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  133. package/.aether/skills/domain/vue/SKILL.md +49 -0
  134. package/.aether/templates/QUEEN.md.template +61 -0
  135. package/.aether/templates/colony-state-reset.jq.template +23 -0
  136. package/.aether/templates/colony-state.template.json +39 -0
  137. package/.aether/templates/constraints.template.json +9 -0
  138. package/.aether/templates/crowned-anthill.template.md +36 -0
  139. package/.aether/templates/handoff-build-error.template.md +30 -0
  140. package/.aether/templates/handoff-build-success.template.md +39 -0
  141. package/.aether/templates/handoff.template.md +40 -0
  142. package/.aether/templates/learning-observations.template.json +6 -0
  143. package/.aether/templates/midden.template.json +13 -0
  144. package/.aether/templates/pheromones.template.json +6 -0
  145. package/.aether/templates/session.template.json +9 -0
  146. package/{runtime → .aether}/utils/atomic-write.sh +68 -22
  147. package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
  148. package/.aether/utils/chamber-utils.sh +440 -0
  149. package/.aether/utils/emoji-audit.sh +166 -0
  150. package/{runtime → .aether}/utils/error-handler.sh +34 -8
  151. package/.aether/utils/file-lock.sh +313 -0
  152. package/.aether/utils/flag.sh +267 -0
  153. package/.aether/utils/hive.sh +572 -0
  154. package/.aether/utils/learning.sh +1928 -0
  155. package/.aether/utils/midden.sh +342 -0
  156. package/.aether/utils/oracle/oracle.md +168 -0
  157. package/.aether/utils/oracle/oracle.sh +1023 -0
  158. package/.aether/utils/pheromone.sh +2029 -0
  159. package/.aether/utils/queen.sh +1698 -0
  160. package/.aether/utils/scan.sh +860 -0
  161. package/.aether/utils/semantic-cli.sh +415 -0
  162. package/.aether/utils/session.sh +552 -0
  163. package/.aether/utils/skills.sh +509 -0
  164. package/.aether/utils/spawn-tree.sh +260 -0
  165. package/.aether/utils/spawn.sh +260 -0
  166. package/.aether/utils/state-api.sh +199 -0
  167. package/{runtime → .aether}/utils/state-loader.sh +8 -6
  168. package/.aether/utils/suggest.sh +611 -0
  169. package/{runtime → .aether}/utils/swarm-display.sh +10 -1
  170. package/.aether/utils/swarm.sh +1004 -0
  171. package/{runtime → .aether}/utils/watch-spawn-tree.sh +11 -2
  172. package/{runtime → .aether}/utils/xml-compose.sh +9 -3
  173. package/.aether/utils/xml-convert.sh +277 -0
  174. package/{runtime → .aether}/utils/xml-core.sh +5 -9
  175. package/.aether/utils/xml-query.sh +201 -0
  176. package/.aether/utils/xml-utils.sh +110 -0
  177. package/{runtime → .aether}/workers.md +97 -81
  178. package/.claude/agents/ant/aether-ambassador.md +265 -0
  179. package/.claude/agents/ant/aether-archaeologist.md +327 -0
  180. package/.claude/agents/ant/aether-architect.md +236 -0
  181. package/.claude/agents/ant/aether-auditor.md +271 -0
  182. package/.claude/agents/ant/aether-builder.md +224 -0
  183. package/.claude/agents/ant/aether-chaos.md +269 -0
  184. package/.claude/agents/ant/aether-chronicler.md +305 -0
  185. package/.claude/agents/ant/aether-gatekeeper.md +330 -0
  186. package/.claude/agents/ant/aether-includer.md +374 -0
  187. package/.claude/agents/ant/aether-keeper.md +272 -0
  188. package/.claude/agents/ant/aether-measurer.md +322 -0
  189. package/.claude/agents/ant/aether-oracle.md +237 -0
  190. package/.claude/agents/ant/aether-probe.md +211 -0
  191. package/.claude/agents/ant/aether-queen.md +330 -0
  192. package/.claude/agents/ant/aether-route-setter.md +178 -0
  193. package/.claude/agents/ant/aether-sage.md +418 -0
  194. package/.claude/agents/ant/aether-scout.md +179 -0
  195. package/.claude/agents/ant/aether-surveyor-disciplines.md +417 -0
  196. package/.claude/agents/ant/aether-surveyor-nest.md +355 -0
  197. package/.claude/agents/ant/aether-surveyor-pathogens.md +289 -0
  198. package/.claude/agents/ant/aether-surveyor-provisions.md +360 -0
  199. package/.claude/agents/ant/aether-tracker.md +270 -0
  200. package/.claude/agents/ant/aether-watcher.md +280 -0
  201. package/.claude/agents/ant/aether-weaver.md +248 -0
  202. package/.claude/commands/ant/archaeology.md +16 -14
  203. package/.claude/commands/ant/build.md +43 -1028
  204. package/.claude/commands/ant/chaos.md +19 -23
  205. package/.claude/commands/ant/colonize.md +52 -31
  206. package/.claude/commands/ant/continue.md +40 -1016
  207. package/.claude/commands/ant/council.md +21 -18
  208. package/.claude/commands/ant/data-clean.md +81 -0
  209. package/.claude/commands/ant/dream.md +27 -15
  210. package/.claude/commands/ant/entomb.md +317 -225
  211. package/.claude/commands/ant/export-signals.md +57 -0
  212. package/.claude/commands/ant/feedback.md +48 -26
  213. package/.claude/commands/ant/flag.md +30 -10
  214. package/.claude/commands/ant/flags.md +34 -12
  215. package/.claude/commands/ant/focus.md +45 -19
  216. package/.claude/commands/ant/help.md +50 -8
  217. package/.claude/commands/ant/history.md +13 -0
  218. package/.claude/commands/ant/import-signals.md +71 -0
  219. package/.claude/commands/ant/init.md +345 -194
  220. package/.claude/commands/ant/insert-phase.md +101 -0
  221. package/.claude/commands/ant/interpret.md +26 -4
  222. package/.claude/commands/ant/lay-eggs.md +184 -127
  223. package/.claude/commands/ant/maturity.md +32 -11
  224. package/.claude/commands/ant/memory-details.md +77 -0
  225. package/.claude/commands/ant/migrate-state.md +20 -2
  226. package/.claude/commands/ant/oracle.md +337 -74
  227. package/.claude/commands/ant/organize.md +39 -25
  228. package/.claude/commands/ant/patrol.md +620 -0
  229. package/.claude/commands/ant/pause-colony.md +23 -27
  230. package/.claude/commands/ant/phase.md +40 -42
  231. package/.claude/commands/ant/pheromones.md +156 -0
  232. package/.claude/commands/ant/plan.md +185 -51
  233. package/.claude/commands/ant/preferences.md +65 -0
  234. package/.claude/commands/ant/redirect.md +45 -30
  235. package/.claude/commands/ant/resume-colony.md +51 -27
  236. package/.claude/commands/ant/resume.md +314 -94
  237. package/.claude/commands/ant/run.md +195 -0
  238. package/.claude/commands/ant/seal.md +650 -221
  239. package/.claude/commands/ant/skill-create.md +286 -0
  240. package/.claude/commands/ant/status.md +196 -31
  241. package/.claude/commands/ant/swarm.md +16 -46
  242. package/.claude/commands/ant/tunnels.md +280 -105
  243. package/.claude/commands/ant/update.md +73 -89
  244. package/.claude/commands/ant/verify-castes.md +100 -42
  245. package/.claude/commands/ant/watch.md +14 -12
  246. package/.opencode/agents/aether-ambassador.md +63 -20
  247. package/.opencode/agents/aether-archaeologist.md +29 -12
  248. package/.opencode/agents/aether-architect.md +103 -36
  249. package/.opencode/agents/aether-auditor.md +51 -18
  250. package/.opencode/agents/aether-builder.md +70 -20
  251. package/.opencode/agents/aether-chaos.md +29 -12
  252. package/.opencode/agents/aether-chronicler.md +60 -18
  253. package/.opencode/agents/aether-gatekeeper.md +27 -18
  254. package/.opencode/agents/aether-includer.md +27 -18
  255. package/.opencode/agents/aether-keeper.md +89 -18
  256. package/.opencode/agents/aether-measurer.md +27 -18
  257. package/.opencode/agents/aether-oracle.md +137 -0
  258. package/.opencode/agents/aether-probe.md +60 -18
  259. package/.opencode/agents/aether-queen.md +172 -24
  260. package/.opencode/agents/aether-route-setter.md +57 -12
  261. package/.opencode/agents/aether-sage.md +26 -18
  262. package/.opencode/agents/aether-scout.md +28 -20
  263. package/.opencode/agents/aether-surveyor-disciplines.md +59 -2
  264. package/.opencode/agents/aether-surveyor-nest.md +59 -2
  265. package/.opencode/agents/aether-surveyor-pathogens.md +57 -2
  266. package/.opencode/agents/aether-surveyor-provisions.md +59 -2
  267. package/.opencode/agents/aether-tracker.md +64 -18
  268. package/.opencode/agents/aether-watcher.md +66 -19
  269. package/.opencode/agents/aether-weaver.md +61 -18
  270. package/.opencode/commands/ant/archaeology.md +7 -14
  271. package/.opencode/commands/ant/build.md +437 -257
  272. package/.opencode/commands/ant/chaos.md +7 -24
  273. package/.opencode/commands/ant/colonize.md +8 -17
  274. package/.opencode/commands/ant/continue.md +661 -142
  275. package/.opencode/commands/ant/council.md +11 -22
  276. package/.opencode/commands/ant/data-clean.md +77 -0
  277. package/.opencode/commands/ant/dream.md +15 -17
  278. package/.opencode/commands/ant/entomb.md +133 -62
  279. package/.opencode/commands/ant/export-signals.md +54 -0
  280. package/.opencode/commands/ant/feedback.md +24 -5
  281. package/.opencode/commands/ant/flag.md +16 -4
  282. package/.opencode/commands/ant/flags.md +24 -10
  283. package/.opencode/commands/ant/focus.md +22 -5
  284. package/.opencode/commands/ant/help.md +41 -8
  285. package/.opencode/commands/ant/history.md +9 -0
  286. package/.opencode/commands/ant/import-signals.md +68 -0
  287. package/.opencode/commands/ant/init.md +374 -167
  288. package/.opencode/commands/ant/insert-phase.md +107 -0
  289. package/.opencode/commands/ant/interpret.md +16 -0
  290. package/.opencode/commands/ant/lay-eggs.md +184 -112
  291. package/.opencode/commands/ant/maturity.md +18 -2
  292. package/.opencode/commands/ant/memory-details.md +83 -0
  293. package/.opencode/commands/ant/migrate-state.md +12 -0
  294. package/.opencode/commands/ant/oracle.md +322 -67
  295. package/.opencode/commands/ant/organize.md +18 -16
  296. package/.opencode/commands/ant/patrol.md +626 -0
  297. package/.opencode/commands/ant/pause-colony.md +12 -29
  298. package/.opencode/commands/ant/phase.md +30 -40
  299. package/.opencode/commands/ant/pheromones.md +162 -0
  300. package/.opencode/commands/ant/plan.md +184 -56
  301. package/.opencode/commands/ant/preferences.md +71 -0
  302. package/.opencode/commands/ant/redirect.md +22 -5
  303. package/.opencode/commands/ant/resume-colony.md +38 -27
  304. package/.opencode/commands/ant/resume.md +385 -0
  305. package/.opencode/commands/ant/run.md +201 -0
  306. package/.opencode/commands/ant/seal.md +259 -45
  307. package/.opencode/commands/ant/skill-create.md +63 -0
  308. package/.opencode/commands/ant/status.md +135 -31
  309. package/.opencode/commands/ant/swarm.md +3 -345
  310. package/.opencode/commands/ant/tunnels.md +152 -9
  311. package/.opencode/commands/ant/update.md +70 -91
  312. package/.opencode/commands/ant/verify-castes.md +96 -42
  313. package/.opencode/commands/ant/watch.md +7 -0
  314. package/CHANGELOG.md +356 -0
  315. package/README.md +203 -573
  316. package/bin/cli.js +455 -527
  317. package/bin/generate-commands.js +186 -0
  318. package/bin/generate-commands.sh +127 -88
  319. package/bin/lib/init.js +13 -3
  320. package/bin/lib/spawn-logger.js +0 -15
  321. package/bin/lib/update-transaction.js +392 -140
  322. package/bin/npx-install.js +178 -0
  323. package/bin/sync-to-runtime.sh +5 -137
  324. package/bin/validate-package.sh +166 -0
  325. package/package.json +14 -7
  326. package/.opencode/agents/aether-guardian.md +0 -107
  327. package/.opencode/agents/workers.md +0 -1034
  328. package/bin/lib/model-profiles.js +0 -445
  329. package/bin/lib/model-verify.js +0 -288
  330. package/bin/lib/proxy-health.js +0 -253
  331. package/bin/lib/telemetry.js +0 -441
  332. package/runtime/CONTEXT.md +0 -160
  333. package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
  334. package/runtime/aether-utils.sh +0 -3879
  335. package/runtime/data/signatures.json +0 -41
  336. package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
  337. package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
  338. package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
  339. package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
  340. package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
  341. package/runtime/docs/README.md +0 -94
  342. package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
  343. package/runtime/docs/biological-reference.md +0 -272
  344. package/runtime/docs/codebase-review.md +0 -399
  345. package/runtime/docs/command-sync.md +0 -164
  346. package/runtime/docs/constraints.md +0 -116
  347. package/runtime/docs/implementation-learnings.md +0 -89
  348. package/runtime/docs/known-issues.md +0 -217
  349. package/runtime/docs/namespace.md +0 -148
  350. package/runtime/docs/pathogen-schema-example.json +0 -36
  351. package/runtime/docs/pathogen-schema.md +0 -111
  352. package/runtime/docs/planning-discipline.md +0 -159
  353. package/runtime/docs/progressive-disclosure.md +0 -184
  354. package/runtime/lib/queen-utils.sh +0 -729
  355. package/runtime/model-profiles.yaml +0 -100
  356. package/runtime/planning.md +0 -159
  357. package/runtime/recover.sh +0 -136
  358. package/runtime/templates/QUEEN.md.template +0 -79
  359. package/runtime/utils/chamber-utils.sh +0 -285
  360. package/runtime/utils/file-lock.sh +0 -122
  361. package/runtime/utils/spawn-tree.sh +0 -428
  362. package/runtime/utils/spawn-with-model.sh +0 -56
  363. package/runtime/utils/xml-utils.sh +0 -2196
  364. package/runtime/workers-new-castes.md +0 -516
  365. /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
  366. /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
  367. /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
  368. /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
  369. /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
  370. /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
  371. /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
  372. /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
  373. /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
  374. /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
  375. /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
  376. /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
  377. /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
  378. /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
@@ -1,428 +0,0 @@
1
- #!/bin/bash
2
- # Spawn Tree Reconstruction Module
3
- # Parses spawn-tree.txt and provides tree traversal functions
4
- #
5
- # Usage: source .aether/utils/spawn-tree.sh
6
- # All functions output JSON to stdout
7
-
8
- # Data directory - can be overridden
9
- SPAWN_TREE_DATA_DIR="${SPAWN_TREE_DATA_DIR:-.aether/data}"
10
- SPAWN_TREE_FILE="${SPAWN_TREE_FILE:-$SPAWN_TREE_DATA_DIR/spawn-tree.txt}"
11
-
12
- # Parse spawn-tree.txt into structured data
13
- # Usage: parse_spawn_tree [file_path]
14
- # Outputs: JSON representation of all spawns
15
- parse_spawn_tree() {
16
- local file_path="${1:-$SPAWN_TREE_FILE}"
17
-
18
- # Check if file exists
19
- if [[ ! -f "$file_path" ]]; then
20
- echo '{"spawns":[],"metadata":{"total_count":0,"active_count":0,"completed_count":0,"file_exists":false}}'
21
- return 0
22
- fi
23
-
24
- # Temporary files for data storage (Bash 3.2 compatible)
25
- local tmpdir
26
- tmpdir=$(mktemp -d)
27
- local names_file="$tmpdir/names"
28
- local parents_file="$tmpdir/parents"
29
- local castes_file="$tmpdir/castes"
30
- local tasks_file="$tmpdir/tasks"
31
- local statuses_file="$tmpdir/statuses"
32
- local timestamps_file="$tmpdir/timestamps"
33
- local completed_file="$tmpdir/completed"
34
- local children_file="$tmpdir/children"
35
-
36
- touch "$names_file" "$parents_file" "$castes_file" "$tasks_file" "$statuses_file" "$timestamps_file" "$completed_file" "$children_file"
37
-
38
- # Read file line by line
39
- while IFS= read -r line || [[ -n "$line" ]]; do
40
- # Skip empty lines
41
- [[ -z "$line" ]] && continue
42
-
43
- # Count pipe separators to determine line type
44
- local pipe_count
45
- pipe_count=$(echo "$line" | tr -cd '|' | wc -c | tr -d ' ')
46
-
47
- if [[ $pipe_count -eq 6 ]]; then
48
- # Spawn event: timestamp|parent|caste|child_name|task|model|status
49
- local timestamp parent caste child_name task model spawn_status
50
- timestamp=$(echo "$line" | cut -d'|' -f1)
51
- parent=$(echo "$line" | cut -d'|' -f2)
52
- caste=$(echo "$line" | cut -d'|' -f3)
53
- child_name=$(echo "$line" | cut -d'|' -f4)
54
- task=$(echo "$line" | cut -d'|' -f5)
55
- model=$(echo "$line" | cut -d'|' -f6)
56
- spawn_status=$(echo "$line" | cut -d'|' -f7)
57
-
58
- # Add to files
59
- echo "$child_name" >> "$names_file"
60
- echo "$parent" >> "$parents_file"
61
- echo "$caste" >> "$castes_file"
62
- echo "$task" >> "$tasks_file"
63
- echo "$spawn_status" >> "$statuses_file"
64
- echo "$timestamp" >> "$timestamps_file"
65
- echo "" >> "$completed_file"
66
- echo "" >> "$children_file"
67
-
68
- elif [[ $pipe_count -eq 3 ]]; then
69
- # Completion event: timestamp|ant_name|status|summary
70
- local timestamp ant_name complete_status summary
71
- timestamp=$(echo "$line" | cut -d'|' -f1)
72
- ant_name=$(echo "$line" | cut -d'|' -f2)
73
- complete_status=$(echo "$line" | cut -d'|' -f3)
74
-
75
- # Find the ant and update its status
76
- local idx=0
77
- local found=0
78
- while IFS= read -r name; do
79
- if [[ "$name" == "$ant_name" ]]; then
80
- found=1
81
- break
82
- fi
83
- ((idx++))
84
- done < "$names_file"
85
-
86
- if [[ $found -eq 1 ]]; then
87
- # Update status at line idx+1 (sed is 1-indexed)
88
- sed -i.bak "${idx}d" "$statuses_file" 2>/dev/null || sed -i "${idx}d" "$statuses_file"
89
- sed -i.bak "${idx}i\\
90
- $complete_status" "$statuses_file" 2>/dev/null || sed -i "${idx}i\\
91
- $complete_status" "$statuses_file"
92
- sed -i.bak "${idx}d" "$completed_file" 2>/dev/null || sed -i "${idx}d" "$completed_file"
93
- sed -i.bak "${idx}i\\
94
- $timestamp" "$completed_file" 2>/dev/null || sed -i "${idx}i\\
95
- $timestamp" "$completed_file"
96
- rm -f "$statuses_file.bak" "$completed_file.bak" 2>/dev/null
97
- fi
98
- fi
99
- done < "$file_path"
100
-
101
- # Build parent-child relationships
102
- local total_count
103
- total_count=$(wc -l < "$names_file" | tr -d ' ')
104
-
105
- if [[ $total_count -gt 0 ]]; then
106
- local i
107
- for ((i = 1; i <= total_count; i++)); do
108
- local parent
109
- parent=$(sed -n "${i}p" "$parents_file")
110
-
111
- # Find parent index
112
- local parent_idx=0
113
- local found=0
114
- while IFS= read -r name; do
115
- if [[ "$name" == "$parent" ]]; then
116
- found=1
117
- break
118
- fi
119
- ((parent_idx++))
120
- done < "$names_file"
121
-
122
- if [[ $found -eq 1 ]]; then
123
- # Add child i-1 to parent's children (0-indexed)
124
- local child_idx=$((i - 1))
125
- local current_children
126
- current_children=$(sed -n "$((parent_idx + 1))p" "$children_file")
127
- if [[ -z "$current_children" ]]; then
128
- sed -i.bak "$((parent_idx + 1))d" "$children_file" 2>/dev/null || sed -i "$((parent_idx + 1))d" "$children_file"
129
- sed -i.bak "$((parent_idx + 1))i\\
130
- $child_idx" "$children_file" 2>/dev/null || sed -i "$((parent_idx + 1))i\\
131
- $child_idx" "$children_file"
132
- else
133
- sed -i.bak "$((parent_idx + 1))d" "$children_file" 2>/dev/null || sed -i "$((parent_idx + 1))d" "$children_file"
134
- sed -i.bak "$((parent_idx + 1))i\\
135
- $current_children $child_idx" "$children_file" 2>/dev/null || sed -i "$((parent_idx + 1))i\\
136
- $current_children $child_idx" "$children_file"
137
- fi
138
- rm -f "$children_file.bak" 2>/dev/null
139
- fi
140
- done
141
- fi
142
-
143
- # Count statuses
144
- local active_count=0
145
- local completed_count=0
146
- while IFS= read -r status; do
147
- if [[ "$status" == "active" || "$status" == "spawned" ]]; then
148
- ((active_count++))
149
- elif [[ "$status" == "completed" || "$status" == "failed" || "$status" == "blocked" ]]; then
150
- ((completed_count++))
151
- fi
152
- done < "$statuses_file"
153
-
154
- # Build spawns array
155
- local spawns_json="["
156
- local i
157
- for ((i = 1; i <= total_count; i++)); do
158
- if [[ $i -gt 1 ]]; then
159
- spawns_json+=","
160
- fi
161
-
162
- local name parent caste task status timestamp completed children
163
- name=$(sed -n "${i}p" "$names_file")
164
- parent=$(sed -n "${i}p" "$parents_file")
165
- caste=$(sed -n "${i}p" "$castes_file")
166
- task=$(sed -n "${i}p" "$tasks_file")
167
- status=$(sed -n "${i}p" "$statuses_file")
168
- timestamp=$(sed -n "${i}p" "$timestamps_file")
169
- completed=$(sed -n "${i}p" "$completed_file")
170
- children=$(sed -n "${i}p" "$children_file")
171
-
172
- # Build children array
173
- local children_json="["
174
- if [[ -n "$children" ]]; then
175
- local first_child=true
176
- for child_idx in $children; do
177
- if [[ "$first_child" == "true" ]]; then
178
- first_child=false
179
- else
180
- children_json+=","
181
- fi
182
- local child_name
183
- child_name=$(sed -n "$((child_idx + 1))p" "$names_file")
184
- children_json+="\"$child_name\""
185
- done
186
- fi
187
- children_json+="]"
188
-
189
- # Escape task for JSON
190
- task=$(echo "$task" | sed 's/\\/\\\\/g; s/"/\\"/g; s/\t/\\t/g')
191
-
192
- spawns_json+="{"
193
- spawns_json+="\"name\":\"$name\","
194
- spawns_json+="\"parent\":\"$parent\","
195
- spawns_json+="\"caste\":\"$caste\","
196
- spawns_json+="\"task\":\"$task\","
197
- spawns_json+="\"status\":\"$status\","
198
- spawns_json+="\"spawned_at\":\"$timestamp\","
199
- spawns_json+="\"completed_at\":\"$completed\","
200
- spawns_json+="\"children\":$children_json"
201
- spawns_json+="}"
202
- done
203
- spawns_json+="]"
204
-
205
- # Output JSON
206
- echo "{"
207
- echo " \"spawns\": $spawns_json,"
208
- echo " \"metadata\": {"
209
- echo " \"total_count\": $total_count,"
210
- echo " \"active_count\": $active_count,"
211
- echo " \"completed_count\": $completed_count,"
212
- echo " \"file_exists\": true"
213
- echo " }"
214
- echo "}"
215
-
216
- # Cleanup
217
- rm -rf "$tmpdir"
218
- }
219
-
220
- # Get spawn depth for a given ant name
221
- # Usage: get_spawn_depth <ant_name>
222
- # Returns: JSON with ant name and depth
223
- get_spawn_depth() {
224
- local ant_name="${1:-}"
225
-
226
- if [[ -z "$ant_name" || "$ant_name" == "Queen" ]]; then
227
- echo "{\"ant\":\"${ant_name:-Queen}\",\"depth\":0}"
228
- return 0
229
- fi
230
-
231
- local file_path="${SPAWN_TREE_FILE}"
232
-
233
- if [[ ! -f "$file_path" ]]; then
234
- echo "{\"ant\":\"$ant_name\",\"depth\":1,\"found\":false}"
235
- return 0
236
- fi
237
-
238
- # Check if ant exists
239
- if ! grep -q "|$ant_name|" "$file_path" 2>/dev/null; then
240
- echo "{\"ant\":\"$ant_name\",\"depth\":1,\"found\":false}"
241
- return 0
242
- fi
243
-
244
- # Calculate depth by traversing parent chain
245
- local depth=1
246
- local current="$ant_name"
247
- local safety=0
248
-
249
- while [[ $safety -lt 5 ]]; do
250
- # Find who spawned this ant
251
- local parent
252
- parent=$(grep "|$current|" "$file_path" 2>/dev/null | grep "|spawned$" | head -1 | cut -d'|' -f2 || echo "")
253
-
254
- if [[ -z "$parent" || "$parent" == "Queen" ]]; then
255
- break
256
- fi
257
-
258
- ((depth++))
259
- current="$parent"
260
- ((safety++))
261
- done
262
-
263
- echo "{\"ant\":\"$ant_name\",\"depth\":$depth,\"found\":true}"
264
- }
265
-
266
- # Get list of active spawns
267
- # Usage: get_active_spawns [file_path]
268
- # Returns: JSON array of active spawns
269
- get_active_spawns() {
270
- local file_path="${1:-$SPAWN_TREE_FILE}"
271
-
272
- if [[ ! -f "$file_path" ]]; then
273
- echo "[]"
274
- return 0
275
- fi
276
-
277
- local active_json="["
278
- local first=true
279
-
280
- # Read spawn events and check if completed
281
- while IFS= read -r line || [[ -n "$line" ]]; do
282
- [[ -z "$line" ]] && continue
283
-
284
- local pipe_count
285
- pipe_count=$(echo "$line" | tr -cd '|' | wc -c | tr -d ' ')
286
-
287
- if [[ $pipe_count -eq 6 ]]; then
288
- # Spawn event: timestamp|parent|caste|child_name|task|model|status
289
- local timestamp parent caste child_name task model spawn_status
290
- timestamp=$(echo "$line" | cut -d'|' -f1)
291
- parent=$(echo "$line" | cut -d'|' -f2)
292
- caste=$(echo "$line" | cut -d'|' -f3)
293
- child_name=$(echo "$line" | cut -d'|' -f4)
294
- task=$(echo "$line" | cut -d'|' -f5)
295
- model=$(echo "$line" | cut -d'|' -f6)
296
-
297
- # Check if this ant has a completion event
298
- local is_completed=false
299
- if grep -q "^[^|]*|$child_name|completed\|^[^|]*|$child_name|failed\|^[^|]*|$child_name|blocked" "$file_path" 2>/dev/null; then
300
- is_completed=true
301
- fi
302
-
303
- if [[ "$is_completed" == "false" ]]; then
304
- if [[ "$first" == "true" ]]; then
305
- first=false
306
- else
307
- active_json+=","
308
- fi
309
-
310
- # Escape task for JSON
311
- task=$(echo "$task" | sed 's/\\/\\\\/g; s/"/\\"/g; s/\t/\\t/g')
312
-
313
- active_json+="{"
314
- active_json+="\"name\":\"$child_name\","
315
- active_json+="\"caste\":\"$caste\","
316
- active_json+="\"parent\":\"$parent\","
317
- active_json+="\"task\":\"$task\","
318
- active_json+="\"spawned_at\":\"$timestamp\""
319
- active_json+="}"
320
- fi
321
- fi
322
- done < "$file_path"
323
-
324
- active_json+="]"
325
- echo "$active_json"
326
- }
327
-
328
- # Get direct children of a spawn
329
- # Usage: get_spawn_children <ant_name> [file_path]
330
- # Returns: JSON array of child names
331
- get_spawn_children() {
332
- local ant_name="${1:-}"
333
- local file_path="${2:-$SPAWN_TREE_FILE}"
334
-
335
- if [[ -z "$ant_name" || ! -f "$file_path" ]]; then
336
- echo "[]"
337
- return 0
338
- fi
339
-
340
- local children_json="["
341
- local first=true
342
-
343
- # Find all spawns where parent matches
344
- while IFS= read -r line || [[ -n "$line" ]]; do
345
- [[ -z "$line" ]] && continue
346
-
347
- local pipe_count
348
- pipe_count=$(echo "$line" | tr -cd '|' | wc -c | tr -d ' ')
349
-
350
- if [[ $pipe_count -eq 6 ]]; then
351
- local parent child_name
352
- parent=$(echo "$line" | cut -d'|' -f2)
353
- child_name=$(echo "$line" | cut -d'|' -f4)
354
-
355
- if [[ "$parent" == "$ant_name" ]]; then
356
- if [[ "$first" == "true" ]]; then
357
- first=false
358
- else
359
- children_json+=","
360
- fi
361
- children_json+="\"$child_name\""
362
- fi
363
- fi
364
- done < "$file_path"
365
-
366
- children_json+="]"
367
- echo "$children_json"
368
- }
369
-
370
- # Get full lineage from ant up to Queen
371
- # Usage: get_spawn_lineage <ant_name> [file_path]
372
- # Returns: JSON array from ant up to Queen (inclusive)
373
- get_spawn_lineage() {
374
- local ant_name="${1:-}"
375
- local file_path="${2:-$SPAWN_TREE_FILE}"
376
-
377
- if [[ -z "$ant_name" ]]; then
378
- echo "[]"
379
- return 0
380
- fi
381
-
382
- if [[ ! -f "$file_path" ]]; then
383
- echo "[\"$ant_name\",\"Queen\"]"
384
- return 0
385
- fi
386
-
387
- # Build lineage array (ant first, then ancestors)
388
- local lineage=""
389
- local current="$ant_name"
390
- local safety=0
391
-
392
- lineage="\"$current\""
393
-
394
- while [[ $safety -lt 5 ]]; do
395
- # Find who spawned this ant
396
- local parent
397
- parent=$(grep "|$current|" "$file_path" 2>/dev/null | grep "|spawned$" | head -1 | cut -d'|' -f2 || echo "")
398
-
399
- if [[ -z "$parent" || "$parent" == "Queen" ]]; then
400
- lineage+=",\"Queen\""
401
- break
402
- fi
403
-
404
- lineage+=",\"$parent\""
405
- current="$parent"
406
- ((safety++))
407
- done
408
-
409
- echo "[$lineage]"
410
- }
411
-
412
- # Reconstruct full tree as JSON
413
- # Usage: reconstruct_tree_json [file_path]
414
- # Returns: Complete spawn tree with metadata
415
- reconstruct_tree_json() {
416
- local file_path="${1:-$SPAWN_TREE_FILE}"
417
- parse_spawn_tree "$file_path"
418
- }
419
-
420
- # Export functions if being sourced (Bash 3.2 compatible)
421
- if [[ "${BASH_SOURCE[0]:-}" != "${0}" ]]; then
422
- export -f parse_spawn_tree 2>/dev/null || true
423
- export -f get_spawn_depth 2>/dev/null || true
424
- export -f get_active_spawns 2>/dev/null || true
425
- export -f get_spawn_children 2>/dev/null || true
426
- export -f get_spawn_lineage 2>/dev/null || true
427
- export -f reconstruct_tree_json 2>/dev/null || true
428
- fi
@@ -1,56 +0,0 @@
1
- #!/bin/bash
2
- # Aether Colony Spawn Helper with Model Assignment
3
- # Usage: spawn-with-model.sh <caste> <task_description> [project_root]
4
- #
5
- # This script sets up the correct environment variables for model routing
6
- # through the LiteLLM proxy before spawning Claude Code.
7
-
8
- set -euo pipefail
9
-
10
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
- AETHER_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
12
-
13
- # Arguments
14
- CASTE="${1:-}"
15
- TASK="${2:-}"
16
- PROJECT_ROOT="${3:-$AETHER_ROOT}"
17
-
18
- # Validate arguments
19
- [[ -z "$CASTE" ]] && { echo "Usage: spawn-with-model.sh <caste> <task_description> [project_root]" >&2; exit 1; }
20
- [[ -z "$TASK" ]] && { echo "Usage: spawn-with-model.sh <caste> <task_description> [project_root]" >&2; exit 1; }
21
-
22
- # Get model for this caste
23
- model_info=$(bash "$AETHER_ROOT/.aether/aether-utils.sh" model-profile get "$CASTE" 2>/dev/null || echo '{"ok":true,"result":{"model":"kimi-k2.5"}}')
24
- model=$(echo "$model_info" | jq -r '.result.model // "kimi-k2.5"')
25
-
26
- # Log the spawn with model
27
- ant_name=$(bash "$AETHER_ROOT/.aether/aether-utils.sh" generate-ant-name "$CASTE" 2>/dev/null || echo "${CASTE}-$(date +%s)")
28
- bash "$AETHER_ROOT/.aether/aether-utils.sh" spawn-log "Queen" "$CASTE" "$ant_name" "$TASK" 2>/dev/null || true
29
- bash "$AETHER_ROOT/.aether/aether-utils.sh" activity-log "SPAWN" "$ant_name ($CASTE)" "Model: $model - $TASK" 2>/dev/null || true
30
-
31
- # Export environment for Claude Code
32
- export ANTHROPIC_BASE_URL="${ANTHROPIC_BASE_URL:-http://localhost:4000}"
33
- export ANTHROPIC_AUTH_TOKEN="${ANTHROPIC_AUTH_TOKEN:-sk-litellm-local}"
34
- export ANTHROPIC_MODEL="$model"
35
-
36
- echo "[$(date '+%H:%M:%S')] Spawning $ant_name ($CASTE) with model: $model"
37
- echo " Task: $TASK"
38
- echo " Project: $PROJECT_ROOT"
39
-
40
- # Check proxy health
41
- if curl -s http://localhost:4000/health | grep -q "healthy" 2>/dev/null; then
42
- echo " Proxy: healthy"
43
- else
44
- echo " Proxy: unavailable (will use default routing)"
45
- fi
46
-
47
- # Start Claude Code with the environment set
48
- # Note: This assumes claude is in PATH
49
- if command -v claude &> /dev/null; then
50
- claude --cwd "$PROJECT_ROOT"
51
- else
52
- echo "Claude Code not found in PATH. Environment prepared:"
53
- echo " ANTHROPIC_BASE_URL=$ANTHROPIC_BASE_URL"
54
- echo " ANTHROPIC_MODEL=$ANTHROPIC_MODEL"
55
- exit 0
56
- fi