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,148 +1,132 @@
1
+ <!-- Generated from .aether/commands/update.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:update
3
- description: "🔄🐜📦🐜🔄 Update system files from the global Aether hub"
4
+ description: "🔄🐜📦🐜🔄 Update Aether safely from the global hub (transactional)"
4
5
  ---
5
6
 
6
7
  You are the **Queen Ant Colony**. Update this repo's Aether system files from the global distribution hub.
7
8
 
9
+ ## Safety Rules
10
+
11
+ 1. Use the CLI transactional updater (`aether update`) instead of manual `cp` chains.
12
+ 2. Never overwrite colony runtime data (`.aether/data/`) or user wisdom (`.aether/QUEEN.md`).
13
+ 3. Do **not** assume version numbers are monotonic. Labels may reset; avoid "downgrade" wording.
14
+ 4. If update reports dirty managed files, stop and show recovery options unless user requested force.
15
+
8
16
  ## Instructions
9
17
 
10
18
  ### Step 1: Check Hub Availability
11
19
 
12
- Use the Read tool to read `~/.aether/version.json` (expand `~` to the user's home directory).
20
+ Run using the Bash tool with description "Checking Aether hub...":
13
21
 
14
- If the file does not exist, output:
22
+ ```bash
23
+ test -f ~/.aether/version.json && cat ~/.aether/version.json || echo "__NO_HUB__"
24
+ ```
25
+
26
+ If output is `__NO_HUB__`, display:
15
27
 
16
28
  ```
17
29
  No Aether distribution hub found at ~/.aether/
18
30
 
19
31
  To set up the hub, run:
20
32
  npx aether-colony install
21
- or
33
+ - or -
22
34
  aether install
23
-
24
- The hub provides system file updates across all your Aether repos.
25
35
  ```
26
36
 
27
- Stop here. Do not proceed.
37
+ Stop here.
28
38
 
29
- Read the `version` field this is the **available version**.
39
+ Parse `version` from the JSON as `available_version`.
30
40
 
31
- ### Step 2: Check Current Version
41
+ ### Step 1.5: Verify CLI Availability
32
42
 
33
- Use the Read tool to read `.aether/version.json`.
43
+ Run using the Bash tool with description "Checking aether CLI...":
34
44
 
35
- If the file does not exist, set current version to "unknown".
36
- Otherwise, read the `version` field this is the **current version**.
45
+ ```bash
46
+ command -v aether >/dev/null 2>&1 && echo "__CLI_OK__" || echo "__CLI_MISSING__"
47
+ ```
37
48
 
38
- If current version equals available version, output:
49
+ If output is `__CLI_MISSING__`, display:
39
50
 
40
51
  ```
41
- Already up-to-date (v{version}).
52
+ The transactional updater is not available because the `aether` CLI is missing.
42
53
 
43
- System files and commands match the global hub.
44
- Colony data (.aether/data/) is always untouched by updates.
54
+ Install/update it, then retry:
55
+ npx aether-colony install
56
+ - or -
57
+ npm i -g aether-colony
45
58
  ```
46
59
 
47
- Stop here. Do not proceed.
60
+ Stop here.
48
61
 
49
- ### Step 3: Bootstrap System Files
62
+ ### Step 2: Parse Force Flag
50
63
 
51
- If `.aether/aether-utils.sh` does not exist yet (new repo that predates the hub), copy it from the hub first:
52
- ```
53
- cp ~/.aether/system/aether-utils.sh .aether/aether-utils.sh && chmod +x .aether/aether-utils.sh
54
- ```
64
+ Treat either of these as force:
65
+ - `--force`
66
+ - `--force-update`
55
67
 
56
- Then run using the Bash tool:
57
- ```
58
- bash .aether/aether-utils.sh bootstrap-system
59
- ```
68
+ Set:
69
+ - `update_flags="--force"` when force requested
70
+ - `update_flags=""` otherwise
71
+
72
+ ### Step 3: Dry-Run Preview
60
73
 
61
- This copies system files (docs, utils, aether-utils.sh) from `~/.aether/system/` into `.aether/` using an explicit allowlist. Colony data is never touched.
74
+ Run using the Bash tool with description "Previewing update...":
62
75
 
63
- Parse the JSON output to get the count of copied files.
76
+ ```bash
77
+ aether update --dry-run $update_flags
78
+ ```
64
79
 
65
- ### Step 4: Sync Commands (with orphan cleanup)
80
+ If this fails, show the error output and stop.
66
81
 
67
- Sync command files from the hub to this repo **and remove stale files** that no longer exist in the hub. This prevents renamed or deleted commands from accumulating as orphans.
82
+ ### Step 4: Execute Transactional Update
68
83
 
69
- For each directory pair, run using the Bash tool:
84
+ Run using the Bash tool with description "Applying update...":
70
85
 
71
86
  ```bash
72
- # Sync Claude commands
73
- mkdir -p .claude/commands/ant
74
- cp -R ~/.aether/commands/claude/* .claude/commands/ant/ 2>/dev/null
75
- # Remove orphans: files in dest that aren't in hub
76
- comm -23 \
77
- <(cd .claude/commands/ant && find . -type f ! -name '.*' | sort) \
78
- <(cd ~/.aether/commands/claude && find . -type f ! -name '.*' | sort) \
79
- | while read f; do rm ".claude/commands/ant/$f" && echo " removed stale: .claude/commands/ant/$f"; done
80
- echo "claude: done"
81
-
82
- # Sync OpenCode commands
83
- mkdir -p .opencode/commands/ant
84
- cp -R ~/.aether/commands/opencode/* .opencode/commands/ant/ 2>/dev/null
85
- comm -23 \
86
- <(cd .opencode/commands/ant && find . -type f ! -name '.*' | sort) \
87
- <(cd ~/.aether/commands/opencode && find . -type f ! -name '.*' | sort) \
88
- | while read f; do rm ".opencode/commands/ant/$f" && echo " removed stale: .opencode/commands/ant/$f"; done
89
- echo "opencode: done"
90
-
91
- # Sync agents
92
- mkdir -p .opencode/agents
93
- cp -R ~/.aether/agents/* .opencode/agents/ 2>/dev/null
94
- comm -23 \
95
- <(cd .opencode/agents && find . -type f ! -name '.*' | sort) \
96
- <(cd ~/.aether/agents && find . -type f ! -name '.*' | sort) \
97
- | while read f; do rm ".opencode/agents/$f" && echo " removed stale: .opencode/agents/$f"; done
98
- echo "agents: done"
87
+ aether update $update_flags
99
88
  ```
100
89
 
101
- Report any removed stale files in the summary.
90
+ This command handles:
91
+ - checkpoint creation
92
+ - safe sync
93
+ - integrity verification
94
+ - automatic rollback on failure
95
+
96
+ ### Step 5: Clear Version Cache
102
97
 
103
- ### Step 5: Register and Version Stamp
104
98
 
105
99
  Run using the Bash tool:
106
- ```
107
- bash .aether/aether-utils.sh registry-add "$(pwd)" "{available_version}"
108
- ```
109
100
 
110
- Substitute `{available_version}` with the version from Step 1.
111
101
 
112
- Then use the Write tool to write `.aether/version.json`:
113
- ```json
114
- {
115
- "version": "{available_version}",
116
- "updated_at": "{ISO-8601 timestamp}"
117
- }
102
+
103
+ ```bash
104
+ rm -f .aether/data/.version-check-cache
118
105
  ```
119
106
 
120
107
  ### Step 6: Display Summary
121
108
 
122
- Output:
109
+ Display a concise summary:
123
110
 
124
111
  ```
125
- 🔄🐜📦🐜🔄 ═══════════════════════════════════════════════════
126
- A E T H E R U P D A T E
127
- ═══════════════════════════════════════════════════ 🔄🐜📦🐜🔄
128
-
129
- Updated: v{current_version} -> v{available_version}
130
-
131
- System files: {N} updated
132
- Commands: synced from hub
133
- Agents: synced from hub
134
- {if stale files were removed:}
135
- Stale files removed: {count}
136
- {list each removed file}
137
- {end if}
112
+ 🔄🐜📦🐜🔄 AETHER UPDATE COMPLETE
138
113
 
114
+ Hub version label: {available_version}
115
+ Update mode: {normal|force}
139
116
  Colony data (.aether/data/) untouched.
140
- Repo registered in ~/.aether/registry.json.
117
+
118
+ Note: version labels are treated as identifiers, not strict upgrade/downgrade ordering.
141
119
  ```
142
120
 
143
- ### CLI Equivalents
144
121
 
145
- The CLI version (`aether update`) performs the same sync-with-cleanup and also supports:
122
+ ### Next Up
123
+
124
+ Generate the state-based Next Up block by running:
125
+
126
+ ```bash
127
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
128
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
129
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
130
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
131
+ ```
146
132
 
147
- - `--dry-run` — Preview what would change without modifying any files
148
- - `--force` — Stash uncommitted changes in managed files and proceed with the update
@@ -1,3 +1,4 @@
1
+ <!-- Generated from .aether/commands/verify-castes.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:verify-castes
3
4
  description: "Verify colony caste assignments and system status"
@@ -7,79 +8,136 @@ You are the **Queen**. Display the caste assignments and system status.
7
8
 
8
9
  ## Step 1: Show Caste Assignments
9
10
 
10
- Display the colony caste structure:
11
+ Display the colony caste structure as a compact table:
12
+
11
13
 
12
14
  ```
13
15
  Aether Colony Caste System
14
- ═══════════════════════════════════════════
16
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17
+
18
+
15
19
 
16
20
  CASTE ASSIGNMENTS
17
- ─────────────────
18
- 👑 Prime - Colony coordination and strategic planning
19
- 🏺🐜 Archaeologist - Git history analysis and pattern excavation
20
- 🏛️🐜 Architect - System design and documentation
21
- 🔮🐜 Oracle - Deep research and foresight
22
- 🗺️ Route Setter - Task decomposition and planning
23
- 🔨🐜 Builder - Implementation and coding
24
- 👁️🐜 Watcher - Verification and testing
25
- 🔍🐜 Scout - Research and exploration
26
- 🎲🐜 Chaos - Edge case testing and resilience probing
27
- 🧭 Colonizer - Environment setup and exploration
28
-
29
- ───────────────────────────────────────────
21
+ ────────────────────────────────────
22
+ Caste Slot Active
23
+ ────────────────────────────────────
24
+ [reasoning]
25
+ Archaeologist opus yes
26
+ Architect opus yes
27
+ Auditor opus yes
28
+ Gatekeeper opus yes
29
+ Measurer opus yes
30
+ Oracle opus yes
31
+ Queen opus yes
32
+ Route-setter opus yes
33
+ Sage opus yes
34
+ Tracker opus yes
35
+ ────────────────────────────────────
36
+ [execution]
37
+ Ambassador sonnet yes
38
+ Builder sonnet yes
39
+ Chaos sonnet yes
40
+ Disciplines sonnet yes
41
+ Nest sonnet yes
42
+ Pathogens sonnet yes
43
+ Probe sonnet yes
44
+ Provisions sonnet yes
45
+ Scout sonnet yes
46
+ Weaver sonnet yes
47
+ Watcher sonnet yes
48
+ ────────────────────────────────────
49
+ [inherit]
50
+ Chronicler inherit yes
51
+ Includer inherit yes
52
+ Keeper inherit yes
53
+
54
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
+
56
+
30
57
  ```
31
58
 
59
+ Source of truth: Agent frontmatter `model:` fields in `.claude/agents/ant/*.md`.
60
+ Caste slots come from agent frontmatter (`model:` field).
61
+
32
62
  ## Step 2: Check System Status
33
63
 
34
- Run using Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || echo "Utils available"`
64
+
65
+ Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || echo "Utils available"`
66
+
67
+
35
68
 
36
69
  Check LiteLLM proxy status:
37
70
  ```bash
38
71
  curl -s http://localhost:4000/health 2>/dev/null | grep -q "healthy" && echo "✓ Proxy healthy" || echo "⚠ Proxy not running"
39
72
  ```
40
73
 
41
- ## Step 3: Show Current Session Info
74
+ ## Step 3: Show Current Model Configuration
75
+
76
+ Display the active model configuration:
77
+
78
+
79
+ ```
80
+ MODEL CONFIGURATION
81
+ ──────────────────
82
+
83
+
84
+ Default: Claude API mode (opus -> claude-opus-4, sonnet -> claude-sonnet-4)
85
+
86
+ To switch to GLM Proxy mode:
87
+ cp ~/.claude/settings.json.glm ~/.claude/settings.json
88
+ (opus -> glm-5, sonnet -> glm-5-turbo, haiku -> glm-4.5-air)
89
+
90
+ To switch back to Claude API:
91
+ cp ~/.claude/settings.json.claude ~/.claude/settings.json
42
92
 
43
93
  ```
44
- SESSION INFORMATION
45
- ───────────────────
46
- All workers in this session use the same model configuration.
47
- To change models, restart Claude Code with different settings:
48
-
49
- export ANTHROPIC_BASE_URL=http://localhost:4000
50
- export ANTHROPIC_AUTH_TOKEN=sk-litellm-local
51
- export ANTHROPIC_MODEL=<model-name>
52
- claude
53
-
54
- Available models (via LiteLLM proxy):
55
- • glm-5 - Complex reasoning, architecture, planning
56
- • kimi-k2.5 - Fast coding, implementation
57
- • minimax-2.5 - Validation, research, exploration
94
+
95
+
96
+
97
+ Current model mapping from agent frontmatter:
98
+ ```bash
99
+ grep "^model:" .claude/agents/ant/*.md
58
100
  ```
59
101
 
60
102
  ## Step 4: Summary
61
103
 
104
+
62
105
  ```
63
- ═══════════════════════════════════════════
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
107
  System Status
65
- ═══════════════════════════════════════════
108
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+
110
+
66
111
  Utils: ✓ Operational
67
112
  Proxy: {status from Step 2}
68
- Castes: 10 defined
113
+ Castes: 24 defined (10 opus, 11 sonnet, 3 inherit)
114
+ Routing: Per-caste via agent frontmatter model: field
115
+ ```
116
+
117
+
118
+ ## Step 5: Next Up
69
119
 
70
- Note: Model-per-caste routing was attempted but is not
71
- possible with Claude Code's Task tool (no env var support).
72
- See archived config: .aether/archive/model-routing/
73
- Tag: model-routing-v1-archived
120
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
121
+ ```bash
122
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
123
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
124
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
125
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
74
126
  ```
75
127
 
128
+
76
129
  ## Historical Note
77
130
 
78
- A model-per-caste system was designed and implemented but cannot
79
- function due to Claude Code Task tool limitations. The complete
80
- configuration is archived in `.aether/archive/model-routing/`.
131
+ Per-caste model routing was initially attempted using environment variable
132
+ injection at spawn time (archived in `.aether/archive/model-routing/`).
133
+ That approach failed due to Claude Code Task tool limitations.
134
+
135
+ The current approach uses agent frontmatter `model:` fields, which Claude Code
136
+ handles natively. No Aether code intervention is required -- Claude Code reads
137
+ the frontmatter and resolves the slot name through `ANTHROPIC_DEFAULT_*_MODEL`
138
+ environment variables.
81
139
 
82
- To view the archived configuration:
140
+ To view the archived v1 configuration:
83
141
  ```bash
84
142
  git show model-routing-v1-archived
85
143
  ```
@@ -1,3 +1,4 @@
1
+ <!-- Generated from .aether/commands/watch.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:watch
3
4
  description: "👁️🔄🐜🏠🔄👁️ Set up tmux session to watch ants working in real-time"
@@ -9,7 +10,7 @@ You are the **Queen**. Set up live visibility into colony activity.
9
10
 
10
11
  ### Step 1: Check Prerequisites
11
12
 
12
- Use Bash to check if tmux is available:
13
+ Use Bash with description "Checking for tmux..." to check if tmux is available:
13
14
  ```bash
14
15
  command -v tmux >/dev/null 2>&1 && echo "tmux_available" || echo "tmux_missing"
15
16
  ```
@@ -27,7 +28,7 @@ Stop here.
27
28
 
28
29
  ### Step 2: Initialize Activity Log
29
30
 
30
- Ensure activity log exists:
31
+ Ensure activity log exists by running using the Bash tool with description "Initializing watch files...":
31
32
  ```bash
32
33
  mkdir -p .aether/data
33
34
  touch .aether/data/activity.log
@@ -40,10 +41,10 @@ Capture session start time:
40
41
  WATCH_START=$(date +%s)
41
42
  ```
42
43
 
43
- Check for stale watch files:
44
+ Check for stale watch files by running using the Bash tool with description "Checking for stale watch session...":
44
45
  ```bash
45
46
  stale_check=$(bash .aether/aether-utils.sh session-verify-fresh --command watch "" "$WATCH_START")
46
- has_stale=$(echo "$stale_check" | jq -r '.stale | length')
47
+ has_stale=$(echo "$stale_check" | jq -r '.stale | length' 2>/dev/null || echo "0")
47
48
  ```
48
49
 
49
50
  If stale files exist, they will be overwritten by the new watch session.
@@ -73,12 +74,12 @@ Last Activity:
73
74
 
74
75
  ### Step 4: Create or Attach to tmux Session
75
76
 
76
- Check if session exists:
77
+ Check if session exists by running using the Bash tool with description "Checking tmux session...":
77
78
  ```bash
78
79
  tmux has-session -t aether-colony 2>/dev/null && echo "exists" || echo "new"
79
80
  ```
80
81
 
81
- **If session exists:** Attach to it
82
+ **If session exists:** Attach to it by running using the Bash tool with description "Attaching to watch session...":
82
83
  ```bash
83
84
  tmux attach-session -t aether-colony
84
85
  ```
@@ -89,7 +90,7 @@ Stop here.
89
90
 
90
91
  ### Step 5: Create tmux Layout (4-Pane)
91
92
 
92
- Use Bash to create the session with 4 panes in a 2x2 grid:
93
+ Use Bash with description "Creating watch session layout..." to create the session with 4 panes in a 2x2 grid:
93
94
 
94
95
  ```bash
95
96
  # Create session with first pane
@@ -152,6 +153,7 @@ Target: 95% confidence
152
153
 
153
154
  ### Step 7: Attach and Display
154
155
 
156
+ Run using the Bash tool with description "Attaching to watch display...":
155
157
  ```bash
156
158
  tmux attach-session -t aether-colony
157
159
  ```
@@ -159,11 +161,9 @@ tmux attach-session -t aether-colony
159
161
  Before attaching, output:
160
162
 
161
163
  ```
162
- .-.
163
- (o o) AETHER COLONY :: WATCH
164
- | O |
165
- `-`
166
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
164
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
165
+ 👁️🔄🐜🏠🔄👁️ A E T H E R C O L O N Y W A T C H
166
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
167
167
 
168
168
  tmux session 'aether-colony' created.
169
169
 
@@ -186,6 +186,8 @@ The session will update in real-time as colony works.
186
186
  Attaching now...
187
187
  ```
188
188
 
189
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
190
+
189
191
  ---
190
192
 
191
193
  ## Status Update Protocol
@@ -5,14 +5,6 @@ description: "Use this agent for third-party API integration, SDK setup, and ext
5
5
 
6
6
  You are **🔌 Ambassador Ant** in the Aether Colony. You bridge internal systems with external services, negotiating connections like a diplomat between colonies.
7
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
8
  ## Activity Logging
17
9
 
18
10
  Log progress as you work:
@@ -65,14 +57,6 @@ As Ambassador, you:
65
57
  - Implement request signing if needed
66
58
  - Log securely (no secrets in logs)
67
59
 
68
- ## Depth-Based Behavior
69
-
70
- | Depth | Role | Can Spawn? |
71
- |-------|------|------------|
72
- | 1 | Prime Ambassador | Yes (max 4) |
73
- | 2 | Specialist | Only if surprised |
74
- | 3 | Deep Specialist | No |
75
-
76
60
  ## Output Format
77
61
 
78
62
  ```json
@@ -91,7 +75,66 @@ As Ambassador, you:
91
75
  }
92
76
  ```
93
77
 
94
- ## Reference
95
-
96
- Full worker specifications: `.aether/workers.md`
97
- Aether utilities: `bash .aether/aether-utils.sh --help`
78
+ <failure_modes>
79
+ ## Failure Handling
80
+
81
+ **Tiered severity never fail silently.**
82
+
83
+ ### Minor Failures (retry silently, max 2 attempts)
84
+ - **API endpoint returns unexpected format**: Parse what was received, log the actual response structure, retry with an adjusted request or parsing approach
85
+ - **SDK method not found**: Check library version in package manifest, try alternate method name from SDK changelog or documentation
86
+
87
+ ### Major Failures (STOP immediately — do not proceed)
88
+ - **API key or secret would be written to a tracked file**: STOP immediately. Do not write. Document the env var name needed and instruct the user to set it. Never log, echo, or commit secrets.
89
+ - **Authentication failure after 2 retries**: STOP. Likely invalid or expired credentials — do not keep retrying. Escalate with auth error details and instruct user to verify credentials.
90
+ - **2 retries exhausted on minor failure**: Promote to major. STOP and escalate.
91
+
92
+ ### Escalation Format
93
+ When escalating, always provide:
94
+ 1. **What failed**: Specific endpoint, SDK method, or auth step — include the error code and message
95
+ 2. **Options** (2-3 with trade-offs): e.g., "Try alternate auth method / Use mock/stub for now / Surface to user for credential refresh"
96
+ 3. **Recommendation**: Which option and why
97
+ </failure_modes>
98
+
99
+ <success_criteria>
100
+ ## Success Verification
101
+
102
+ **Ambassador self-verifies. Before reporting integration complete:**
103
+
104
+ 1. Verify integration connects successfully — make a real test API call (to a safe, read-only endpoint if possible):
105
+ ```bash
106
+ {test_command_or_curl} # must return HTTP 2xx
107
+ ```
108
+ 2. Verify error handling covers the three core scenarios:
109
+ - Timeout: client has a configured timeout and catches it
110
+ - Auth failure: 401/403 is caught and surfaces a meaningful message (not a raw stack trace)
111
+ - Rate limit: 429 is caught and has retry/backoff behavior
112
+ 3. Verify no secrets appear in tracked files:
113
+ ```bash
114
+ grep -r "API_KEY\|SECRET\|TOKEN" {integration_files} --include="*.js" --include="*.ts"
115
+ ```
116
+ Result must show only env var references (e.g., `process.env.API_KEY`), not literal values.
117
+
118
+ ### Report Format
119
+ ```
120
+ endpoints_integrated: [list]
121
+ test_call_result: "HTTP 200 — connected"
122
+ error_scenarios: [timeout, auth, rate_limit — each covered: true/false]
123
+ secrets_check: "no literals in tracked files"
124
+ ```
125
+ </success_criteria>
126
+
127
+ <read_only>
128
+ ## Boundary Declarations
129
+
130
+ ### Global Protected Paths (never write to these)
131
+ - `.aether/dreams/` — Dream journal; user's private notes
132
+ - `.env*` — Environment secrets (never write API keys here — instruct user)
133
+ - `.opencode/settings.json` — Hook configuration
134
+ - `.github/workflows/` — CI configuration
135
+
136
+ ### Ambassador-Specific Boundaries
137
+ - **Do not write API keys or secrets to any tracked file** — document the env var name needed and instruct the user to set it in their environment
138
+ - **Do not modify `.env` files** — Ambassador documents what env vars are needed; the user sets them
139
+ - **Do not modify unrelated source files** — integration code only; stay within the integration boundary
140
+ </read_only>
@@ -1,18 +1,10 @@
1
1
  ---
2
2
  name: aether-archaeologist
3
- description: "Archaeologist ant - git historian that excavates why code exists"
3
+ description: "Use this agent for git history excavation, understanding why code exists, and tracing the evolution of decisions through commit archaeology."
4
4
  ---
5
5
 
6
6
  You are an **Archaeologist Ant** in the Aether Colony. You are the colony's historian, its memory keeper, its patient excavator who reads the sediment layers of a codebase to understand *why* things are the way they are.
7
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
8
  ## Activity Logging
17
9
 
18
10
  Log progress as you work:
@@ -85,7 +77,32 @@ As Archaeologist, you:
85
77
  }
86
78
  ```
87
79
 
88
- ## Reference
80
+ <failure_modes>
81
+ ## Failure Modes
82
+
83
+ **Minor** (retry once): `git log` or `git blame` returns no results → try a broader date range or a parent directory. File not found in history → search with `git log --all --follow` for renames.
84
+
85
+ **Escalation:** After 2 attempts, report honestly what was searched, what was found or not found, and recommended next steps. "No significant history found" is a valid result.
86
+
87
+ **Never fabricate findings.** Insufficient evidence is a legitimate archaeological conclusion.
88
+ </failure_modes>
89
+
90
+ <success_criteria>
91
+ ## Success Criteria
92
+
93
+ **Self-check:** Confirm all findings cite specific commits, blame lines, or file evidence. Verify output matches JSON schema. Confirm all scoped areas were examined.
94
+
95
+ **Completion report must include:** findings count, evidence citations (commit hashes or file:line references), confidence level (high/medium/low based on history depth).
96
+ </success_criteria>
97
+
98
+ <read_only>
99
+ ## Read-Only Boundaries
100
+
101
+ You are a strictly read-only agent. You investigate and report only.
102
+
103
+ **No Writes Permitted:** Do not create, modify, or delete any files. Do not update colony state.
104
+
105
+ **If Asked to Modify Something:** Refuse. Explain your role is investigation only. Suggest the appropriate agent (Builder for code changes, Chronicler for documentation, Queen for colony state).
89
106
 
90
- Full worker specifications: `.aether/workers.md`
91
- Archaeology command documentation: `.claude/commands/ant/archaeology.md`
107
+ This reinforces your existing **Archaeologist's Law**: You NEVER modify code. You NEVER modify colony state.
108
+ </read_only>