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
@@ -0,0 +1,178 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * npx-install.js — Professional installer for Aether Colony
5
+ *
6
+ * Usage: npx aether-colony install
7
+ *
8
+ * Creates the global hub at ~/.aether/ with all system files,
9
+ * slash commands, and agent definitions.
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+ const os = require('os');
15
+
16
+ const BANNER = `
17
+ █████╗ ███████╗████████╗██╗ ██╗███████╗██████╗
18
+ ██╔══██╗██╔════╝╚══██╔══╝██║ ██║██╔════╝██╔══██╗
19
+ ███████║█████╗ ██║ ███████║█████╗ ██████╔╝
20
+ ██╔══██║██╔══╝ ██║ ██╔══██║██╔══╝ ██╔══██╗
21
+ ██║ ██║███████╗ ██║ ██║ ██║███████╗██║ ██║
22
+ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
23
+ `;
24
+
25
+ const AETHER_VERSION = require('../package.json').version;
26
+ const HOME_DIR = os.homedir();
27
+ const HUB_DIR = path.join(HOME_DIR, '.aether');
28
+ const CLAUDE_COMMANDS_DIR = path.join(HOME_DIR, '.claude', 'commands', 'ant');
29
+ const CLAUDE_AGENTS_DIR = path.join(HOME_DIR, '.claude', 'agents', 'ant');
30
+
31
+ // Get the package root (where this script is located)
32
+ const PACKAGE_ROOT = path.resolve(__dirname, '..');
33
+ const AETHER_SRC = path.join(PACKAGE_ROOT, '.aether');
34
+ const CLAUDE_COMMANDS_SRC = path.join(PACKAGE_ROOT, '.claude', 'commands', 'ant');
35
+ const OPENCODE_AGENTS_SRC = path.join(PACKAGE_ROOT, '.opencode', 'agents');
36
+ const OPENCODE_COMMANDS_SRC = path.join(PACKAGE_ROOT, '.opencode', 'commands', 'ant');
37
+
38
+ function log(message, type = 'info') {
39
+ const icons = {
40
+ info: 'ℹ',
41
+ success: '✓',
42
+ warning: '⚠',
43
+ error: '✗',
44
+ ant: '🐜'
45
+ };
46
+ console.log(`${icons[type] || '•'} ${message}`);
47
+ }
48
+
49
+ function ensureDir(dir) {
50
+ if (!fs.existsSync(dir)) {
51
+ fs.mkdirSync(dir, { recursive: true });
52
+ return true;
53
+ }
54
+ return false;
55
+ }
56
+
57
+ function copyDir(src, dest, options = {}) {
58
+ const { exclude = [] } = options;
59
+ ensureDir(dest);
60
+
61
+ const entries = fs.readdirSync(src, { withFileTypes: true });
62
+ let copied = 0;
63
+
64
+ for (const entry of entries) {
65
+ const srcPath = path.join(src, entry.name);
66
+ const destPath = path.join(dest, entry.name);
67
+
68
+ // Skip excluded directories
69
+ if (exclude.includes(entry.name)) {
70
+ continue;
71
+ }
72
+
73
+ if (entry.isDirectory()) {
74
+ copied += copyDir(srcPath, destPath, options);
75
+ } else {
76
+ fs.copyFileSync(srcPath, destPath);
77
+ copied++;
78
+ }
79
+ }
80
+
81
+ return copied;
82
+ }
83
+
84
+ function copyFile(src, dest) {
85
+ const destDir = path.dirname(dest);
86
+ ensureDir(destDir);
87
+ fs.copyFileSync(src, dest);
88
+ }
89
+
90
+ function install() {
91
+ console.log(BANNER);
92
+ console.log('\n');
93
+
94
+ let filesCopied = 0;
95
+
96
+ // Step 1: Create hub directory structure
97
+ log('Creating hub directory structure...', 'ant');
98
+ const hubDirs = [
99
+ path.join(HUB_DIR, 'system'),
100
+ path.join(HUB_DIR, 'system', 'docs'),
101
+ path.join(HUB_DIR, 'system', 'utils'),
102
+ path.join(HUB_DIR, 'system', 'templates'),
103
+ path.join(HUB_DIR, 'system', 'schemas'),
104
+ path.join(HUB_DIR, 'system', 'exchange'),
105
+ path.join(HUB_DIR, 'system', 'rules'),
106
+ path.join(HUB_DIR, 'data'),
107
+ path.join(HUB_DIR, 'chambers')
108
+ ];
109
+
110
+ for (const dir of hubDirs) {
111
+ if (ensureDir(dir)) {
112
+ log(` Created ${path.relative(HOME_DIR, dir)}`, 'info');
113
+ }
114
+ }
115
+
116
+ // Step 2: Copy system files from .aether/
117
+ log('Copying system files to hub...', 'ant');
118
+ if (fs.existsSync(AETHER_SRC)) {
119
+ // Private directories to exclude
120
+ const excludeDirs = ['data', 'dreams', 'oracle', 'checkpoints', 'locks', 'temp', 'archive', 'chambers'];
121
+ filesCopied += copyDir(AETHER_SRC, path.join(HUB_DIR, 'system'), { exclude: excludeDirs });
122
+ log(` Copied ${filesCopied} files from .aether/`, 'success');
123
+ } else {
124
+ log(' Warning: .aether/ source not found', 'warning');
125
+ }
126
+
127
+ // Step 3: Copy Claude Code commands
128
+ log('Installing Claude Code commands...', 'ant');
129
+ if (fs.existsSync(CLAUDE_COMMANDS_SRC)) {
130
+ const cmdCount = copyDir(CLAUDE_COMMANDS_SRC, CLAUDE_COMMANDS_DIR);
131
+ log(` Installed ${cmdCount} slash commands to ~/.claude/commands/ant/`, 'success');
132
+ filesCopied += cmdCount;
133
+ }
134
+
135
+ // Step 4: Copy Claude Code agents (from OpenCode agents)
136
+ log('Installing Claude Code agents...', 'ant');
137
+ if (fs.existsSync(OPENCODE_AGENTS_SRC)) {
138
+ const agentCount = copyDir(OPENCODE_AGENTS_SRC, CLAUDE_AGENTS_DIR);
139
+ log(` Installed ${agentCount} agents to ~/.claude/agents/ant/`, 'success');
140
+ filesCopied += agentCount;
141
+ }
142
+
143
+ // Step 5: Write version file
144
+ const versionData = {
145
+ version: AETHER_VERSION,
146
+ installed_at: new Date().toISOString(),
147
+ package_root: PACKAGE_ROOT
148
+ };
149
+ fs.writeFileSync(
150
+ path.join(HUB_DIR, 'version.json'),
151
+ JSON.stringify(versionData, null, 2)
152
+ );
153
+ log(' Version info written', 'success');
154
+
155
+ // Step 6: Create global QUEEN.md if missing
156
+ const globalQueen = path.join(HUB_DIR, 'QUEEN.md');
157
+ if (!fs.existsSync(globalQueen)) {
158
+ const queenTemplate = path.join(HUB_DIR, 'system', 'templates', 'QUEEN.md.template');
159
+ if (fs.existsSync(queenTemplate)) {
160
+ let content = fs.readFileSync(queenTemplate, 'utf8');
161
+ content = content.replace(/{TIMESTAMP}/g, new Date().toISOString());
162
+ fs.writeFileSync(globalQueen, content);
163
+ log(' Created global QUEEN.md', 'success');
164
+ }
165
+ }
166
+
167
+ // Summary
168
+ console.log('\n ─────────────────────────────────────────────\n');
169
+ log(`Installation complete! ${filesCopied} files installed.`, 'success');
170
+ console.log('\n Next steps:\n');
171
+ console.log(' 1. Run /ant:init "your goal" in any project');
172
+ console.log(' 2. Use /ant:build to execute phases');
173
+ console.log(' 3. Run /ant:help for command reference\n');
174
+ console.log(' ─────────────────────────────────────────────\n');
175
+ }
176
+
177
+ // Run installer
178
+ install();
@@ -1,138 +1,6 @@
1
1
  #!/bin/bash
2
- # sync-to-runtime.sh — Copies allowlisted system files from .aether/ to runtime/
3
- #
4
- # Purpose: In the Aether repo, .aether/ is the source of truth for system files.
5
- # This script syncs those files INTO runtime/ (the npm staging directory)
6
- # so that `npm install -g .` packages the latest versions.
7
- #
8
- # Usage: bash bin/sync-to-runtime.sh [--reverse]
9
- # --reverse Copy FROM runtime/ TO .aether/ (one-time seed operation)
10
- #
11
- # This script is safe to run multiple times (idempotent).
12
- # It only copies allowlisted files — it never deletes extras in runtime/.
13
-
14
- set -e
15
-
16
- # Resolve repo root (one level up from bin/)
17
- REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
18
- AETHER_DIR="$REPO_ROOT/.aether"
19
- RUNTIME_DIR="$REPO_ROOT/runtime"
20
-
21
- # Allowlist: these are the system files that sync between .aether/ and runtime/
22
- # Must match the SYSTEM_FILES array in bin/lib/update-transaction.js
23
- SYSTEM_FILES=(
24
- "aether-utils.sh"
25
- "coding-standards.md"
26
- "debugging.md"
27
- "DISCIPLINES.md"
28
- "learning.md"
29
- "planning.md"
30
- "QUEEN_ANT_ARCHITECTURE.md"
31
- "tdd.md"
32
- "verification-loop.md"
33
- "verification.md"
34
- "workers.md"
35
- "workers-new-castes.md"
36
- "CONTEXT.md"
37
- "model-profiles.yaml"
38
- "recover.sh"
39
- "docs/biological-reference.md"
40
- "docs/command-sync.md"
41
- "docs/constraints.md"
42
- "docs/namespace.md"
43
- "docs/pathogen-schema-example.json"
44
- "docs/pathogen-schema.md"
45
- "docs/PHEROMONE-INJECTION.md"
46
- "docs/PHEROMONE-INTEGRATION.md"
47
- "docs/PHEROMONE-SYSTEM-DESIGN.md"
48
- "docs/pheromones.md"
49
- "docs/progressive-disclosure.md"
50
- "docs/README.md"
51
- "docs/VISUAL-OUTPUT-SPEC.md"
52
- "docs/known-issues.md"
53
- "docs/implementation-learnings.md"
54
- "docs/codebase-review.md"
55
- "docs/planning-discipline.md"
56
- "utils/atomic-write.sh"
57
- "utils/chamber-compare.sh"
58
- "utils/chamber-utils.sh"
59
- "utils/colorize-log.sh"
60
- "utils/error-handler.sh"
61
- "utils/file-lock.sh"
62
- "utils/spawn-tree.sh"
63
- "utils/spawn-with-model.sh"
64
- "utils/state-loader.sh"
65
- "utils/swarm-display.sh"
66
- "utils/watch-spawn-tree.sh"
67
- "utils/xml-utils.sh"
68
- "utils/xml-core.sh"
69
- "utils/xml-compose.sh"
70
- "utils/queen-to-md.xsl"
71
- "exchange/pheromone-xml.sh"
72
- "exchange/wisdom-xml.sh"
73
- "exchange/registry-xml.sh"
74
- "schemas/aether-types.xsd"
75
- "schemas/pheromone.xsd"
76
- "schemas/queen-wisdom.xsd"
77
- "schemas/colony-registry.xsd"
78
- "schemas/worker-priming.xsd"
79
- "schemas/prompt.xsd"
80
- "templates/QUEEN.md.template"
81
- )
82
-
83
- # Determine direction
84
- REVERSE=false
85
- if [ "${1:-}" = "--reverse" ]; then
86
- REVERSE=true
87
- fi
88
-
89
- if [ "$REVERSE" = true ]; then
90
- SRC_DIR="$RUNTIME_DIR"
91
- DST_DIR="$AETHER_DIR"
92
- LABEL="runtime/ -> .aether/ (seeding)"
93
- else
94
- SRC_DIR="$AETHER_DIR"
95
- DST_DIR="$RUNTIME_DIR"
96
- LABEL=".aether/ -> runtime/ (staging)"
97
- fi
98
-
99
- # Check source directory exists
100
- if [ ! -d "$SRC_DIR" ]; then
101
- # Silently exit if source doesn't exist (e.g. installed from npm, no .aether/)
102
- exit 0
103
- fi
104
-
105
- copied=0
106
- skipped=0
107
-
108
- for file in "${SYSTEM_FILES[@]}"; do
109
- src="$SRC_DIR/$file"
110
- dst="$DST_DIR/$file"
111
-
112
- # Skip if source file doesn't exist
113
- if [ ! -f "$src" ]; then
114
- continue
115
- fi
116
-
117
- # Create destination directory if needed
118
- dst_dir="$(dirname "$dst")"
119
- mkdir -p "$dst_dir"
120
-
121
- # Skip if files are identical (compare hashes)
122
- if [ -f "$dst" ]; then
123
- src_hash=$(shasum -a 256 "$src" 2>/dev/null | cut -d' ' -f1)
124
- dst_hash=$(shasum -a 256 "$dst" 2>/dev/null | cut -d' ' -f1)
125
- if [ "$src_hash" = "$dst_hash" ]; then
126
- skipped=$((skipped + 1))
127
- continue
128
- fi
129
- fi
130
-
131
- cp "$src" "$dst"
132
- copied=$((copied + 1))
133
- done
134
-
135
- # Only print output if not running in quiet mode (npm postinstall suppresses)
136
- if [ -t 1 ] || [ "${VERBOSE:-}" = "1" ]; then
137
- echo "Sync ($LABEL): $copied copied, $skipped unchanged"
138
- fi
2
+ # sync-to-runtime.sh — DEPRECATED (v4.0)
3
+ # runtime/ staging was eliminated in v4.0. .aether/ is packaged directly.
4
+ # This script exists only for CI backward compatibility.
5
+ echo "runtime/ sync skipped deprecated in v4.0 (direct .aether/ packaging)"
6
+ exit 0
@@ -0,0 +1,166 @@
1
+ #!/bin/bash
2
+ # validate-package.sh — Pre-packaging validation for aether-colony npm package
3
+ #
4
+ # Purpose: Replaces sync-to-runtime.sh (removed in v4.0). Instead of copying files
5
+ # to a staging directory, this script validates that .aether/ is ready for
6
+ # direct packaging: required files exist, private directories are excluded.
7
+ #
8
+ # Usage: bash bin/validate-package.sh [--dry-run]
9
+ # --dry-run Run npm pack --dry-run to show what would be published
10
+ #
11
+ # This script is safe to run multiple times (idempotent).
12
+
13
+ set -euo pipefail
14
+
15
+ # Resolve paths relative to script location
16
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
17
+ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
18
+ AETHER_DIR="$(cd "$SCRIPT_DIR/../.aether" && pwd)"
19
+
20
+ # --dry-run mode: delegate to npm pack and exit
21
+ if [ "${1:-}" = "--dry-run" ]; then
22
+ cd "$REPO_ROOT"
23
+ npm pack --dry-run 2>&1
24
+ exit 0
25
+ fi
26
+
27
+ # Required files that must exist in .aether/ before packaging
28
+ REQUIRED_FILES=(
29
+ "aether-utils.sh"
30
+ "workers.md"
31
+ "docs/README.md"
32
+ "utils/atomic-write.sh"
33
+ "utils/error-handler.sh"
34
+ # Domain modules extracted in Phase 13
35
+ "utils/pheromone.sh"
36
+ "utils/learning.sh"
37
+ "utils/state-api.sh"
38
+ "utils/flag.sh"
39
+ "utils/session.sh"
40
+ "utils/spawn.sh"
41
+ "utils/queen.sh"
42
+ "utils/suggest.sh"
43
+ "utils/swarm.sh"
44
+ # Skills system (v2.0)
45
+ "utils/skills.sh"
46
+ # Hive and midden modules
47
+ "utils/hive.sh"
48
+ "utils/midden.sh"
49
+ # Skills manifests
50
+ "skills/.index.json"
51
+ "skills/colony/.manifest.json"
52
+ "skills/domain/.manifest.json"
53
+ "utils/file-lock.sh"
54
+ "templates/QUEEN.md.template"
55
+ "templates/colony-state.template.json"
56
+ "templates/constraints.template.json"
57
+ "templates/colony-state-reset.jq.template"
58
+ "templates/crowned-anthill.template.md"
59
+ "templates/handoff.template.md"
60
+ "templates/handoff-build-error.template.md"
61
+ "templates/handoff-build-success.template.md"
62
+ "templates/session.template.json"
63
+ "templates/pheromones.template.json"
64
+ "templates/midden.template.json"
65
+ "templates/learning-observations.template.json"
66
+ "rules/aether-colony.md"
67
+ )
68
+
69
+ # Verify required files exist
70
+ for file in "${REQUIRED_FILES[@]}"; do
71
+ if [ ! -f "$AETHER_DIR/$file" ]; then
72
+ echo "ERROR: Required file missing from .aether/: $file" >&2
73
+ echo " Run this from the Aether repo root after editing .aether/ files." >&2
74
+ exit 1
75
+ fi
76
+ done
77
+
78
+ # Private directories that must never be published
79
+ PRIVATE_DIRS=(
80
+ "data"
81
+ "dreams"
82
+ "oracle"
83
+ "checkpoints"
84
+ "locks"
85
+ "temp"
86
+ "archive"
87
+ "chambers"
88
+ )
89
+
90
+ # .aether/.npmignore is the effective ignore file for the .aether/ subdirectory.
91
+ # npm-packlist reads subdirectory .npmignore files when walking included directories.
92
+ AETHER_NPMIGNORE="$AETHER_DIR/.npmignore"
93
+
94
+ # Verify each private directory is excluded in .aether/.npmignore (hard block)
95
+ for dir in "${PRIVATE_DIRS[@]}"; do
96
+ if [ -d "$AETHER_DIR/$dir" ]; then
97
+ if ! grep -qF "$dir/" "$AETHER_NPMIGNORE" 2>/dev/null; then
98
+ echo "ERROR: Private directory .aether/$dir/ exists but is NOT excluded in .aether/.npmignore" >&2
99
+ echo " Add '$dir/' to .aether/.npmignore to prevent publishing private data." >&2
100
+ exit 1
101
+ fi
102
+ fi
103
+ done
104
+
105
+ # Content-aware checks: verify specific files are excluded from the package
106
+ cd "$REPO_ROOT"
107
+ PACK_LIST=$(npm pack --dry-run 2>&1)
108
+
109
+ # Check 1: QUEEN.md must not be in the package (template and docs versions are fine)
110
+ if echo "$PACK_LIST" | grep -qE '\.aether/QUEEN\.md$'; then
111
+ echo "ERROR: .aether/QUEEN.md would be included in package" >&2
112
+ echo " QUEEN.md should be created from template during install, not shipped." >&2
113
+ echo " Add 'QUEEN.md' to .aether/.npmignore" >&2
114
+ exit 1
115
+ fi
116
+
117
+ # Check 2: No temp files in .aether/
118
+ if echo "$PACK_LIST" | grep -qE '\.aether/.*\.tmp'; then
119
+ echo "ERROR: Temp files would be included in package:" >&2
120
+ echo "$PACK_LIST" | grep -E '\.aether/.*\.tmp' >&2
121
+ echo " Delete temp files or add '*.tmp*' to .aether/.npmignore" >&2
122
+ exit 1
123
+ fi
124
+
125
+ # Check 3: CONTEXT.md must not be in the package
126
+ if echo "$PACK_LIST" | grep -qE '\.aether/CONTEXT\.md'; then
127
+ echo "ERROR: .aether/CONTEXT.md would be included in package" >&2
128
+ echo " CONTEXT.md is per-colony. Add 'CONTEXT.md' to .aether/.npmignore" >&2
129
+ exit 1
130
+ fi
131
+
132
+ # Check 4: No .aether/data/ files in the package (covers pheromones.json, constraints.json, midden/, etc.)
133
+ if echo "$PACK_LIST" | grep -qE '\.aether/data/'; then
134
+ echo "ERROR: .aether/data/ files would be included in package:" >&2
135
+ echo "$PACK_LIST" | grep -E '\.aether/data/' >&2
136
+ echo " data/ is local-only. Ensure 'data/' is in .aether/.npmignore" >&2
137
+ exit 1
138
+ fi
139
+
140
+ # Check 5: CROWNED-ANTHILL.md must not be in the package
141
+ if echo "$PACK_LIST" | grep -qE '\.aether/CROWNED-ANTHILL\.md'; then
142
+ echo "ERROR: .aether/CROWNED-ANTHILL.md would be included in package" >&2
143
+ echo " CROWNED-ANTHILL.md is a sealed colony record. Add it to .aether/.npmignore" >&2
144
+ exit 1
145
+ fi
146
+
147
+ # Check 6: No exchange XML data files in the package
148
+ if echo "$PACK_LIST" | grep -qE '\.aether/exchange/.*\.xml'; then
149
+ echo "ERROR: Exchange XML data files would be included in package:" >&2
150
+ echo "$PACK_LIST" | grep -E '\.aether/exchange/.*\.xml' >&2
151
+ echo " Add 'exchange/*.xml' to .aether/.npmignore" >&2
152
+ exit 1
153
+ fi
154
+
155
+ # Check 7: Exchange modules must be present in distribution
156
+ # Per D-03: exchange/ modules must be included in npm package
157
+ for module in pheromone-xml.sh wisdom-xml.sh registry-xml.sh; do
158
+ if [ ! -f "$AETHER_DIR/exchange/$module" ]; then
159
+ echo "ERROR: Required exchange module missing from .aether/exchange/: $module" >&2
160
+ echo " Exchange modules are required for XML export/import functionality." >&2
161
+ echo " Run this from the Aether repo root after editing .aether/ files." >&2
162
+ exit 1
163
+ fi
164
+ done
165
+
166
+ echo "Package validation passed (files + content checks + exchange module check)."
package/package.json CHANGED
@@ -1,30 +1,37 @@
1
1
  {
2
2
  "name": "aether-colony",
3
- "version": "3.1.17",
3
+ "version": "5.1.0",
4
4
  "description": "Multi-agent system using ant colony intelligence for Claude Code and OpenCode — workers self-organize via pheromone signals",
5
5
  "bin": {
6
- "aether": "bin/cli.js"
6
+ "aether": "bin/cli.js",
7
+ "aether-colony": "bin/npx-install.js"
7
8
  },
8
9
  "files": [
9
10
  "bin/",
10
11
  ".claude/commands/ant/",
12
+ ".claude/agents/ant/",
11
13
  ".opencode/commands/ant/",
12
14
  ".opencode/agents/",
13
15
  ".opencode/opencode.json",
14
- "runtime/",
16
+ ".aether/",
15
17
  "README.md",
16
18
  "LICENSE",
17
19
  "DISCLAIMER.md",
18
20
  "CHANGELOG.md"
19
21
  ],
20
22
  "scripts": {
21
- "preinstall": "bash bin/sync-to-runtime.sh 2>/dev/null || true",
23
+ "preinstall": "bash bin/validate-package.sh 2>/dev/null || true",
22
24
  "postinstall": "node bin/cli.js install --quiet",
23
- "test": "npm run test:unit && npm run test:bash",
25
+ "prepublishOnly": "bash bin/validate-package.sh",
26
+ "test": "npm run test:unit",
27
+ "test:all": "npm run test:unit && npm run test:bash && npm run test:intelligence",
24
28
  "test:unit": "ava",
25
29
  "test:bash": "bash tests/bash/test-aether-utils.sh",
26
- "lint:shell": "shellcheck --severity=error .aether/aether-utils.sh runtime/aether-utils.sh bin/generate-commands.sh .aether/utils/file-lock.sh .aether/utils/atomic-write.sh .aether/utils/colorize-log.sh .aether/utils/watch-spawn-tree.sh runtime/utils/file-lock.sh runtime/utils/atomic-write.sh runtime/utils/colorize-log.sh runtime/utils/watch-spawn-tree.sh",
27
- "lint:json": "node -e \"const fs=require('fs'); const files=['.aether/data/constraints.json','.aether/data/COLONY_STATE.json']; files.forEach(f=>{JSON.parse(fs.readFileSync(f,'utf8'))}); console.log('JSON valid')\"",
30
+ "test:skills": "bash tests/bash/test-skills.sh",
31
+ "test:intelligence": "bash tests/bash/test-intelligence.sh",
32
+ "generate": "node bin/generate-commands.js",
33
+ "lint:shell": "shellcheck --severity=error .aether/aether-utils.sh bin/generate-commands.sh .aether/utils/file-lock.sh .aether/utils/atomic-write.sh .aether/utils/colorize-log.sh .aether/utils/watch-spawn-tree.sh",
34
+ "lint:json": "node -e \"const fs=require('fs'); const files=['.aether/data/constraints.json','.aether/data/COLONY_STATE.json']; files.filter(f=>fs.existsSync(f)).forEach(f=>{JSON.parse(fs.readFileSync(f,'utf8'))}); console.log('JSON valid')\"",
28
35
  "lint:sync": "bash bin/generate-commands.sh check",
29
36
  "lint": "npm run lint:shell && npm run lint:json && npm run lint:sync"
30
37
  },
@@ -1,107 +0,0 @@
1
- ---
2
- name: aether-guardian
3
- description: "Use this agent for security audits, vulnerability scanning, and threat assessment. The guardian patrols for security vulnerabilities and protects the codebase."
4
- ---
5
-
6
- You are **🛡️ Guardian Ant** in the Aether Colony. You patrol for security vulnerabilities and defend against threats.
7
-
8
- ## Aether Integration
9
-
10
- This agent operates as a **specialist worker** within the Aether Colony system. You:
11
- - Report to the Queen/Prime worker who spawns you
12
- - Log activity using Aether utilities
13
- - Follow depth-based spawning rules
14
- - Output structured JSON reports
15
-
16
- ## Activity Logging
17
-
18
- Log progress as you work:
19
- ```bash
20
- bash .aether/aether-utils.sh activity-log "ACTION" "{your_name} (Guardian)" "description"
21
- ```
22
-
23
- Actions: RECONNAISSANCE, SCANNING, ASSESSING, REPORTING, ERROR
24
-
25
- ## Your Role
26
-
27
- As Guardian, you:
28
- 1. Understand the application architecture
29
- 2. Scan for OWASP Top 10 vulnerabilities
30
- 3. Check dependencies for CVEs
31
- 4. Assess threats with severity
32
- 5. Verify fixes
33
-
34
- ## Security Domains
35
-
36
- ### Authentication & Authorization
37
- - Session management
38
- - Token handling (JWT, OAuth)
39
- - Permission checks
40
- - Role-based access control
41
- - Multi-factor authentication
42
-
43
- ### Input Validation
44
- - SQL injection prevention
45
- - XSS (Cross-Site Scripting)
46
- - CSRF (Cross-Site Request Forgery)
47
- - Command injection
48
- - Path traversal
49
- - File upload validation
50
-
51
- ### Data Protection
52
- - Encryption at rest
53
- - Encryption in transit (TLS)
54
- - Secret management
55
- - PII handling
56
- - Data retention
57
-
58
- ### Infrastructure
59
- - Dependency vulnerabilities (CVEs)
60
- - Container security
61
- - Network security
62
- - Logging security (no secrets)
63
- - Configuration security
64
-
65
- ## Severity Ratings
66
-
67
- - **CRITICAL**: Immediate exploitation possible, high impact
68
- - **HIGH**: Exploitation likely, significant impact
69
- - **MEDIUM**: Exploitation possible, moderate impact
70
- - **LOW**: Exploitation difficult, low impact
71
- - **INFO**: Security observation, no immediate risk
72
-
73
- ## Depth-Based Behavior
74
-
75
- | Depth | Role | Can Spawn? |
76
- |-------|------|------------|
77
- | 1 | Prime Guardian | Yes (max 4) |
78
- | 2 | Specialist | Only if surprised |
79
- | 3 | Deep Specialist | No |
80
-
81
- ## Output Format
82
-
83
- ```json
84
- {
85
- "ant_name": "{your name}",
86
- "caste": "guardian",
87
- "status": "completed" | "failed" | "blocked",
88
- "summary": "What you accomplished",
89
- "domains_reviewed": [],
90
- "findings": {
91
- "critical": 0,
92
- "high": 0,
93
- "medium": 0,
94
- "low": 0
95
- },
96
- "vulnerabilities": [
97
- {"severity": "HIGH", "location": "", "issue": "", "remediation": ""}
98
- ],
99
- "overall_risk": "",
100
- "recommendations": [],
101
- "blockers": []
102
- }
103
- ```
104
-
105
- ## Reference
106
-
107
- Full worker specifications: `.aether/workers.md`