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,3 +1,4 @@
1
+ <!-- Generated from .aether/commands/migrate-state.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:migrate-state
3
4
  description: "🚚🐜📦🐜🚚 One-time state migration from v1 to v2.0 format"
@@ -113,12 +114,15 @@ Format the JSON with 2-space indentation for readability.
113
114
 
114
115
  Output header:
115
116
 
117
+
116
118
  ```
117
- 🚚🐜📦🐜🚚 ═══════════════════════════════════════════════════
119
+ 🚚🐜📦🐜🚚 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
120
  S T A T E M I G R A T I O N C O M P L E T E
119
- ═══════════════════════════════════════════════════ 🚚🐜📦🐜🚚
121
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚚🐜📦🐜🚚
120
122
  ```
121
123
 
124
+
125
+
122
126
  Then output a migration summary:
123
127
 
124
128
  ```
@@ -151,3 +155,17 @@ All commands now use consolidated state format.
151
155
  - After v5.1 ships, this command can be removed
152
156
  - All 12+ ant commands will be updated to use the new single-file format
153
157
  - The backup directory preserves original files for rollback if needed
158
+
159
+
160
+ ---
161
+
162
+ ## Step 7: Next Up
163
+
164
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
165
+ ```bash
166
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
167
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
168
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
169
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
170
+ ```
171
+
@@ -1,3 +1,4 @@
1
+ <!-- Generated from .aether/commands/oracle.yaml - DO NOT EDIT DIRECTLY -->
1
2
  ---
2
3
  name: ant:oracle
3
4
  description: "🔮🐜🧠🐜🔮🐜 Oracle Ant - deep research agent using RALF iterative loop pattern"
@@ -25,25 +26,16 @@ Parse `$ARGUMENTS` to determine the action:
25
26
 
26
27
  2. **If remaining arguments is exactly `stop`** — go to **Step 0b: Stop Oracle**
27
28
  3. **If remaining arguments is exactly `status`** — go to **Step 0c: Show Status**
28
- 4. **Otherwise** go to **Step 0.5: Initialize Visual Mode** then **Step 1: Research Wizard**
29
+ 4. **If remaining arguments is exactly `promote`** go to **Step 0d: Promote Findings**
30
+ 5. **Otherwise** — go to **Step 0.5: Initialize Visual Mode** then **Step 1: Research Wizard**
29
31
 
30
32
  ### Step 0.5: Initialize Visual Mode (if enabled)
31
33
 
32
- If `visual_mode` is true:
33
- ```bash
34
- # Generate session ID
35
- oracle_id="oracle-$(date +%s)"
36
-
37
- # Initialize swarm display
38
- bash .aether/aether-utils.sh swarm-display-init "$oracle_id"
39
- bash .aether/aether-utils.sh swarm-display-update "Oracle" "oracle" "researching" "Deep research in progress" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
40
- ```
41
-
42
34
  Display visual header:
43
35
  ```
44
- 🔮🐜🧠🐜🔮 ═══════════════════════════════════════════════
45
- O R A C L E — R e s e a r c h M o d e
46
- ═══════════════════════════════════════════════ 🔮🐜🧠🐜🔮
36
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
37
+ 🔮🐜🧠🐜🔮 O R A C L E — R e s e a r c h M o d e
38
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
39
 
48
40
  Oracle peering into the depths...
49
41
  ```
@@ -52,7 +44,7 @@ Oracle peering into the depths...
52
44
 
53
45
  ### Step 0b: Stop Oracle
54
46
 
55
- Create the stop signal file:
47
+ Create the stop signal file by running using the Bash tool with description "Stopping oracle research...":
56
48
 
57
49
  ```bash
58
50
  mkdir -p .aether/oracle && touch .aether/oracle/.stop
@@ -75,36 +67,32 @@ Stop here. Do not proceed.
75
67
 
76
68
  ### Step 0c: Show Status
77
69
 
78
- Check if `.aether/oracle/progress.md` exists using the Read tool.
70
+ Check if `.aether/oracle/research-plan.md` exists using the Read tool.
79
71
 
80
72
  **If it does NOT exist**, output:
81
73
 
82
74
  ```
83
75
  🔮🐜 Oracle Status: No Research In Progress
84
76
 
85
- No progress.md found. Start a research session:
77
+ No active research session. Start one:
86
78
  /ant:oracle
87
79
  ```
88
80
 
89
81
  Stop here.
90
82
 
91
- **If it exists**, read `.aether/oracle/progress.md` and `.aether/oracle/research.json` (if present).
92
-
93
- Count the number of `## Iteration` headings in progress.md to determine iterations completed.
83
+ **If it exists**, read `.aether/oracle/research-plan.md` and `.aether/oracle/state.json` (if present).
94
84
 
95
85
  Output:
96
86
 
97
87
  ```
98
88
  🔮🐜 Oracle Status
99
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
100
- Topic: {topic from research.json, or "unknown"}
101
- Confidence: {target_confidence}%
102
- Iterations: {completed} / {max_iterations}
103
- Started: {started_at}
89
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
90
+ Topic: {topic from state.json, or "unknown"}
91
+ Iteration: {iteration} of {max_iterations}
92
+ Status: {status}
104
93
 
105
- Progress:
106
- {last 50 lines of progress.md}
107
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
94
+ {contents of research-plan.md}
95
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
108
96
 
109
97
  /ant:oracle stop Halt the loop
110
98
  /ant:oracle Start new research
@@ -114,6 +102,143 @@ Stop here.
114
102
 
115
103
  ---
116
104
 
105
+ ### Step 0d: Promote Findings to Colony
106
+
107
+ Check if `.aether/oracle/state.json` exists. If it does NOT exist, or if the status is "active", output:
108
+
109
+ ```
110
+ 🔮🐜 Oracle Promote: No Completed Research
111
+
112
+ No completed research to promote. Run /ant:oracle first, then wait for completion.
113
+ ```
114
+
115
+ Stop here.
116
+
117
+ **If state.json exists and status is "complete" or "stopped":**
118
+
119
+ Read `.aether/oracle/plan.json` and extract high-confidence findings. Run using the Bash tool with description "Reading oracle findings for promotion...":
120
+
121
+ ```bash
122
+ ORACLE_DIR=".aether/oracle"
123
+ topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
124
+ status=$(jq -r '.status // "active"' "$ORACLE_DIR/state.json")
125
+ count=$(jq '[.questions[] | select(.status == "answered" and .confidence >= 80)] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
126
+ total=$(jq '[.questions[]] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
127
+ echo "TOPIC=$topic"
128
+ echo "STATUS=$status"
129
+ echo "QUALIFYING=$count"
130
+ echo "TOTAL=$total"
131
+ ```
132
+
133
+ If qualifying count is 0, output:
134
+
135
+ ```
136
+ 🔮🐜 Oracle Promote: No Qualifying Findings
137
+
138
+ Topic: {topic}
139
+ Status: {status}
140
+ Findings: 0 of {total} questions meet the threshold (answered + 80%+ confidence)
141
+
142
+ Lower-confidence findings remain in .aether/oracle/synthesis.md for reference.
143
+ ```
144
+
145
+ Stop here.
146
+
147
+ **If qualifying count > 0**, display the summary and ask for confirmation:
148
+
149
+ ```
150
+ 🔮🐜 Oracle Promote: Colony Knowledge Integration
151
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
152
+
153
+ Oracle Research: {topic}
154
+ Status: {status}
155
+ High-confidence findings: {count} (answering {count} of {total} questions)
156
+
157
+ These findings will be promoted to:
158
+ - Colony instincts (COLONY_STATE.json)
159
+ - Colony learnings (learnings.json)
160
+ - Observation pipeline (for queen-promote)
161
+
162
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
163
+ ```
164
+
165
+ Use AskUserQuestion to ask:
166
+
167
+ ```
168
+ Promote these findings to colony knowledge?
169
+ ```
170
+
171
+ Options:
172
+ 1. **Yes, promote all high-confidence findings** -- Push qualifying findings to colony instincts, learnings, and observations
173
+ 2. **No, skip promotion** -- Findings remain in .aether/oracle/ for reference only
174
+
175
+ **If user selects Yes:**
176
+
177
+ Run promotion using the Bash tool with description "Promoting oracle findings to colony knowledge...". For each qualifying question, call the colony APIs directly:
178
+
179
+ ```bash
180
+ ORACLE_DIR=".aether/oracle"
181
+ UTILS=".aether/aether-utils.sh"
182
+ topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
183
+ promoted=0
184
+
185
+ while IFS= read -r question; do
186
+ q_text=$(echo "$question" | jq -r '.text')
187
+ q_confidence=$(echo "$question" | jq -r '.confidence')
188
+ findings_text=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | join("; ")' 2>/dev/null | head -c 200)
189
+ first_finding=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | first // "No findings"' 2>/dev/null)
190
+
191
+ bash "$UTILS" instinct-create \
192
+ --trigger "researching: $q_text" \
193
+ --action "Oracle found (${q_confidence}% confidence): $findings_text" \
194
+ --confidence "$(echo "scale=2; $q_confidence / 100" | bc)" \
195
+ --domain "research" \
196
+ --source "oracle:$topic" \
197
+ --evidence "Oracle research: $q_text" 2>/dev/null || true
198
+
199
+ bash "$UTILS" learning-promote \
200
+ "Oracle: $q_text -- $first_finding" \
201
+ "oracle" \
202
+ "oracle-research" \
203
+ "oracle,research" 2>/dev/null || true
204
+
205
+ bash "$UTILS" memory-capture learning \
206
+ "Oracle research finding: $q_text (${q_confidence}%)" \
207
+ "pattern" \
208
+ "oracle:promote" 2>/dev/null || true
209
+
210
+ promoted=$((promoted + 1))
211
+ done < <(jq -c '[.questions[] | select(.status == "answered" and .confidence >= 80)] | .[]' "$ORACLE_DIR/plan.json")
212
+
213
+ echo "Promoted $promoted findings"
214
+ ```
215
+
216
+ Output:
217
+
218
+ ```
219
+ 🔮🐜 Oracle Promote: Complete
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ Promoted {count} findings to colony knowledge:
223
+ - Instincts created in COLONY_STATE.json
224
+ - Learnings stored in learnings.json
225
+ - Observations tracked for wisdom promotion
226
+
227
+ Run /ant:status to see colony knowledge updates.
228
+
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+ ```
231
+
232
+ **If user selects No:**
233
+
234
+ ```
235
+ 🔮🐜 Promotion skipped. Findings remain in .aether/oracle/synthesis.md.
236
+ ```
237
+
238
+ Stop here.
239
+
240
+ ---
241
+
117
242
  ### Step 1: Research Wizard
118
243
 
119
244
  This is the setup phase. The Oracle asks questions to configure the research before launching.
@@ -121,9 +246,9 @@ This is the setup phase. The Oracle asks questions to configure the research bef
121
246
  Output the header:
122
247
 
123
248
  ```
124
- 🔮🐜🧠🐜🔮 ═══════════════════════════════════════════════════
125
- O R A C L E A N T R E S E A R C H W I Z A R D
126
- ═══════════════════════════════════════════════════ 🔮🐜🧠🐜🔮
249
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
+ 🔮🐜🧠🐜🔮 O R A C L E A N T R E S E A R C H W I Z A R D
251
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
127
252
  ```
128
253
 
129
254
  **If `$ARGUMENTS` is not empty and not a subcommand**, use it as the initial topic suggestion. Otherwise, the topic will be asked in Question 1.
@@ -153,7 +278,22 @@ Describe the research topic in detail. The more specific, the better the Oracle'
153
278
 
154
279
  (The user will type their topic via the "Other" free-text option.)
155
280
 
156
- **Question 2: Research Depth**
281
+ **Question 2: Research Template**
282
+
283
+ ```
284
+ What type of research is this?
285
+ ```
286
+
287
+ Options:
288
+ 1. **Technology evaluation** -- Compare and evaluate a technology, library, or tool
289
+ 2. **Architecture review** -- Analyze system design, components, and dependencies
290
+ 3. **Bug investigation** -- Track down and understand a specific bug or issue
291
+ 4. **Best practices** -- Research recommended approaches for a domain or technique
292
+ 5. **Custom research** -- Free-form research (Oracle decomposes the topic as it sees fit)
293
+
294
+ Map selection to template value: 1->tech-eval, 2->architecture-review, 3->bug-investigation, 4->best-practices, 5->custom
295
+
296
+ **Question 3: Research Depth**
157
297
 
158
298
  ```
159
299
  How deep should the Oracle go?
@@ -165,7 +305,7 @@ Options:
165
305
  3. **Deep dive (30 iterations)** — Exhaustive research, leaves no stone unturned
166
306
  4. **Marathon (50 iterations)** — Maximum depth, may take hours
167
307
 
168
- **Question 3: Confidence Target**
308
+ **Question 4: Confidence Target**
169
309
 
170
310
  ```
171
311
  When should the Oracle consider the research complete?
@@ -177,7 +317,7 @@ Options:
177
317
  3. **95% confidence (recommended)** — Thorough, few gaps remaining
178
318
  4. **99% confidence** — Near-exhaustive, won't stop until almost everything is known
179
319
 
180
- **Question 4: Research Scope** (only if topic involves codebase)
320
+ **Question 5: Research Scope** (only if topic involves codebase)
181
321
 
182
322
  ```
183
323
  Should the Oracle also search the web, or stay within the codebase?
@@ -188,6 +328,37 @@ Options:
188
328
  2. **Codebase + web** — Also use WebSearch and WebFetch for docs, best practices, prior art
189
329
  3. **Web only** — Focus on external research (libraries, concepts, techniques)
190
330
 
331
+ **Question 6: Search Strategy**
332
+
333
+ (Ask this question for all research types.)
334
+
335
+ ```
336
+ How should the Oracle approach the research?
337
+ ```
338
+
339
+ Options:
340
+ 1. **Adaptive (recommended)** -- Oracle decides when to go broad vs deep based on research progress
341
+ 2. **Breadth-first** -- Cover all questions with initial findings before going deep on any single one
342
+ 3. **Depth-first** -- Pick the most important question and investigate it exhaustively before moving on
343
+
344
+ **Question 7: Focus Areas** (optional)
345
+
346
+ ```
347
+ Are there specific aspects you want the Oracle to prioritize?
348
+ ```
349
+
350
+ Options:
351
+ 1. **No specific focus** -- Let the Oracle decide what to investigate first
352
+ 2. **Yes, I have focus areas** -- I want to steer the research toward specific aspects
353
+
354
+ If the user selects option 2, ask a follow-up AskUserQuestion with free-text:
355
+
356
+ ```
357
+ List your focus areas (comma-separated). Example: "security implications, performance under load, migration path"
358
+ ```
359
+
360
+ Parse the comma-separated response into individual focus area strings.
361
+
191
362
  After collecting all answers, proceed to Step 2.
192
363
 
193
364
  ---
@@ -201,7 +372,7 @@ Capture session start time:
201
372
  ORACLE_START=$(date +%s)
202
373
  ```
203
374
 
204
- Check for stale files:
375
+ Check for stale files by running using the Bash tool with description "Checking for stale oracle session...":
205
376
  ```bash
206
377
  stale_check=$(bash .aether/aether-utils.sh session-verify-fresh --command oracle "" "$ORACLE_START")
207
378
  has_stale=$(echo "$stale_check" | jq -r '.stale | length')
@@ -228,7 +399,7 @@ fi
228
399
 
229
400
  ### Step 2: Configure Research
230
401
 
231
- Create the oracle directory structure:
402
+ Create the oracle directory structure by running using the Bash tool with description "Setting up oracle research...":
232
403
 
233
404
  ```bash
234
405
  mkdir -p .aether/oracle/archive .aether/oracle/discoveries
@@ -238,66 +409,147 @@ Generate an ISO-8601 UTC timestamp.
238
409
 
239
410
  **Archive previous research if it exists:**
240
411
 
241
- Check if `.aether/oracle/progress.md` exists. If it does:
412
+ Check if `.aether/oracle/state.json` exists. If it does, run using the Bash tool with description "Archiving previous research...":
242
413
 
243
414
  ```bash
244
- DATE=$(date +%Y-%m-%d)
245
- TIMESTAMP=$(date +%H%M%S)
246
- mkdir -p .aether/oracle/archive
247
- cp .aether/oracle/progress.md ".aether/oracle/archive/${DATE}-${TIMESTAMP}-progress.md" 2>/dev/null || true
248
- cp .aether/oracle/research.json ".aether/oracle/archive/${DATE}-${TIMESTAMP}-research.json" 2>/dev/null || true
415
+ ARCHIVE_TS=$(date +%Y-%m-%d-%H%M%S)
416
+ mkdir -p .aether/oracle/archive/$ARCHIVE_TS
417
+ for f in state.json plan.json gaps.md synthesis.md research-plan.md; do
418
+ [ -f ".aether/oracle/$f" ] && cp ".aether/oracle/$f" ".aether/oracle/archive/$ARCHIVE_TS/"
419
+ done
249
420
  ```
250
421
 
251
- **Write research.json:**
422
+ **Write state.json** (replaces research.json):
252
423
 
253
- Use the Write tool to write `.aether/oracle/research.json`:
424
+ Use the Write tool to create `.aether/oracle/state.json`:
254
425
 
255
426
  ```json
256
427
  {
428
+ "version": "1.1",
257
429
  "topic": "<the research topic>",
258
430
  "scope": "<codebase|web|both>",
259
- "questions": [
260
- "<break the topic into 3-5 specific research questions>"
261
- ],
431
+ "template": "<template from Question 2: tech-eval|architecture-review|bug-investigation|best-practices|custom>",
432
+ "phase": "survey",
433
+ "iteration": 0,
262
434
  "max_iterations": <number from depth choice>,
263
435
  "target_confidence": <number from confidence choice>,
264
- "started_at": "<ISO-8601 UTC timestamp>"
436
+ "overall_confidence": 0,
437
+ "started_at": "<ISO-8601 UTC timestamp>",
438
+ "last_updated": "<ISO-8601 UTC timestamp>",
439
+ "status": "active",
440
+ "strategy": "<strategy from Question 6: adaptive|breadth-first|depth-first>",
441
+ "focus_areas": [<array of focus area strings from Question 7, or empty array if no focus>]
265
442
  }
266
443
  ```
267
444
 
268
- The `questions` array is important break the user's topic into 3-5 concrete, specific questions that the Oracle should answer. These guide each iteration.
445
+ **Emit focus area pheromones** (if any focus areas were set):
446
+
447
+ For each focus area string from Question 7, run using the Bash tool with description "Emitting focus area pheromones...":
448
+
449
+ ```bash
450
+ bash .aether/aether-utils.sh pheromone-write FOCUS "$focus_area" \
451
+ --strength 0.8 --source "oracle:wizard" \
452
+ --reason "Focus area set in oracle wizard" --ttl "24h" 2>/dev/null || true
453
+ ```
269
454
 
270
- **Write progress.md:**
455
+ **Write plan.json:**
271
456
 
272
- Use the Write tool to write `.aether/oracle/progress.md`:
457
+ **If template is NOT `custom`**, pre-populate plan.json with the template's default questions. **If template IS `custom`**, break the topic into 3-8 sub-questions (adapt to topic complexity -- broader topics get more questions, focused topics fewer).
458
+
459
+ Template default questions:
460
+
461
+ - **tech-eval**: q1 "What problem does this technology solve and what are its core capabilities?", q2 "How does it compare to alternative solutions?", q3 "What are its known limitations and tradeoffs?", q4 "What is the adoption and community status?", q5 "What is the migration or integration path?"
462
+ - **architecture-review**: q1 "What are the main components and their responsibilities?", q2 "What are the dependency relationships between components?", q3 "Where are the risk areas (coupling, complexity, single points of failure)?", q4 "How does it handle scale and growth?", q5 "What would an expert change about this architecture?"
463
+ - **bug-investigation**: q1 "What is the exact failure behavior?", q2 "What are the reproduction conditions?", q3 "What is the root cause?", q4 "What are possible fixes and their tradeoffs?", q5 "Are there related issues or regression risks?"
464
+ - **best-practices**: q1 "What is current industry best practice for this domain?", q2 "How does our implementation compare to best practice?", q3 "What gaps exist between our approach and best practice?", q4 "What is the recommended improvement path?"
465
+
466
+ Use the Write tool to create `.aether/oracle/plan.json`:
467
+
468
+ ```json
469
+ {
470
+ "version": "1.1",
471
+ "sources": {},
472
+ "questions": [
473
+ {
474
+ "id": "q1",
475
+ "text": "<question text from template or AI-decomposed>",
476
+ "status": "open",
477
+ "confidence": 0,
478
+ "key_findings": [],
479
+ "iterations_touched": []
480
+ }
481
+ ],
482
+ "created_at": "<ISO-8601 UTC timestamp>",
483
+ "last_updated": "<ISO-8601 UTC timestamp>"
484
+ }
485
+ ```
486
+
487
+ **Write gaps.md** (initial empty structure):
488
+
489
+ Use the Write tool to create `.aether/oracle/gaps.md`:
273
490
 
274
491
  ```markdown
275
- # Oracle Research Progress
492
+ # Knowledge Gaps
276
493
 
277
- **Topic:** <the research topic>
278
- **Started:** <ISO-8601 UTC timestamp>
279
- **Target Confidence:** <N>%
280
- **Max Iterations:** <N>
281
- **Scope:** <codebase|web|both>
494
+ ## Open Questions
495
+ (No research conducted yet)
282
496
 
283
- ## Research Questions
284
- 1. <question 1>
285
- 2. <question 2>
286
- 3. <question 3>
287
- ...
497
+ ## Contradictions
498
+ (None identified)
288
499
 
289
- ---
500
+ ## Last Updated
501
+ Iteration 0 -- <ISO-8601 UTC timestamp>
502
+ ```
503
+
504
+ **Write synthesis.md** (initial empty structure):
290
505
 
506
+ Use the Write tool to create `.aether/oracle/synthesis.md`:
507
+
508
+ ```markdown
509
+ # Research Synthesis
510
+
511
+ ## Topic
512
+ <the research topic>
513
+
514
+ ## Findings by Question
515
+ (No findings yet -- research has not started)
516
+
517
+ ## Last Updated
518
+ Iteration 0 -- <ISO-8601 UTC timestamp>
519
+ ```
520
+
521
+ **Generate research-plan.md:**
522
+
523
+ After writing plan.json, generate research-plan.md as the executive summary. Use the Write tool to create `.aether/oracle/research-plan.md`:
524
+
525
+ ```markdown
526
+ # Research Plan
527
+
528
+ **Topic:** <topic>
529
+ **Status:** active | **Iteration:** 0 of <max>
530
+ **Overall Confidence:** 0%
531
+
532
+ ## Questions
533
+ | # | Question | Status | Confidence |
534
+ |---|----------|--------|------------|
535
+ | q1 | <question text> | open | 0% |
536
+ | q2 | ... | open | 0% |
537
+
538
+ ## Next Steps
539
+ Next investigation: <text of q1, the first question>
540
+
541
+ ---
542
+ *Generated from plan.json -- do not edit directly*
291
543
  ```
292
544
 
293
545
  #### Step 2.5: Verify Oracle Files Are Fresh
294
546
 
295
- Verify that progress.md and research.json were created successfully:
547
+ Verify that state.json, plan.json, gaps.md, synthesis.md, and research-plan.md were created successfully by running using the Bash tool with description "Verifying oracle files...":
296
548
  ```bash
297
549
  verify_result=$(bash .aether/aether-utils.sh session-verify-fresh --command oracle "" "$ORACLE_START")
298
550
  fresh_count=$(echo "$verify_result" | jq -r '.fresh | length')
299
551
 
300
- if [[ "$fresh_count" -lt 2 ]]; then
552
+ if [[ "$fresh_count" -lt 5 ]]; then
301
553
  echo "Warning: Oracle files not properly initialized"
302
554
  fi
303
555
  ```
@@ -308,31 +560,34 @@ Proceed to Step 3.
308
560
 
309
561
  ### Step 3: Launch
310
562
 
311
- Output the research configuration summary:
563
+ Output the research configuration summary, showing the sub-questions from plan.json:
312
564
 
313
565
  ```
314
566
  🔮 Research Configured
315
567
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
316
568
 
317
569
  📍 Topic: <topic>
570
+ 📐 Template: <template type, e.g. "tech-eval" or "custom">
318
571
  🔄 Iterations: <max_iterations>
319
572
  🎯 Confidence: <target_confidence>%
320
573
  🔍 Scope: <scope>
574
+ 📐 Strategy: <strategy>
575
+ 🎯 Focus: <focus areas comma-separated, or "None">
321
576
 
322
- 📋 Research Questions:
323
- 1. <question>
324
- 2. <question>
325
- 3. <question>
577
+ 📋 Sub-Questions:
578
+ q1. <question text from plan.json>
579
+ q2. <question text from plan.json>
580
+ q3. <question text from plan.json>
326
581
 
327
582
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
328
583
  ```
329
584
 
330
585
  Now launch the loop. Try tmux first, fall back to manual.
331
586
 
332
- **Try tmux:**
587
+ **Try tmux** by running using the Bash tool with description "Launching oracle in tmux...":
333
588
 
334
589
  ```bash
335
- tmux new-session -d -s oracle "cd $(pwd) && bash .aether/oracle/oracle.sh; echo ''; echo '🔮🐜 Oracle loop finished. Press any key to close.'; read -n1" 2>/dev/null && echo "TMUX_OK" || echo "TMUX_FAIL"
590
+ tmux new-session -d -s oracle "cd $(pwd) && bash .aether/utils/oracle/oracle.sh; echo ''; echo '🔮🐜 Oracle loop finished. Press any key to close.'; read -n1" 2>/dev/null && echo "TMUX_OK" || echo "TMUX_FAIL"
336
591
  ```
337
592
 
338
593
  **If TMUX_OK:**
@@ -347,7 +602,7 @@ tmux new-session -d -s oracle "cd $(pwd) && bash .aether/oracle/oracle.sh; echo
347
602
  📊 Check status: /ant:oracle status
348
603
  🛑 Stop early: /ant:oracle stop
349
604
 
350
- Results will accumulate in .aether/oracle/progress.md
605
+ Research progress visible at .aether/oracle/research-plan.md
351
606
  The Oracle will stop when it reaches {target_confidence}% confidence
352
607
  or completes {max_iterations} iterations.
353
608
 
@@ -367,7 +622,7 @@ Stop here.
367
622
  tmux not available. Run this in a separate terminal:
368
623
 
369
624
  cd {current_working_directory}
370
- bash .aether/oracle/oracle.sh
625
+ bash .aether/utils/oracle/oracle.sh
371
626
 
372
627
  Then come back here:
373
628
  📊 Check status: /ant:oracle status
@@ -376,4 +631,12 @@ Stop here.
376
631
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
377
632
  ```
378
633
 
634
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
635
+ ```bash
636
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
637
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
638
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
639
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
640
+ ```
641
+
379
642
  Stop here.