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,1036 +1,60 @@
1
+ <!-- Generated from .aether/commands/continue.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:continue
3
4
  description: "➡️🐜🚪🐜➡️ Detect build completion, reconcile state, and advance to next phase"
4
5
  ---
5
6
 
6
- You are the **Queen Ant Colony**. Reconcile completed work and advance to the next phase.
7
+ You are the **Queen Ant Colony**. Execute `/ant:continue` through modular playbooks.
7
8
 
8
- ## Instructions
9
+ ## Purpose
9
10
 
10
- Parse `$ARGUMENTS`:
11
- - If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
12
- - Otherwise: set `visual_mode = true`
11
+ This command is intentionally short. It orchestrates verification and phase
12
+ advancement via smaller playbooks. This improves instruction-following reliability
13
+ without changing continue behavior.
13
14
 
14
- ### Step 0: Initialize Visual Mode (if enabled)
15
+ ## Rules
15
16
 
16
- If `visual_mode` is true:
17
- ```bash
18
- # Generate session ID
19
- continue_id="continue-$(date +%s)"
17
+ 1. Do **not** invoke nested slash commands like `/ant:continue-verify`.
18
+ 2. Use the Read tool to load each playbook file, then execute it.
19
+ 3. Preserve variables/results from prior stages and pass them forward.
20
+ 4. Enforce all gate stops exactly as defined in the playbooks.
21
+ 5. Keep existing behavior and output format from the playbooks.
20
22
 
21
- # Initialize swarm display
22
- bash .aether/aether-utils.sh swarm-display-init "$continue_id"
23
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Phase continuation" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
24
- ```
23
+ ## Stage Order
25
24
 
26
- ### Step 0.5: Version Check (Non-blocking)
25
+ Run these stages in order:
27
26
 
28
- Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
27
+ 1. `.aether/docs/command-playbooks/continue-verify.md`
28
+ 2. `.aether/docs/command-playbooks/continue-gates.md`
29
+ 3. `.aether/docs/command-playbooks/continue-advance.md`
30
+ 4. `.aether/docs/command-playbooks/continue-finalize.md`
29
31
 
30
- If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
32
+ ## Execution Contract
31
33
 
32
- ### Step 1: Read State + Version Check
34
+ For each stage:
33
35
 
34
- Read `.aether/data/COLONY_STATE.json`.
36
+ 1. Read the file with the Read tool.
37
+ 2. Execute the instructions exactly as written.
38
+ 3. Keep an in-memory stage result record:
39
+ - `stage_name`
40
+ - `status` (`ok` or `failed`)
41
+ - `key_outputs` (values needed downstream)
42
+ 4. If `status == failed`, halt and report the failure with recovery options.
35
43
 
36
- **Auto-upgrade old state:**
37
- If `version` field is missing, "1.0", or "2.0":
38
- 1. Preserve: `goal`, `state`, `current_phase`, `plan.phases`
39
- 2. Write upgraded v3.0 state (same structure as /ant:init but preserving data)
40
- 3. Output: `State auto-upgraded to v3.0`
41
- 4. Continue with command.
44
+ ## Required Cross-Stage State
42
45
 
43
- Extract: `goal`, `state`, `current_phase`, `plan.phases`, `errors`, `memory`, `events`, `build_started_at`.
46
+ Carry these values forward when produced:
44
47
 
45
- **Validation:**
46
- - If `goal: null` -> output "No colony initialized. Run /ant:init first." and stop.
47
- - If `plan.phases` is empty -> output "No project plan. Run /ant:plan first." and stop.
48
+ - `visual_mode`
49
+ - `state`
50
+ - `current_phase`
51
+ - `verification_results`
52
+ - `gate_results`
53
+ - `advancement_result`
54
+ - `next_phase_id`
55
+ - `completion_state`
48
56
 
49
- ### Step 1.5: Load State and Show Resumption Context
57
+ ## Final Output
50
58
 
51
- Run using Bash tool: `bash .aether/aether-utils.sh load-state`
52
-
53
- If successful and goal is not null:
54
- 1. Extract current_phase from state
55
- 2. Get phase name from plan.phases[current_phase - 1].name (or "(unnamed)")
56
- 3. Display brief resumption context:
57
- ```
58
- 🔄 Resuming: Phase X - Name
59
- ```
60
-
61
- If .aether/HANDOFF.md exists (detected in load-state output):
62
- - Display "Resuming from paused session"
63
- - Read .aether/HANDOFF.md for additional context
64
- - Remove .aether/HANDOFF.md after display (cleanup)
65
-
66
- Run: `bash .aether/aether-utils.sh unload-state` to release lock.
67
-
68
- **Error handling:**
69
- - If E_FILE_NOT_FOUND: "No colony initialized. Run /ant:init first." and stop
70
- - If validation error: Display error details with recovery suggestion and stop
71
- - For other errors: Display generic error and suggest /ant:status for diagnostics
72
-
73
- **Completion Detection:**
74
-
75
- If `state == "EXECUTING"`:
76
- 1. Check if `build_started_at` exists
77
- 2. Look for phase completion evidence:
78
- - Activity log entries showing task completion
79
- - Files created/modified matching phase tasks
80
- 3. If no evidence and build started > 30 min ago:
81
- - Display "Stale EXECUTING state. Build may have been interrupted."
82
- - Offer: continue anyway or rollback to git checkpoint
83
- - Rollback procedure: `git stash list | grep "aether-checkpoint"` to find ref, then `git stash pop <ref>` to restore
84
-
85
- If `state != "EXECUTING"`:
86
- - Normal continue flow (no build to reconcile)
87
-
88
- ### Step 1.5: Verification Loop Gate (MANDATORY)
89
-
90
- **The Iron Law:** No phase advancement without fresh verification evidence.
91
-
92
- Before ANY phase can advance, execute the 6-phase verification loop. See `.aether/verification-loop.md` for full reference.
93
-
94
- #### 1. Command Resolution (Priority Chain)
95
-
96
- Resolve each command (build, test, types, lint) using this priority chain. Stop at the first source that provides a value for each command:
97
-
98
- **Priority 1 — CLAUDE.md (System Context):**
99
- Check the CLAUDE.md instructions already loaded in your system context for explicit build, test, type-check, or lint commands. These are authoritative and override all other sources.
100
-
101
- **Priority 2 — codebase.md `## Commands`:**
102
- Read `.aether/data/codebase.md` and look for the `## Commands` section. Use any commands listed there for slots not yet filled by Priority 1.
103
-
104
- **Priority 3 — Fallback Heuristic Table:**
105
- For any commands still unresolved, check for these files in order, use first match:
106
-
107
- | File | Build | Test | Types | Lint |
108
- |------|-------|------|-------|------|
109
- | `package.json` | `npm run build` | `npm test` | `npx tsc --noEmit` | `npm run lint` |
110
- | `Cargo.toml` | `cargo build` | `cargo test` | (built-in) | `cargo clippy` |
111
- | `go.mod` | `go build ./...` | `go test ./...` | `go vet ./...` | `golangci-lint run` |
112
- | `pyproject.toml` | `python -m build` | `pytest` | `pyright .` | `ruff check .` |
113
- | `Makefile` | `make build` | `make test` | (check targets) | `make lint` |
114
-
115
- If no build system detected, skip build/test/type/lint checks but still verify success criteria.
116
-
117
- #### 2. Run 6-Phase Verification Loop
118
-
119
- Execute all applicable phases and capture output:
120
-
121
- ```
122
- Phase {id} Verification Loop
123
- ============================
124
- ```
125
-
126
- **Phase 1: Build Check** (if command exists):
127
- ```bash
128
- {build_command} 2>&1 | tail -30
129
- ```
130
- Record: exit code, any errors. **STOP if fails.**
131
-
132
- **Phase 2: Type Check** (if command exists):
133
- ```bash
134
- {type_command} 2>&1 | head -30
135
- ```
136
- Record: error count. Report all type errors.
137
-
138
- **Phase 3: Lint Check** (if command exists):
139
- ```bash
140
- {lint_command} 2>&1 | head -30
141
- ```
142
- Record: warning count, error count.
143
-
144
- **Phase 4: Test Check** (if command exists):
145
- ```bash
146
- {test_command} 2>&1 | tail -50
147
- ```
148
- Record: pass count, fail count, exit code. **STOP if fails.**
149
-
150
- **Coverage Check** (if coverage command exists):
151
- ```bash
152
- {coverage_command} # e.g., npm run test:coverage
153
- ```
154
- Record: coverage percentage (target: 80%+ for new code)
155
-
156
- **Phase 5: Security Scan**:
157
- ```bash
158
- # Check for exposed secrets
159
- grep -rn "sk-\|api_key\|password\s*=" --include="*.ts" --include="*.js" --include="*.py" src/ 2>/dev/null | head -10
160
-
161
- # Check for debug artifacts
162
- grep -rn "console\.log\|debugger" --include="*.ts" --include="*.tsx" --include="*.js" src/ 2>/dev/null | head -10
163
- ```
164
- Record: potential secrets (critical), debug artifacts (warning).
165
-
166
- **Phase 6: Diff Review**:
167
- ```bash
168
- git diff --stat
169
- ```
170
- Review changed files for unintended modifications.
171
-
172
- **Success Criteria Check:**
173
- Read phase success criteria from `plan.phases[current].success_criteria`.
174
- For EACH criterion:
175
- 1. Identify what proves it (file exists? test passes? output shows X?)
176
- 2. Run the check
177
- 3. Record evidence or gap
178
-
179
- Display:
180
- ```
181
- VERIFICATION LOOP REPORT
182
- ========================
183
-
184
- Phase 1: Build [PASS/FAIL]
185
- Phase 2: Types [PASS/FAIL] (X errors)
186
- Phase 3: Lint [PASS/FAIL] (X warnings)
187
- Phase 4: Tests [PASS/FAIL] (X/Y passed)
188
- Coverage {percent}% (target: 80%)
189
- Phase 5: Security [PASS/FAIL] (X issues)
190
- Phase 6: Diff [X files changed]
191
-
192
- Success Criteria:
193
- ✅ {criterion 1}: {specific evidence}
194
- ✅ {criterion 2}: {specific evidence}
195
- ❌ {criterion 3}: {what's missing}
196
-
197
- Overall: READY / NOT READY
198
- ```
199
-
200
- #### 3. Gate Decision
201
-
202
- **If NOT READY (any of: build fails, tests fail, critical security issues, success criteria unmet):**
203
-
204
- ```
205
- ⛔ VERIFICATION FAILED - PHASE BLOCKED
206
-
207
- Phase {id} cannot advance until issues are resolved.
208
-
209
- Issues Found:
210
- {list each failure with specific evidence}
211
-
212
- Required Actions:
213
- 1. Fix the issues listed above
214
- 2. Run /ant:continue again to re-verify
215
-
216
- The phase will NOT advance until verification passes.
217
- ```
218
-
219
- **CRITICAL:** Do NOT proceed to Step 2. Do NOT advance the phase.
220
- Do NOT offer workarounds. Verification is mandatory.
221
-
222
- Use AskUserQuestion to confirm they understand what needs to be fixed:
223
- - Show the specific failures
224
- - Ask if they want to fix now or need help
225
-
226
- **If READY (all checks pass with evidence):**
227
-
228
- ```
229
- ✅ VERIFICATION PASSED
230
-
231
- All checks completed with evidence:
232
- {list each check and its evidence}
233
-
234
- Proceeding to phase advancement.
235
- ```
236
-
237
- Continue to Step 1.6.
238
-
239
- ### Step 1.6: Spawn Enforcement Gate (MANDATORY)
240
-
241
- **The Iron Law:** No phase advancement without worker spawning for non-trivial phases.
242
-
243
- Read `.aether/data/spawn-tree.txt` to count spawns for this phase.
244
-
245
- ```bash
246
- grep -c "spawned" .aether/data/spawn-tree.txt 2>/dev/null || echo "0"
247
- ```
248
-
249
- Also check for Watcher spawns specifically:
250
- ```bash
251
- grep -c "watcher" .aether/data/spawn-tree.txt 2>/dev/null || echo "0"
252
- ```
253
-
254
- **HARD REJECTION - If spawn_count == 0 and phase had 3+ tasks:**
255
-
256
- ```
257
- ⛔ SPAWN GATE FAILED - PHASE BLOCKED
258
-
259
- This phase had {task_count} tasks but spawn_count: 0
260
- The Prime Worker violated the spawn protocol.
261
-
262
- The colony metaphor requires actual parallelism:
263
- - Prime Worker MUST spawn specialists for non-trivial work
264
- - A single agent doing everything is NOT a colony
265
- - "Justifications" for not spawning are not accepted
266
-
267
- Required Actions:
268
- 1. Run /ant:build {phase} again
269
- 2. Prime Worker MUST spawn at least 1 specialist
270
- 3. Re-run /ant:continue after spawns complete
271
-
272
- The phase will NOT advance until spawning occurs.
273
- ```
274
-
275
- **CRITICAL:** Do NOT proceed to Step 1.7. Do NOT advance the phase.
276
- Log the violation:
277
- ```bash
278
- bash .aether/aether-utils.sh activity-log "BLOCKED" "colony" "Spawn gate failed: {task_count} tasks, 0 spawns"
279
- bash .aether/aether-utils.sh error-flag-pattern "no-spawn-violation" "Prime Worker completed phase without spawning specialists" "critical"
280
- ```
281
-
282
- **HARD REJECTION - If watcher_count == 0 (no testing separation):**
283
-
284
- ```
285
- ⛔ WATCHER GATE FAILED - PHASE BLOCKED
286
-
287
- No Watcher ant was spawned for testing/verification.
288
- Testing MUST be performed by a separate agent, not the builder.
289
-
290
- Why this matters:
291
- - Builders verify their own work = confirmation bias
292
- - Independent Watchers catch bugs builders miss
293
- - "Build passing" ≠ "App working"
294
-
295
- Required Actions:
296
- 1. Run /ant:build {phase} again
297
- 2. Prime Worker MUST spawn at least 1 Watcher
298
- 3. Watcher must independently verify the work
299
-
300
- The phase will NOT advance until a Watcher validates.
301
- ```
302
-
303
- **CRITICAL:** Do NOT proceed. Log the violation.
304
-
305
- **If spawn_count >= 1 AND watcher_count >= 1:**
306
-
307
- ```
308
- ✅ SPAWN GATE PASSED
309
-
310
- Spawns: {spawn_count} workers
311
- Watchers: {watcher_count} (independent verification)
312
-
313
- Proceeding to runtime verification.
314
- ```
315
-
316
- Continue to Step 1.7.
317
-
318
- ### Step 1.7: Anti-Pattern Gate
319
-
320
- Scan all modified/created files for known anti-patterns. This catches recurring bugs before they reach production.
321
-
322
- ```bash
323
- bash .aether/aether-utils.sh check-antipattern "{file_path}"
324
- ```
325
-
326
- Run for each file in `files_created` and `files_modified` from Prime Worker output.
327
-
328
- **Anti-Pattern Report:**
329
-
330
- ```
331
- Anti-Pattern Scan
332
- =================
333
- Files scanned: {count}
334
-
335
- {if critical issues:}
336
- 🛑 CRITICAL ISSUES (must fix):
337
- {list each with file:line and description}
338
-
339
- {if warnings:}
340
- ⚠️ WARNINGS (review recommended):
341
- {list each with file:line and description}
342
-
343
- {if clean:}
344
- ✅ No anti-patterns detected
345
- ```
346
-
347
- **CRITICAL issues block phase advancement:**
348
- - Swift didSet infinite recursion
349
- - Exposed secrets/credentials
350
- - SQL injection patterns
351
- - Known crash patterns
352
-
353
- **WARNINGS are logged but don't block:**
354
- - TypeScript `any` usage
355
- - Console.log in production code
356
- - TODO/FIXME comments
357
-
358
- If CRITICAL issues found, display:
359
-
360
- ```
361
- ⛔ ANTI-PATTERN GATE FAILED
362
-
363
- Critical anti-patterns detected that must be fixed:
364
- {list issues with file paths}
365
-
366
- Run /ant:build {phase} again after fixing.
367
- ```
368
-
369
- Do NOT proceed to Step 2.
370
-
371
- If no CRITICAL issues, continue to Step 1.8.
372
-
373
- ### Step 1.8: TDD Evidence Gate (MANDATORY)
374
-
375
- **The Iron Law:** No TDD claims without actual test files.
376
-
377
- If Prime Worker reported TDD metrics (tests_added, tests_total, coverage_percent), verify test files exist:
378
-
379
- ```bash
380
- # Check for test files based on project type
381
- find . -name "*.test.*" -o -name "*_test.*" -o -name "*Tests.swift" -o -name "test_*.py" 2>/dev/null | head -10
382
- ```
383
-
384
- **If Prime Worker claimed tests_added > 0 but no test files found:**
385
-
386
- ```
387
- ⛔ TDD GATE FAILED - FABRICATED METRICS
388
-
389
- Prime Worker claimed:
390
- tests_added: {claimed_count}
391
- tests_total: {claimed_total}
392
- coverage_percent: {claimed_coverage}%
393
-
394
- But no test files were found in the codebase.
395
-
396
- This is a CRITICAL violation:
397
- - TDD metrics were fabricated
398
- - No actual tests were written
399
- - "All passing: true" was a lie
400
-
401
- Required Actions:
402
- 1. Run /ant:build {phase} again
403
- 2. Actually write test files (not just claim them)
404
- 3. Tests must exist and be runnable
405
-
406
- The phase will NOT advance with fabricated metrics.
407
- ```
408
-
409
- **CRITICAL:** Do NOT proceed. Log the violation:
410
- ```bash
411
- bash .aether/aether-utils.sh error-flag-pattern "fabricated-tdd" "Prime Worker reported TDD metrics without creating test files" "critical"
412
- ```
413
-
414
- **If tests_added == 0 or test files exist matching claims:**
415
-
416
- Continue to Step 1.9.
417
-
418
- ### Step 1.9: Runtime Verification Gate (MANDATORY)
419
-
420
- **The Iron Law:** Build passing ≠ App working.
421
-
422
- Before advancing, the user must confirm the application actually runs.
423
-
424
- Use AskUserQuestion:
425
-
426
- ```
427
- Runtime Verification Required
428
- =============================
429
-
430
- Build and compile checks passed, but we need to verify the app actually works.
431
-
432
- Have you tested the application at runtime?
433
- ```
434
-
435
- Options:
436
- 1. **Yes, tested and working** - App runs correctly, features work
437
- 2. **Yes, tested but has issues** - App runs but has bugs (describe)
438
- 3. **No, haven't tested yet** - Need to test before continuing
439
- 4. **Skip (not applicable)** - No runnable app in this phase (e.g., library code)
440
-
441
- **If "Yes, tested and working":**
442
- ```
443
- ✅ RUNTIME VERIFICATION PASSED
444
-
445
- User confirmed application runs correctly.
446
- Proceeding to phase advancement.
447
- ```
448
- Continue to Step 2.
449
-
450
- **If "Yes, tested but has issues":**
451
- ```
452
- ⛔ RUNTIME GATE FAILED
453
-
454
- User reported runtime issues. The phase cannot advance with a broken app.
455
-
456
- Please describe the issues so they can be addressed:
457
- ```
458
-
459
- Use AskUserQuestion to get issue details. Log to errors.records:
460
- ```bash
461
- bash .aether/aether-utils.sh error-add "runtime" "critical" "{user_description}" {phase}
462
- ```
463
-
464
- Do NOT proceed to Step 2.
465
-
466
- **If "No, haven't tested yet":**
467
- ```
468
- ⏸️ RUNTIME VERIFICATION PENDING
469
-
470
- Please test the application and run /ant:continue again.
471
-
472
- Testing checklist:
473
- - [ ] App launches without crashing
474
- - [ ] Core features work as expected
475
- - [ ] UI responds to user interaction
476
- - [ ] No freezes or hangs
477
-
478
- Come back when you've tested.
479
- ```
480
-
481
- Do NOT proceed to Step 2.
482
-
483
- **If "Skip (not applicable)":**
484
-
485
- Only valid for phases that don't produce runnable code (e.g., documentation, config files, library code with no entry point).
486
-
487
- ```
488
- ⏭️ RUNTIME CHECK SKIPPED
489
-
490
- User indicated no runnable app for this phase.
491
- Proceeding to phase advancement.
492
- ```
493
-
494
- Continue to Step 1.10.
495
-
496
- ### Step 1.10: Flags Gate (MANDATORY)
497
-
498
- **The Iron Law:** No phase advancement with unresolved blockers.
499
-
500
- First, auto-resolve any flags eligible for resolution now that verification has passed:
501
- ```bash
502
- bash .aether/aether-utils.sh flag-auto-resolve "build_pass"
503
- ```
504
-
505
- Then check for remaining blocking flags:
506
- ```bash
507
- bash .aether/aether-utils.sh flag-check-blockers {current_phase}
508
- ```
509
-
510
- Parse result for `blockers`, `issues`, and `notes` counts.
511
-
512
- **If blockers > 0:**
513
-
514
- ```
515
- ⛔ FLAGS GATE FAILED - BLOCKERS ACTIVE
516
-
517
- {blockers} blocking flag(s) must be resolved before phase advancement.
518
-
519
- Active Blockers:
520
- {list each blocker flag with ID, title, and description}
521
-
522
- Required Actions:
523
- 1. Fix the issues described in each blocker
524
- 2. Resolve flags: /ant:flags --resolve {flag_id} "resolution message"
525
- 3. Run /ant:continue again after resolving all blockers
526
-
527
- The phase will NOT advance with active blockers.
528
- ```
529
-
530
- **CRITICAL:** Do NOT proceed to Step 2. Do NOT advance the phase.
531
-
532
- **If blockers == 0 but issues > 0:**
533
-
534
- ```
535
- ⚠️ FLAGS GATE: ISSUES NOTED
536
-
537
- No blockers, but {issues} issue(s) are active.
538
- These don't block advancement but should be addressed.
539
-
540
- Active Issues:
541
- {list each issue flag}
542
-
543
- Use /ant:flags to review and acknowledge or resolve.
544
- ```
545
-
546
- Continue to Step 2.
547
-
548
- **If all clear (no blockers or issues):**
549
-
550
- ```
551
- ✅ FLAGS GATE PASSED
552
-
553
- No blocking flags. Proceeding to phase advancement.
554
- ```
555
-
556
- Continue to Step 2.
557
-
558
- ### Step 2: Update State
559
-
560
- Find current phase in `plan.phases`.
561
- Determine next phase (`current_phase + 1`).
562
-
563
- **If no next phase (all complete):** Skip to Step 2.6 (commit suggestion), then Step 2.5 (completion).
564
-
565
- Update COLONY_STATE.json:
566
-
567
- 1. **Mark current phase completed:**
568
- - Set `plan.phases[current].status` to `"completed"`
569
- - Set all tasks in phase to `"completed"`
570
-
571
- 2. **Extract learnings (with validation status):**
572
-
573
- **CRITICAL: Learnings start as HYPOTHESES until verified.**
574
-
575
- A learning is only "validated" if:
576
- - The code was actually run and tested
577
- - The feature works in practice, not just in theory
578
- - User has confirmed the behavior
579
-
580
- Append to `memory.phase_learnings`:
581
- ```json
582
- {
583
- "id": "learning_<unix_timestamp>",
584
- "phase": <phase_number>,
585
- "phase_name": "<name>",
586
- "learnings": [
587
- {
588
- "claim": "<specific actionable learning>",
589
- "status": "hypothesis",
590
- "tested": false,
591
- "evidence": "<what observation led to this>",
592
- "disproven_by": null
593
- }
594
- ],
595
- "timestamp": "<ISO-8601>"
596
- }
597
- ```
598
-
599
- **Status values:**
600
- - `hypothesis` - Recorded but not verified (DEFAULT)
601
- - `validated` - Tested and confirmed working
602
- - `disproven` - Found to be incorrect
603
-
604
- **Do NOT record a learning if:**
605
- - It wasn't actually tested
606
- - It's stating the obvious
607
- - There's no evidence it works
608
-
609
- 3. **Extract instincts from patterns:**
610
-
611
- Read activity.log for patterns from this phase's build.
612
-
613
- For each pattern observed (success, error_resolution, user_feedback):
614
-
615
- **If pattern matches existing instinct:**
616
- - Update confidence: +0.1 for success outcome, -0.1 for failure
617
- - Increment applications count
618
- - Update last_applied timestamp
619
-
620
- **If new pattern:**
621
- - Create new instinct with initial confidence:
622
- - success: 0.4
623
- - error_resolution: 0.5
624
- - user_feedback: 0.7
625
-
626
- Append to `memory.instincts`:
627
- ```json
628
- {
629
- "id": "instinct_<unix_timestamp>",
630
- "trigger": "<when X>",
631
- "action": "<do Y>",
632
- "confidence": 0.5,
633
- "status": "hypothesis",
634
- "domain": "<testing|architecture|code-style|debugging|workflow>",
635
- "source": "phase-<id>",
636
- "evidence": ["<specific observation that led to this>"],
637
- "tested": false,
638
- "created_at": "<ISO-8601>",
639
- "last_applied": null,
640
- "applications": 0,
641
- "successes": 0,
642
- "failures": 0
643
- }
644
- ```
645
-
646
- **Instinct confidence updates:**
647
- - Success when applied: +0.1, increment `successes`
648
- - Failure when applied: -0.15, increment `failures`
649
- - If `failures` >= 2 and `successes` == 0: mark `status: "disproven"`
650
- - If `successes` >= 2 and tested: mark `status: "validated"`
651
-
652
- Cap: Keep max 30 instincts (remove lowest confidence when exceeded).
653
-
654
- 4. **Advance state:**
655
- - Set `current_phase` to next phase number
656
- - Set `state` to `"READY"`
657
- - Set `build_started_at` to null
658
- - Append event: `"<timestamp>|phase_advanced|continue|Completed Phase <id>, advancing to Phase <next>"`
659
-
660
- 5. **Cap enforcement:**
661
- - Keep max 20 phase_learnings
662
- - Keep max 30 decisions
663
- - Keep max 30 instincts (remove lowest confidence)
664
- - Keep max 100 events
665
-
666
- Write COLONY_STATE.json.
667
-
668
- ### Step 2.2: Promote Validated Learnings to QUEEN.md
669
-
670
- After extracting learnings in Step 2, promote high-confidence validated learnings to QUEEN.md wisdom.
671
-
672
- **Promotion Criteria:**
673
- - Only learnings with `status: "validated"` are eligible
674
- - Must have been tested and confirmed working
675
- - Should represent actionable patterns, not one-off observations
676
-
677
- **Process:**
678
-
679
- 1. **Get colony name from state:**
680
- ```bash
681
- colony_name=$(jq -r '.session_id | split("_")[1] // "unknown"' .aether/data/COLONY_STATE.json)
682
- ```
683
-
684
- 2. **Extract validated learnings from current phase:**
685
- Read `memory.phase_learnings` and filter for entries where:
686
- - `phase` matches the completed phase number
687
- - Any learning in `learnings[]` has `status: "validated"`
688
-
689
- 3. **Promote to QUEEN.md using queen-promote:**
690
-
691
- For each validated learning, determine the wisdom type and call queen-promote:
692
-
693
- **Type Mapping:**
694
- - Learning about success patterns → `pattern`
695
- - Learning about what to avoid/corrections → `redirect`
696
- - Learning about fundamental principles → `philosophy`
697
- - Learning about technology/stack → `stack`
698
-
699
- ```bash
700
- # Example promotions
701
- bash .aether/aether-utils.sh queen-promote "pattern" "<learning claim>" "$colony_name"
702
- bash .aether/aether-utils.sh queen-promote "redirect" "<what to avoid>" "$colony_name"
703
- ```
704
-
705
- 4. **Log promotion results:**
706
- ```bash
707
- bash .aether/aether-utils.sh activity-log "PROMOTED" "Queen" "Promoted N validated learnings to QUEEN.md wisdom"
708
- ```
709
-
710
- **Display promotion summary:**
711
- ```
712
- 🧠 Wisdom Promotion
713
- ==================
714
- {count} validated learning(s) promoted to QUEEN.md:
715
- - [{type}] {brief claim preview}
716
- ```
717
-
718
- Skip this step if:
719
- - No validated learnings exist for this phase
720
- - QUEEN.md does not exist (run queen-init first if needed)
721
- - All learnings are still hypotheses or disproven
722
-
723
- ### Step 2.3: Update Handoff Document
724
-
725
- After advancing the phase, update the handoff document with the new current state:
726
-
727
- ```bash
728
- # Determine if there's a next phase
729
- next_phase_id=$((current_phase + 1))
730
- has_next_phase=$(jq --arg next "$next_phase_id" '.plan.phases | map(select(.id == ($next | tonumber))) | length' .aether/data/COLONY_STATE.json)
731
-
732
- # Write updated handoff
733
- cat > .aether/HANDOFF.md << 'HANDOFF_EOF'
734
- # Colony Session — Phase Advanced
735
-
736
- ## Quick Resume
737
- Run `/ant:build {next_phase_id}` to start working on the current phase.
738
-
739
- ## State at Advancement
740
- - Goal: "$(jq -r '.goal' .aether/data/COLONY_STATE.json)"
741
- - Completed Phase: {completed_phase_id} — {completed_phase_name}
742
- - Current Phase: {next_phase_id} — {next_phase_name}
743
- - State: READY
744
- - Updated: $(date -u +%Y-%m-%dT%H:%M:%SZ)
745
-
746
- ## What Was Completed
747
- - Phase {completed_phase_id} marked as completed
748
- - Learnings extracted: {learning_count}
749
- - Instincts updated: {instinct_count}
750
- - Wisdom promoted to QUEEN.md: {promoted_count}
751
-
752
- ## Current Phase Tasks
753
- $(jq -r '.plan.phases[] | select(.id == next_phase_id) | .tasks[] | "- [ ] \(.id): \(.description)"' .aether/data/COLONY_STATE.json)
754
-
755
- ## Next Steps
756
- - Build current phase: `/ant:build {next_phase_id}`
757
- - Review phase details: `/ant:phase {next_phase_id}`
758
- - Pause colony: `/ant:pause-colony`
759
-
760
- ## Session Note
761
- Phase advanced successfully. Colony is READY to build Phase {next_phase_id}.
762
- HANDOFF_EOF
763
- ```
764
-
765
- This handoff reflects the post-advancement state, allowing seamless resumption even if the session is lost.
766
-
767
- ### Step 2.4: Update Changelog
768
-
769
- **Append a changelog entry for the completed phase.**
770
-
771
- If `CHANGELOG.md` exists in the project root:
772
-
773
- 1. Read the file
774
- 2. Find the `## [Unreleased]` section
775
- 3. Under the appropriate sub-heading (`### Added`, `### Changed`, or `### Fixed`), append a bullet for the completed phase:
776
-
777
- ```
778
- - **Phase {id}: {phase_name}** — {one-line summary of what was accomplished}. ({list of key files modified})
779
- ```
780
-
781
- **Determining the sub-heading:**
782
- - If the phase created new features/commands → `### Added`
783
- - If the phase modified existing behavior → `### Changed`
784
- - If the phase fixed bugs → `### Fixed`
785
- - If unclear, default to `### Changed`
786
-
787
- **The one-line summary** should describe the user-visible outcome, not implementation details. Derive it from the phase description and task summaries.
788
-
789
- **If no `## [Unreleased]` section exists**, create one at the top of the file (after the header).
790
-
791
- **If no `CHANGELOG.md` exists**, skip this step silently.
792
-
793
- ### Step 2.6: Commit Suggestion (Optional)
794
-
795
- **This step is non-blocking. Skipping does not affect phase advancement or any subsequent steps. Failure to commit has zero consequences.**
796
-
797
- After the phase is advanced and changelog updated, suggest a commit to preserve the milestone.
798
-
799
- #### Step 2.6.1: Capture AI Description
800
-
801
- **As the AI, briefly describe what was accomplished in this phase.**
802
-
803
- Look at:
804
- 1. The phase PLAN.md `<objective>` section (what we set out to do)
805
- 2. Tasks that were marked complete
806
- 3. Files that were modified (from git diff --stat)
807
- 4. Any patterns or decisions recorded
808
-
809
- **Provide a brief, memorable description** (10-15 words, imperative mood):
810
- - Good: "Implement task-based model routing with keyword detection and precedence chain"
811
- - Good: "Fix build timing by removing background execution from worker spawns"
812
- - Bad: "Phase complete" (too vague)
813
- - Bad: "Modified files in bin/lib" (too mechanical)
814
-
815
- Store this as `ai_description` for the commit message.
816
-
817
- #### Step 2.6.2: Generate Enhanced Commit Message
818
-
819
- ```bash
820
- bash .aether/aether-utils.sh generate-commit-message "contextual" {phase_id} "{phase_name}" "{ai_description}" {plan_number}
821
- ```
822
-
823
- Parse the returned JSON to extract:
824
- - `message` - the commit subject line
825
- - `body` - structured metadata (Scope, Files)
826
- - `files_changed` - file count
827
- - `subsystem` - derived subsystem name
828
- - `scope` - phase.plan format
829
-
830
- **Check files changed:**
831
- ```bash
832
- git diff --stat HEAD 2>/dev/null | tail -5
833
- ```
834
- If not in a git repo or no changes detected, skip this step silently.
835
-
836
- **Display the enhanced suggestion:**
837
- ```
838
- ──────────────────────────────────────────────────
839
- Commit Suggestion
840
- ──────────────────────────────────────────────────
841
-
842
- AI Description: {ai_description}
843
-
844
- Formatted Message:
845
- {message}
846
-
847
- Metadata:
848
- Scope: {scope}
849
- Files: {files_changed} files changed
850
- Preview: {first 5 lines of git diff --stat}
851
-
852
- ──────────────────────────────────────────────────
853
- ```
854
-
855
- **Use AskUserQuestion:**
856
- ```
857
- Commit this milestone?
858
-
859
- 1. Yes, commit with this message
860
- 2. Yes, but let me edit the description
861
- 3. No, I'll commit later
862
- ```
863
-
864
- **If option 1 ("Yes, commit with this message"):**
865
- ```bash
866
- git add -A && git commit -m "{message}" -m "{body}"
867
- ```
868
- Display: `Committed: {message} ({files_changed} files)`
869
-
870
- **If option 2 ("Yes, but let me edit"):**
871
- Use AskUserQuestion to get the user's custom description:
872
- ```
873
- Enter your description (or press Enter to keep: '{ai_description}'):
874
- ```
875
- Then regenerate the commit message with the new description and commit.
876
-
877
- **If option 3 ("No, I'll commit later"):**
878
- Display: `Skipped. Your changes are saved on disk but not committed.`
879
-
880
- **Record the suggestion to prevent double-prompting:**
881
- Set `last_commit_suggestion_phase` to `{phase_id}` in COLONY_STATE.json (add the field at the top level if it does not exist).
882
-
883
- **Error handling:** If any git command fails (not a repo, merge conflict, pre-commit hook rejection), display the error output and continue to the next step. The commit suggestion is advisory only -- it never blocks the flow.
884
-
885
- Continue to Step 2.7 (Context Clear Suggestion), then to Step 2.5 (Project Completion) or Step 3 (Display Result).
886
-
887
- ### Step 2.7: Context Clear Suggestion (Optional)
888
-
889
- **This step is non-blocking. Skipping does not affect phase advancement.**
890
-
891
- After committing (or skipping commit), suggest clearing context to refresh before the next phase.
892
-
893
- 1. **Display the suggestion:**
894
- ```
895
- ──────────────────────────────────────────────────
896
- Context Refresh
897
- ──────────────────────────────────────────────────
898
-
899
- State is fully persisted and committed.
900
- Phase {next_id} is ready to build.
901
-
902
- ──────────────────────────────────────────────────
903
- ```
904
-
905
- 2. **Use AskUserQuestion:**
906
- ```
907
- Clear context now?
908
-
909
- 1. Yes, clear context then run /ant:build {next_id}
910
- 2. No, continue in current context
911
- ```
912
-
913
- 3. **If option 1 ("Yes, clear context"):**
914
-
915
- **IMPORTANT:** Claude Code does not support programmatic /clear. Display instructions:
916
- ```
917
- Please type: /clear
918
-
919
- Then run: /ant:build {next_id}
920
- ```
921
-
922
- Record the suggestion: Set `context_clear_suggested` to `true` in COLONY_STATE.json.
923
-
924
- 4. **If option 2 ("No, continue in current context"):**
925
- Display: `Continuing in current context. State is saved.`
926
-
927
- Continue to Step 2.5 (Project Completion) or Step 3 (Display Result).
928
-
929
- ### Step 2.8: Update Context Document
930
-
931
- After phase advancement is complete, update `.aether/CONTEXT.md`:
932
-
933
- **Log the activity:**
934
- ```bash
935
- bash .aether/aether-utils.sh context-update activity "continue" "Phase {prev_id} completed, advanced to {next_id}" "—"
936
- ```
937
-
938
- **Update the phase:**
939
- ```bash
940
- bash .aether/aether-utils.sh context-update update-phase {next_id} "{next_phase_name}" "YES" "Phase advanced, ready to build"
941
- ```
942
-
943
- **Log any decisions from this session:**
944
- If any architectural decisions were made during verification, also run:
945
- ```bash
946
- bash .aether/aether-utils.sh context-update decision "{decision_description}" "{rationale}" "Queen"
947
- ```
948
-
949
- ### Step 2.5: Project Completion
950
-
951
- Runs ONLY when all phases complete.
952
-
953
- 1. Read activity.log and errors.records
954
- 2. Display tech debt report:
955
-
956
- ```
957
- 🐜 ═══════════════════════════════════════════════════
958
- 🎉 P R O J E C T C O M P L E T E 🎉
959
- ═══════════════════════════════════════════════════ 🐜
960
-
961
- 👑 Goal Achieved: {goal}
962
- 📍 Phases Completed: {total}
963
-
964
- {if flagged_patterns:}
965
- ⚠️ Persistent Issues:
966
- {list any flagged_patterns}
967
- {end if}
968
-
969
- 🧠 Colony Learnings:
970
- {condensed learnings from memory.phase_learnings}
971
-
972
- 👑 Wisdom Added to QUEEN.md:
973
- {count} patterns/redirects/philosophies promoted across all phases
974
-
975
- 🐜 The colony rests. Well done!
976
- ```
977
-
978
- 3. Write summary to `.aether/data/completion-report.md`
979
- 4. Display next commands and stop.
980
-
981
- ### Step 3: Display Result
982
-
983
- **If visual_mode is true, render final swarm display:**
984
- ```bash
985
- bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Phase advanced" "Colony" '{"read":5,"grep":2,"edit":3,"bash":2}' 100 "fungus_garden" 100
986
- bash .aether/aether-utils.sh swarm-display-inline "$continue_id"
987
- ```
988
-
989
- Output:
990
-
991
- ```
992
- 🐜 ═══════════════════════════════════════════════════
993
- P H A S E A D V A N C E M E N T
994
- ═══════════════════════════════════════════════════ 🐜
995
-
996
- ✅ Phase {prev_id}: {prev_name} -- COMPLETED
997
-
998
- 🧠 Learnings Extracted:
999
- {list learnings added}
1000
-
1001
- 👑 Wisdom Promoted to QUEEN.md:
1002
- {for each promoted learning:}
1003
- [{type}] {brief claim}
1004
- {end for}
1005
-
1006
- 🐜 Instincts Updated:
1007
- {for each instinct created or updated:}
1008
- [{confidence}] {domain}: {action}
1009
- {end for}
1010
-
1011
- ─────────────────────────────────────────────────────
1012
-
1013
- ➡️ Advancing to Phase {next_id}: {next_name}
1014
- {next_description}
1015
- 📋 Tasks: {task_count}
1016
- 📊 State: READY
1017
-
1018
- 🐜 Next Steps:
1019
- /ant:build {next_id} 🔨 Start building Phase {next_id}: {next_name}
1020
- /ant:phase {next_id} 📋 Review phase details first
1021
- /ant:focus "<area>" 🎯 Guide colony attention
1022
-
1023
- 💾 State persisted — context clear suggested above
1024
-
1025
- 📋 Context document updated at `.aether/CONTEXT.md`
1026
- ```
1027
-
1028
- **IMPORTANT:** In the "Next Steps" section above, substitute the actual phase number for `{next_id}` (calculated in Step 2 as `current_phase + 1`). For example, if advancing to phase 4, output `/ant:build 4` not `/ant:build {next_id}`.
1029
-
1030
- ### Step 4: Update Session
1031
-
1032
- Update the session tracking file to enable `/ant:resume` after context clear:
1033
-
1034
- ```bash
1035
- bash .aether/aether-utils.sh session-update "/ant:continue" "/ant:build {next_id}" "Phase {prev_id} completed, advanced to Phase {next_id}"
1036
- ```
59
+ After `continue-finalize.md` finishes, return the normal continue summary and
60
+ next-step routing exactly as defined there.