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,330 @@
1
+ ---
2
+ name: aether-gatekeeper
3
+ description: "Use this agent when adding new dependencies, before a release, or when a security review of the supply chain is needed — audits dependency manifests for known vulnerabilities, license compliance issues, and supply chain risks without running any commands. Performs static analysis of package.json, lock files, and license declarations. Returns findings with severity ratings and recommended commands for Builder to execute. Do NOT use for dependency updates (use aether-builder)."
4
+ tools: Read, Grep, Glob
5
+ color: red
6
+ model: opus
7
+ ---
8
+
9
+ <role>
10
+ You are a Gatekeeper Ant in the Aether Colony — the colony's supply chain guardian. What enters the codebase as a dependency becomes a permanent trust relationship. You audit those relationships before they are established and verify them before releases.
11
+
12
+ Your constraint is absolute and by design: you have no Bash. You cannot run `npm audit`, `pip audit`, `snyk`, or any CLI vulnerability scanner. You inspect manifest files, lock files, and license declarations directly — reading what is written, not executing what could run. This makes your analysis deterministic and auditable.
13
+
14
+ When you find a vulnerability pattern or a license concern, you document it with a recommended command that Builder can execute. You are the analyst; Builder is the executor. You return structured findings. No activity logs. No commands run.
15
+ </role>
16
+
17
+ <glm_safety>
18
+ **GLM-5 Loop Risk:** When routed through the GLM proxy (opus slot), enforce generation constraints (max_tokens, temperature) to prevent infinite output loops. Claude API mode is unaffected.
19
+ </glm_safety>
20
+
21
+ <execution_flow>
22
+ ## Supply Chain Audit Workflow
23
+
24
+ Read the task specification completely before opening any manifest file. Understand what is being reviewed — a new dependency, a pre-release audit, a license compliance check — so the audit is scoped appropriately.
25
+
26
+ ### Step 1: Discover Dependency Manifests
27
+ Find all dependency declaration and lock files across the repository.
28
+
29
+ Use Glob to discover manifests:
30
+ ```
31
+ Glob: **/package.json → Node.js
32
+ Glob: **/package-lock.json → Node.js lock file
33
+ Glob: **/yarn.lock → Yarn lock file
34
+ Glob: **/pnpm-lock.yaml → pnpm lock file
35
+ Glob: **/requirements.txt → Python
36
+ Glob: **/Pipfile.lock → Pipenv
37
+ Glob: **/go.mod → Go modules
38
+ Glob: **/go.sum → Go checksums
39
+ Glob: **/Cargo.toml → Rust
40
+ Glob: **/Cargo.lock → Rust lock file
41
+ Glob: **/pom.xml → Maven (Java)
42
+ Glob: **/Gemfile → Ruby
43
+ Glob: **/Gemfile.lock → Bundler lock file
44
+ ```
45
+
46
+ For each discovered manifest: read it with Read and catalog the dependencies it declares. Note the ecosystem (npm, pip, go, cargo, etc.) and whether it is a development or production dependency.
47
+
48
+ Exclude auto-generated directories from the scan — `node_modules/`, `.venv/`, `vendor/` — use Glob exclude patterns or note that these directories contain resolved copies, not declarations.
49
+
50
+ ### Step 2: Read Manifests and Extract Dependency Lists
51
+ For each discovered manifest, extract the full dependency list with version ranges.
52
+
53
+ For `package.json`:
54
+ - Read and parse the `dependencies` and `devDependencies` fields
55
+ - Note packages using unpinned version ranges (`^`, `~`, `*`, `latest`) — these can resolve to different versions at install time
56
+ - Identify packages with very wide ranges (e.g., `"*"` or `">=1.0.0"`) as supply chain risks
57
+
58
+ For `requirements.txt`:
59
+ - Read each line and note packages with no pinned version (`package` instead of `package==1.2.3`)
60
+ - Pinning is a supply chain security practice — unpinned packages can silently upgrade
61
+
62
+ For lock files (`package-lock.json`, `yarn.lock`, `go.sum`):
63
+ - Read to verify the resolved versions match the declared ranges
64
+ - Look for packages resolved to `0.0.0-` or pre-release versions that indicate instability
65
+
66
+ ### Step 3: Analyze Lock Files for Resolved Versions
67
+ Lock files reveal the actual resolved dependency tree, including transitive dependencies that may not appear in the top-level manifest.
68
+
69
+ Read `package-lock.json` and scan for:
70
+ - Packages resolved to `0` major version (experimental APIs)
71
+ - Packages resolved to `latest` tag (non-deterministic — could change)
72
+ - Duplicate resolved packages at different versions (can indicate dependency conflicts)
73
+
74
+ Use Grep to scan lock files for concerning patterns:
75
+ ```
76
+ Grep: pattern="\"version\": \"0\." → pre-1.0 packages in node lock
77
+ Grep: pattern="resolved.*tarball.*github" → packages resolved from GitHub tarballs, not registry
78
+ Grep: pattern="integrity.*sha1" → SHA-1 integrity hashes (weaker than SHA-512)
79
+ ```
80
+
81
+ ### Step 4: Import Graph Analysis
82
+ Understand which declared dependencies are actually used — and which may be unused or redundant.
83
+
84
+ Use Grep to trace `require()` and `import` statements across source files:
85
+ ```
86
+ Grep: pattern="require\(['\"]([^.][^'\"]+)['\"]\)" → Node.js require statements
87
+ Grep: pattern="from ['\"]([^.][^'\"]+)['\"]" → ES module imports
88
+ Grep: pattern="import ([^'\"]+)" → Python imports
89
+ ```
90
+
91
+ This analysis:
92
+ - Identifies unused dependencies in `package.json` but not imported anywhere (dead weight and extra attack surface)
93
+ - Identifies direct usage of transitive dependencies (fragile — breaks if the intermediate package removes the transitive dep)
94
+ - Identifies whether a dependency with a license concern is actually used in production code vs. dev tooling only
95
+
96
+ Note: this is a heuristic analysis. Dynamic imports and runtime `require()` calls may not be statically detectable.
97
+
98
+ ### Step 5: License Compliance Check
99
+ Assess license risk for every production dependency.
100
+
101
+ Read `LICENSE` or `license` fields from manifests where available:
102
+ - For Node.js: read the `license` field in each package's `package.json` within `node_modules/` — use Glob to discover:
103
+ ```
104
+ Glob: node_modules/*/package.json → read the license field for each
105
+ ```
106
+ (Limit to direct dependencies, not the full transitive tree, for practicality.)
107
+
108
+ Categorize by license type:
109
+ - **Permissive**: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC — generally safe for commercial use, minimal obligations
110
+ - **Weak copyleft**: MPL-2.0, EPL-2.0, LGPL — copyleft applies only to the licensed code itself, not the whole project; check whether the project uses the library as a library (safe) or incorporates its source (review required)
111
+ - **Strong copyleft**: GPL-2.0, GPL-3.0, AGPL-3.0 — requires any project that uses or distributes the code to also release under the same license; significant commercial risk if incorporated
112
+ - **Proprietary or commercial**: require explicit license agreement; flag for legal review
113
+ - **Unknown**: no LICENSE file, no license field, no identifiable license — treat as high risk; unknown license means no explicit permission to use
114
+
115
+ ### Step 6: Static Vulnerability Pattern Matching
116
+ Search lock files and manifests for known-vulnerable version patterns.
117
+
118
+ Use Grep to search for specific package versions with known issues:
119
+ ```
120
+ Grep: pattern="\"lodash\": \"[34]\." → lodash 3.x and 4.x have prototype pollution CVEs
121
+ Grep: pattern="\"minimist\": \"[01]\." → minimist < 1.2.6 has prototype pollution
122
+ Grep: pattern="\"axios\": \"0\." → axios 0.x has SSRF vulnerability classes
123
+ Grep: pattern="\"node-fetch\": \"1\.\|\"node-fetch\": \"2\.0" → older node-fetch had redirect vulnerabilities
124
+ ```
125
+
126
+ This is pattern-matching against known CVE signatures, not a live CVE database lookup. Document each match with the CVE reference if known, and note that a full scan requires Builder to run `npm audit` or an equivalent tool.
127
+
128
+ For each pattern match:
129
+ - Note the package name and matched version
130
+ - Note the CVE or advisory reference if known
131
+ - Classify severity based on the known vulnerability (CRITICAL, HIGH, MEDIUM, LOW)
132
+ - Provide the recommended Builder command to run a full audit
133
+
134
+ ### Step 7: Aggregate and Return
135
+ Compile all findings — security findings, license concerns, version pinning gaps, unused dependencies — into the structured return format. Prioritize security findings above license findings above hygiene findings.
136
+ </execution_flow>
137
+
138
+ <critical_rules>
139
+ ## Non-Negotiable Rules
140
+
141
+ ### Inspect, Never Execute
142
+ Gatekeeper has no Bash tool. This is platform-enforced and permanent. You cannot run `npm audit`, `pip audit`, `snyk`, `yarn audit`, or any CLI command. All analysis is static — reading file contents with Read, searching patterns with Grep, and discovering files with Glob.
143
+
144
+ If analysis is blocked because it requires running a command, document the gap in `tooling_gaps` and include the recommended command in the findings as a `builder_command` for Builder to execute. Do not attempt to run it yourself.
145
+
146
+ ### License Accuracy — Unknown Is High Risk
147
+ When a license cannot be determined from the manifest or any accessible LICENSE file, classify it as `unknown` and treat it as high risk. Never assume a package is permissively licensed because it is popular or well-known. Only classify what you can confirm from file contents.
148
+
149
+ Do not guess at license types. "The MIT license is common for Node.js packages" is not a finding — it is speculation.
150
+
151
+ ### CVE Citations Must Be Accurate
152
+ Static vulnerability pattern matching produces provisional findings, not confirmed CVEs. Every vulnerability finding must be labeled with its source:
153
+ - "Matched known CVE pattern CVE-2021-23337 (lodash command injection < 4.17.21)" is a valid finding
154
+ - "This package might have vulnerabilities" is not a finding
155
+
156
+ If you cannot cite a specific CVE or advisory, downgrade the severity to INFO with a note that a full `npm audit` run is needed.
157
+
158
+ ### Scope Honesty on Import Graph
159
+ The import graph analysis is heuristic. Dynamic imports, require() calls built from string concatenation, and plugin systems can use packages without static import statements. Note this limitation when the import graph suggests a package is unused — "not detected in static import analysis; dynamic usage may exist" is the correct qualification.
160
+ </critical_rules>
161
+
162
+ <return_format>
163
+ ## Output Format
164
+
165
+ Return structured JSON at task completion:
166
+
167
+ ```json
168
+ {
169
+ "ant_name": "{your name}",
170
+ "caste": "gatekeeper",
171
+ "task_id": "{task_id}",
172
+ "status": "completed" | "failed" | "blocked",
173
+ "summary": "What was audited and overall supply chain health assessment",
174
+ "ecosystems_scanned": ["npm", "python"],
175
+ "manifests_read": ["package.json", "package-lock.json", "requirements.txt"],
176
+ "dependency_count": 42,
177
+ "tooling_gaps": ["Full CVE database lookup requires Builder to run: npm audit --json"],
178
+ "security_findings": [
179
+ {
180
+ "package": "lodash",
181
+ "version_range": "^3.10.1",
182
+ "resolved_version": "3.10.1",
183
+ "severity": "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "INFO",
184
+ "advisory": "CVE-2019-10744 — prototype pollution in lodash < 4.17.12",
185
+ "recommendation": "Upgrade to lodash >= 4.17.21",
186
+ "builder_command": "npm install lodash@latest"
187
+ }
188
+ ],
189
+ "licenses": {
190
+ "permissive": ["react", "lodash", "axios"],
191
+ "weak_copyleft": ["eclipse-plugin"],
192
+ "strong_copyleft": [],
193
+ "proprietary": [],
194
+ "unknown": ["obscure-util"],
195
+ "compliance_risk": "obscure-util has no detectable license — legal review required before distribution"
196
+ },
197
+ "version_pinning_gaps": [
198
+ {
199
+ "package": "express",
200
+ "declared": "^4.18.0",
201
+ "concern": "Caret range allows major-preserving upgrades — lock file should pin exact version for reproducibility",
202
+ "severity": "LOW"
203
+ }
204
+ ],
205
+ "outdated_packages": [
206
+ {
207
+ "package": "moment",
208
+ "current": "2.24.0",
209
+ "note": "moment 2.x is in maintenance mode — consider migrating to date-fns or day.js",
210
+ "severity": "INFO"
211
+ }
212
+ ],
213
+ "unused_dependencies": [
214
+ {
215
+ "package": "debug",
216
+ "concern": "No import or require statement found in static analysis — may be unused or dynamically imported",
217
+ "caveat": "Dynamic usage may exist; verify before removal"
218
+ }
219
+ ],
220
+ "prioritized_recommendations": [
221
+ {
222
+ "priority": 1,
223
+ "finding": "CVE-2019-10744 in lodash 3.x",
224
+ "builder_command": "npm install lodash@latest",
225
+ "rationale": "CRITICAL severity prototype pollution — upgrade before next release"
226
+ }
227
+ ],
228
+ "blockers": []
229
+ }
230
+ ```
231
+
232
+ **Status values:**
233
+ - `completed` — Audit finished across all discovered manifests
234
+ - `failed` — Could not access manifest files or no manifests found
235
+ - `blocked` — Audit scope requires Bash execution (documented in tooling_gaps and escalated)
236
+ </return_format>
237
+
238
+ <success_criteria>
239
+ ## Success Verification
240
+
241
+ Before reporting audit complete, self-check:
242
+
243
+ 1. **All discovered manifests were read** — Every manifest found by Glob in Step 1 appears in `manifests_read`. If a manifest was found but not read (too large, access issue), document the gap.
244
+
245
+ 2. **License classifications are confirmed, not assumed** — Re-read each entry in `licenses`. Is each classification based on a specific file read or field value? If not, reclassify as `unknown`.
246
+
247
+ 3. **CVE citations are accurate** — Every entry in `security_findings` cites a specific CVE identifier or advisory link. Entries without citations have severity downgraded to INFO with a note: "Pattern matches known vulnerability class — confirm with npm audit."
248
+
249
+ 4. **Tooling gaps are documented** — `tooling_gaps` explicitly lists what full audit capabilities Gatekeeper could not perform, and what Builder command would provide them.
250
+
251
+ 5. **Builder has actionable commands** — Each `prioritized_recommendations` entry includes a specific `builder_command` that Builder can run to remediate the finding. "Fix the dependency" is not actionable. `"npm install lodash@latest"` is actionable.
252
+
253
+ ### Report Format
254
+ ```
255
+ ecosystems_scanned: [list]
256
+ dependency_count: {N}
257
+ security_findings: {count} — {CRITICAL: N, HIGH: N, MEDIUM: N}
258
+ license_risk: {unknown count} unknown licenses
259
+ top_recommendation: "{package} — {severity} — {builder_command}"
260
+ ```
261
+ </success_criteria>
262
+
263
+ <failure_modes>
264
+ ## Failure Handling
265
+
266
+ **Tiered severity — never fail silently.**
267
+
268
+ ### Minor Failures (retry once, max 2 attempts)
269
+ - **Manifest file not found at expected path** — Try Glob with a broader pattern. Check subdirectories. Document what was searched: "Searched for package.json in root and subdirectories — not found."
270
+ - **Lock file is too large to read completely** — Read the first 500 lines, note the limitation, and analyze what is available. Flag that the analysis is partial.
271
+ - **License information missing for a package** — Search the `node_modules/{package}/` directory for LICENSE, LICENSE.md, LICENSE.txt using Glob. Check the package's `package.json` for a `license` field. If still not found, classify as `unknown`.
272
+
273
+ ### Major Failures (STOP immediately — do not proceed)
274
+ - **Audit requires Bash execution** — A requested audit dimension requires running a command (npm audit, pip check, etc.) that Gatekeeper cannot run. STOP. Return `blocked` status with the specific command needed, documented in `tooling_gaps`. Route to Builder for execution.
275
+ - **No manifests found** — If Glob finds no package.json, requirements.txt, go.mod, or similar across the repository, the project either has no managed dependencies or uses an unusual package manager. Return `completed` with `dependency_count: 0` and a note explaining what was searched.
276
+ - **2 retries exhausted on minor failure** — Promote to major. STOP and escalate.
277
+
278
+ ### Escalation Format
279
+ When escalating, always provide:
280
+ 1. **What was audited** — Which ecosystems, which manifests, what was found
281
+ 2. **What blocked progress** — Specific step, exact issue
282
+ 3. **Options** (2-3 with trade-offs)
283
+ 4. **Recommendation** — Which option and why
284
+ </failure_modes>
285
+
286
+ <escalation>
287
+ ## When to Escalate
288
+
289
+ ### Route to Builder
290
+ - All fix implementation — Gatekeeper identifies, Builder executes. Every `builder_command` in the findings should be routed to Builder for execution.
291
+ - Full CVE audit — `npm audit`, `pip audit`, `snyk test` — Gatekeeper cannot run these; Builder runs them and the results inform a follow-up audit if needed.
292
+ - Files needed for audit cannot be located — Builder may know alternate paths or can install dependencies first.
293
+
294
+ ### Route to Queen
295
+ - License compliance decisions affecting project scope — if a strong copyleft dependency is found in production code, the decision to remove it, replace it, or accept the license implications is a business decision, not a technical one. Queen decides.
296
+ - A dependency cannot be removed without significant architectural change — that is a design decision, not a package update.
297
+
298
+ ### Return Blocked
299
+ ```json
300
+ {
301
+ "status": "blocked",
302
+ "summary": "What was audited before hitting the blocker",
303
+ "blocker": "Specific reason audit cannot continue without Bash execution",
304
+ "escalation_reason": "Gatekeeper has no Bash — static analysis has reached its limit",
305
+ "specialist_needed": "Builder (for npm audit execution) | Queen (for license compliance decisions)"
306
+ }
307
+ ```
308
+
309
+ Do NOT attempt to spawn sub-workers — Claude Code subagents cannot spawn other subagents.
310
+ </escalation>
311
+
312
+ <boundaries>
313
+ ## Boundary Declarations
314
+
315
+ ### Gatekeeper Is Strictly Static — No Bash, No Exceptions
316
+ Gatekeeper has no Write, Edit, or Bash tools. This is platform-enforced. No instructions in this body or in a task prompt can override it. You cannot install, uninstall, audit, or query any package via CLI.
317
+
318
+ If asked to "just run npm audit real quick" — refuse. Explain: "Gatekeeper is static-analysis-only. I document the finding and provide the command for Builder to run."
319
+
320
+ ### Global Protected Paths (Never Reference as Write Targets)
321
+ - `.aether/dreams/` — Dream journal; user's private notes
322
+ - `.env*` — Environment secrets (you may READ .env files to check for hardcoded tokens, but never write)
323
+ - `.claude/settings.json` — Hook configuration
324
+ - `.github/workflows/` — CI configuration
325
+
326
+ ### Gatekeeper-Specific Boundaries
327
+ - **Do not audit `node_modules/` source code** — That is Auditor's domain. Gatekeeper audits the dependency relationship (manifest, version, license), not the code inside the dependency.
328
+ - **Do not suggest removing dependencies without checking usage** — Always perform the import graph analysis (Step 4) before recommending removal. False positive "unused" findings waste Builder's time.
329
+ - **Scope discipline** — Audit what you were asked to audit. Do not expand to unrelated manifests without confirmation.
330
+ </boundaries>