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,399 +0,0 @@
1
- # Aether Colony System - Comprehensive Review Report
2
-
3
- **Research Date:** 2026-02-14
4
- **Researcher:** Oracle Ant
5
- **Iterations:** 9
6
- **Confidence Level:** 95%
7
-
8
- ---
9
-
10
- ## Executive Summary
11
-
12
- This report presents a comprehensive read-only review of the Aether colony system. The system is a sophisticated multi-agent framework with 34 slash commands, 4 OpenCode agents, a comprehensive CLI, and extensive utility functions. While the architecture is well-designed, several critical issues have been identified that impact functionality and consistency.
13
-
14
- ### Key Findings
15
-
16
- 1. **State Inconsistency**: The colony state shows "INITIALIZING" but phase 7 is marked "completed"
17
- 2. **Path Inconsistency**: HANDOFF.md is written to `.aether/HANDOFF.md` but read from `HANDOFF.md`
18
- 3. **Subagent Type Mismatch**: plan.md uses "general-purpose" but the system expects "general"
19
- 4. **Missing State Fields**: References to milestone and workers fields that don't exist in COLONY_STATE.json
20
-
21
- ---
22
-
23
- ## Core Components Overview
24
-
25
- ### 1. Slash Commands (34 commands)
26
- **Location:** `/Users/callumcowie/repos/Aether/.claude/commands/ant/`
27
-
28
- The slash commands form the primary user interface for the colony system:
29
-
30
- **Lifecycle Commands:**
31
- - `init.md` - Initialize colony with goal
32
- - `plan.md` - Generate project plan (50-iteration research loop)
33
- - `build.md` - Execute phase with workers
34
- - `continue.md` - Complete phase and advance (6-phase verification loop)
35
- - `pause-colony.md` - Save session state
36
- - `resume-colony.md` - Restore session state
37
- - `status.md` - Display colony status
38
-
39
- **Management Commands:**
40
- - `flags.md` - Manage blockers/issues/notes
41
- - `watch.md` - Real-time activity monitoring
42
- - `swarm.md` - Parallel bug investigation
43
- - `oracle.md` - Deep research (this command)
44
-
45
- ### 2. OpenCode Agents (4 agents)
46
- **Location:** `/Users/callumcowie/repos/Aether/.opencode/agents/`
47
-
48
- - `aether-queen.md` - Orchestrator agent
49
- - `aether-builder.md` - Implementation agent
50
- - `aether-scout.md` - Research agent
51
- - `aether-watcher.md` - Verification agent
52
-
53
- **Note:** These agents exist but are not integrated with the slash command system.
54
-
55
- ### 3. CLI (Node.js)
56
- **Location:** `/Users/callumcowie/repos/Aether/bin/cli.js`
57
-
58
- Comprehensive CLI with 17 library modules:
59
- - `errors.js` - Structured error handling
60
- - `file-lock.js` - Concurrent access control
61
- - `model-profiles.js` - Model selection and routing
62
- - `telemetry.js` - Usage tracking
63
- - `state-sync.js` - State reconciliation
64
- - `update-transaction.js` - Atomic updates with rollback
65
-
66
- ### 4. Utility Layer (Bash)
67
- **Location:** `/Users/callumcowie/repos/Aether/.aether/aether-utils.sh`
68
-
69
- 50+ subcommands for colony operations:
70
- - State management (load-state, unload-state, validate-state)
71
- - Error handling (error-add, error-pattern-check, error-summary)
72
- - Activity logging (activity-log, spawn-log, spawn-complete)
73
- - Flag management (flag-add, flag-check-blockers, flag-list)
74
- - Model profiles (model-profile, model-get, model-list)
75
-
76
- ### 5. State Files
77
- **Location:** `/Users/callumcowie/repos/Aether/.aether/data/`
78
-
79
- - `COLONY_STATE.json` - Unified colony state (v3.0)
80
- - `constraints.json` - Focus and constraint signals
81
- - `flags.json` - Blockers, issues, and notes
82
- - `activity.log` - Activity stream
83
- - `spawn-tree.txt` - Worker spawn tracking
84
- - `telemetry.json` - Model performance data
85
-
86
- ---
87
-
88
- ## Critical Issues (Require Immediate Attention)
89
-
90
- ### 1. State Inconsistency
91
- **Severity:** HIGH
92
- **Location:** `.aether/data/COLONY_STATE.json:4`
93
-
94
- **Problem:**
95
- The state field is set to "INITIALIZING" but the current_phase is 7 with status "completed". According to the state machine defined in status.md (line 124), valid states are: IDLE, READY, EXECUTING, PLANNING.
96
-
97
- **Current State:**
98
- ```json
99
- {
100
- "state": "INITIALIZING",
101
- "current_phase": 7,
102
- "plan": {
103
- "phases": [
104
- {"number": 7, "name": "Core Reliability", "status": "completed"}
105
- ]
106
- }
107
- }
108
- ```
109
-
110
- **Fix Required:**
111
- Update the state field to reflect actual status:
112
- ```json
113
- {
114
- "state": "READY"
115
- }
116
- ```
117
-
118
- ### 2. HANDOFF.md Path Inconsistency
119
- **Severity:** HIGH
120
- **Location:** Multiple command files
121
-
122
- **Problem:**
123
- - `pause-colony.md` (line 38): Writes to `.aether/HANDOFF.md`
124
- - `continue.md`, `plan.md`, `status.md`: Look for `HANDOFF.md` in root
125
-
126
- This breaks the pause/resume functionality.
127
-
128
- **Files Affected:**
129
- - `.claude/commands/ant/pause-colony.md`
130
- - `.claude/commands/ant/continue.md`
131
- - `.claude/commands/ant/plan.md`
132
- - `.claude/commands/ant/status.md`
133
- - `.claude/commands/ant/resume-colony.md`
134
-
135
- **Fix Required:**
136
- Standardize all references to `.aether/HANDOFF.md`:
137
-
138
- ```bash
139
- # In continue.md, plan.md, status.md - change:
140
- Read HANDOFF.md
141
- # To:
142
- Read .aether/HANDOFF.md
143
-
144
- # In resume-colony.md - change:
145
- rm -f .aether/HANDOFF.md
146
- # (This is already correct, just verify)
147
- ```
148
-
149
- ### 3. Subagent Type Mismatch
150
- **Severity:** HIGH
151
- **Location:** `.claude/commands/ant/plan.md:126`
152
-
153
- **Problem:**
154
- plan.md spawns scouts with `subagent_type="general-purpose"` but the OpenCode agents use `subagent_type: "general"` (see aether-queen.md line 45).
155
-
156
- **Current Code:**
157
- ```markdown
158
- Spawn Research Ant (Scout) via Task tool with subagent_type="general-purpose":
159
- ```
160
-
161
- **Fix Required:**
162
- Change to match the working pattern:
163
- ```markdown
164
- Spawn Research Ant (Scout) via Task tool with subagent_type="general":
165
- ```
166
-
167
- ---
168
-
169
- ## Medium Priority Issues
170
-
171
- ### 4. Pause-Colony Step Numbering Error
172
- **Severity:** MEDIUM
173
- **Location:** `.claude/commands/ant/pause-colony.md:72-82`
174
-
175
- **Problem:**
176
- Step 4.6 (Set Paused Flag) appears before Step 4.5 (Commit Suggestion) in the document, causing confusion about execution order.
177
-
178
- **Fix Required:**
179
- Swap the step numbers:
180
- - Step 4.5: Set Paused Flag
181
- - Step 4.6: Commit Suggestion (Optional)
182
-
183
- ### 5. Resume-Colony References Non-Existent Workers Field
184
- **Severity:** MEDIUM
185
- **Location:** `.claude/commands/ant/resume-colony.md:70-79`
186
-
187
- **Problem:**
188
- The command displays worker status from a `workers` object that doesn't exist in COLONY_STATE.json.
189
-
190
- **Current Display Logic:**
191
- ```markdown
192
- WORKERS
193
- If ALL workers have "idle" status, display:
194
- All 6 workers idle -- colony ready
195
- ```
196
-
197
- **Fix Required:**
198
- Either:
199
- 1. Add workers tracking to COLONY_STATE.json schema, OR
200
- 2. Remove the workers display section from resume-colony.md
201
-
202
- ### 6. Status.md References Non-Existent Milestone Field
203
- **Severity:** MEDIUM
204
- **Location:** `.claude/commands/ant/status.md:127-128`
205
-
206
- **Problem:**
207
- The command references `milestone` and `milestone_updated_at` fields that don't exist in COLONY_STATE.json.
208
-
209
- **Fix Required:**
210
- Either:
211
- 1. Add milestone tracking fields to COLONY_STATE.json:
212
- ```json
213
- {
214
- "milestone": "First Mound",
215
- "milestone_updated_at": "2026-02-14T00:00:00Z"
216
- }
217
- ```
218
- 2. OR remove milestone display from status.md
219
-
220
- ### 7. Hardcoded Proxy Auth Token
221
- **Severity:** MEDIUM
222
- **Location:** `.aether/model-profiles.yaml:99`
223
-
224
- **Problem:**
225
- The LiteLLM proxy auth token is hardcoded as 'sk-litellm-local'.
226
-
227
- **Current:**
228
- ```yaml
229
- proxy:
230
- endpoint: 'http://localhost:4000'
231
- auth_token: sk-litellm-local
232
- ```
233
-
234
- **Fix Required:**
235
- Use environment variable with fallback:
236
- ```yaml
237
- proxy:
238
- endpoint: 'http://localhost:4000'
239
- auth_token: ${LITELLM_AUTH_TOKEN:-sk-litellm-local}
240
- ```
241
-
242
- ---
243
-
244
- ## Low Priority Issues
245
-
246
- ### 8. Test Flags Pollution
247
- **Severity:** LOW
248
- **Location:** `.aether/data/flags.json`
249
-
250
- **Problem:**
251
- 8 test flags from development are still present in the production data file.
252
-
253
- **Fix Required:**
254
- Archive test flags or reset flags.json:
255
- ```bash
256
- # Option 1: Archive
257
- mv .aether/data/flags.json .aether/data/flags.json.backup.$(date +%s)
258
- echo '{"version": 1, "flags": []}' > .aether/data/flags.json
259
-
260
- # Option 2: Keep only unresolved flags
261
- ```
262
-
263
- ### 9. Verify-Castes.md Caste List Sync
264
- **Severity:** LOW
265
- **Location:** `.claude/commands/ant/verify-castes.md`
266
-
267
- **Problem:**
268
- The caste list in verify-castes.md may not match the full workers.md specification.
269
-
270
- **Fix Required:**
271
- Compare caste list with `.aether/workers.md` and sync any differences.
272
-
273
- ---
274
-
275
- ## Missing Features / Gaps
276
-
277
- ### Gap 1: Signal/Pheromone Management
278
- **Impact:** MEDIUM
279
- **Location:** COLONY_STATE.json has "signals" array
280
-
281
- **Problem:**
282
- The COLONY_STATE.json has a "signals" array for pheromone signals, but no command manages it directly.
283
-
284
- **Suggested Solution:**
285
- Create `/ant:signal` command for CRUD operations:
286
- - `/ant:signal add <type> <content>` - Add signal
287
- - `/ant:signal list` - List active signals
288
- - `/ant:signal decay <id>` - Mark signal for decay
289
-
290
- ### Gap 2: Milestone Tracking
291
- **Impact:** MEDIUM
292
-
293
- **Problem:**
294
- The milestone system is defined (6 milestones) but not tracked in state.
295
-
296
- **Suggested Solution:**
297
- Add to COLONY_STATE.json:
298
- ```json
299
- {
300
- "milestone": "First Mound",
301
- "milestone_updated_at": "2026-02-14T00:00:00Z"
302
- }
303
- ```
304
-
305
- ### Gap 3: Worker Tracking
306
- **Impact:** LOW
307
-
308
- **Problem:**
309
- resume-colony.md references workers but no tracking exists.
310
-
311
- **Suggested Solution:**
312
- Either add workers object to state or remove from display:
313
- ```json
314
- {
315
- "workers": {
316
- "builder": {"status": "idle"},
317
- "watcher": {"status": "idle"}
318
- }
319
- }
320
- ```
321
-
322
- ### Gap 4: OpenCode Integration
323
- **Impact:** LOW
324
-
325
- **Problem:**
326
- OpenCode agents exist but are not integrated with slash commands.
327
-
328
- **Suggested Solution:**
329
- Either:
330
- 1. Integrate agents into slash command workflow, OR
331
- 2. Deprecate and remove OpenCode agents if not needed
332
-
333
- ---
334
-
335
- ## Architecture Strengths
336
-
337
- 1. **State Versioning**: Auto-upgrade from v1.0/v2.0 to v3.0
338
- 2. **Concurrency Control**: File locking with load-state/unload-state pattern
339
- 3. **Atomic Updates**: update-transaction.js with rollback capability
340
- 4. **Observability**: Comprehensive logging (activity.log, spawn-tree.txt, telemetry.json)
341
- 5. **Quality Gates**: 6-phase verification loop in continue.md
342
- 6. **Model Routing**: Task-based routing to appropriate models
343
- 7. **Error Handling**: Structured errors with recovery suggestions
344
-
345
- ---
346
-
347
- ## Actionable Fix Checklist
348
-
349
- ### Immediate (HIGH Priority)
350
- - [ ] Fix COLONY_STATE.json state field: "INITIALIZING" → "READY"
351
- - [ ] Standardize HANDOFF.md path in all commands to `.aether/HANDOFF.md`
352
- - [ ] Change plan.md subagent_type from "general-purpose" to "general"
353
-
354
- ### Short-term (MEDIUM Priority)
355
- - [ ] Fix pause-colony.md step numbering (4.5/4.6 swap)
356
- - [ ] Add milestone fields to COLONY_STATE.json OR remove from status.md
357
- - [ ] Add workers field to COLONY_STATE.json OR remove from resume-colony.md
358
- - [ ] Use environment variable for proxy auth token
359
-
360
- ### Long-term (LOW Priority)
361
- - [ ] Clean up test flags from flags.json
362
- - [ ] Create /ant:signal command for pheromone management
363
- - [ ] Sync verify-castes.md with workers.md
364
- - [ ] Evaluate OpenCode agent integration
365
-
366
- ---
367
-
368
- ## File Paths Reference
369
-
370
- ### Critical Files
371
- - `/Users/callumcowie/repos/Aether/.aether/data/COLONY_STATE.json` - Colony state
372
- - `/Users/callumcowie/repos/Aether/.aether/data/flags.json` - Flags data
373
- - `/Users/callumcowie/repos/Aether/.aether/model-profiles.yaml` - Model configuration
374
-
375
- ### Command Files
376
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/init.md`
377
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/plan.md`
378
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/build.md`
379
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/continue.md`
380
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/pause-colony.md`
381
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/resume-colony.md`
382
- - `/Users/callumcowie/repos/Aether/.claude/commands/ant/status.md`
383
-
384
- ### System Files
385
- - `/Users/callumcowie/repos/Aether/.aether/aether-utils.sh` - Utility layer
386
- - `/Users/callumcowie/repos/Aether/bin/cli.js` - CLI entry point
387
- - `/Users/callumcowie/repos/Aether/.aether/workers.md` - Worker specifications
388
-
389
- ---
390
-
391
- ## Conclusion
392
-
393
- The Aether colony system is a well-architected framework with sophisticated state management, quality controls, and observability. The identified issues are primarily consistency problems rather than fundamental design flaws. With the fixes outlined in this report, the system should operate reliably and maintain data integrity across all components.
394
-
395
- **Estimated Fix Time:** 2-4 hours for all HIGH and MEDIUM priority issues.
396
-
397
- ---
398
-
399
- *Report generated by Oracle Ant - Aether Colony Research System*
@@ -1,164 +0,0 @@
1
- # Command Sync Strategy
2
-
3
- This document describes how Aether slash commands are distributed to Claude Code and OpenCode, and the bulletproof sync mechanisms that ensure consistency.
4
-
5
- ---
6
-
7
- ## Distribution Model
8
-
9
- ### Claude Code: Global Sync
10
-
11
- Aether commands are synced to the global Claude Code config directory:
12
-
13
- ```
14
- ~/.claude/commands/ant/
15
- ```
16
-
17
- This is done via `aether install` which copies commands from the npm package to the global location. The sync uses **hash-based comparison** to only copy files that have changed.
18
-
19
- ### OpenCode: Repo-Local Only
20
-
21
- OpenCode **does not** have a global discovery mechanism for slash commands. Commands must exist in the repo-local directory:
22
-
23
- ```
24
- .opencode/commands/ant/
25
- ```
26
-
27
- This is why Aether maintains parallel command directories:
28
- - `.claude/commands/ant/` — Claude Code commands
29
- - `.opencode/commands/ant/` — OpenCode commands (repo-local)
30
-
31
- ---
32
-
33
- ## Why the Strategies Differ
34
-
35
- | Feature | Claude Code | OpenCode |
36
- |---------|-------------|----------|
37
- | Global command discovery | Yes (`~/.claude/commands/`) | No |
38
- | Repo-local commands | Supported | Required |
39
- | Namespace isolation | `/ant:` prefix | `/ant:` prefix |
40
-
41
- **Key insight:** OpenCode's architecture requires repo-local commands. There is no equivalent to `~/.claude/commands/` that provides automatic slash command discovery. This is a fundamental platform difference.
42
-
43
- ---
44
-
45
- ## Hash-Based Idempotent Sync
46
-
47
- The sync system in `bin/cli.js` uses **hash comparison before copying**:
48
-
49
- ```javascript
50
- // Hash comparison: only copy if file doesn't exist or hash differs
51
- let shouldCopy = true;
52
- if (fs.existsSync(destPath)) {
53
- const srcHash = hashFileSync(srcPath);
54
- const destHash = hashFileSync(destPath);
55
- if (srcHash === destHash) {
56
- shouldCopy = false;
57
- skipped++;
58
- }
59
- }
60
-
61
- if (shouldCopy) {
62
- fs.copyFileSync(srcPath, destPath);
63
- }
64
- ```
65
-
66
- **Why this matters:**
67
- - **Idempotent:** Running `aether install` multiple times produces the same result
68
- - **Efficient:** Unchanged files are skipped (visible in logs as "skipped")
69
- - **Bulletproof:** No unnecessary writes reduce the risk of corruption
70
-
71
- ---
72
-
73
- ## Environment Variable Validation
74
-
75
- Before constructing any paths that use the user's home directory, the code validates the HOME environment variable:
76
-
77
- ```javascript
78
- const HOME = process.env.HOME || process.env.USERPROFILE;
79
- if (!HOME) {
80
- console.error('Error: HOME environment variable is not set');
81
- console.error('Please ensure HOME or USERPROFILE is defined');
82
- process.exit(1);
83
- }
84
-
85
- // Now safe to use
86
- const COMMANDS_DEST = path.join(HOME, '.claude', 'commands', 'ant');
87
- ```
88
-
89
- **Why this matters:**
90
- - Prevents crashes on systems where HOME is not set
91
- - Provides clear error message instead of cryptic path errors
92
- - Supports both Unix-like systems (HOME) and Windows (USERPROFILE)
93
-
94
- ---
95
-
96
- ## Verification Commands
97
-
98
- ### Check Sync Status
99
-
100
- To verify commands are in sync between Claude Code and OpenCode within the repo:
101
-
102
- ```bash
103
- ./bin/generate-commands.sh check
104
- ```
105
-
106
- This performs two passes:
107
- 1. **Pass 1:** File count and name comparison
108
- 2. **Pass 2:** SHA-1 hash comparison for content-level drift detection
109
-
110
- ### Verify Global Installation
111
-
112
- To verify global Claude Code commands are installed:
113
-
114
- ```bash
115
- ls ~/.claude/commands/ant/
116
- ```
117
-
118
- ### Verify Global OpenCode Commands
119
-
120
- To verify global OpenCode commands (if previously synced):
121
-
122
- ```bash
123
- ls ~/.config/opencode/commands/ant/
124
- ```
125
-
126
- ---
127
-
128
- ## Sync Workflow
129
-
130
- ```
131
- ┌─────────────────┐
132
- │ Write commands │
133
- │ in .claude/ │
134
- └────────┬────────┘
135
-
136
-
137
- ┌─────────────────────────────────────┐
138
- │ aether install │
139
- │ (syncs to ~/.claude/commands/ant/)│
140
- └────────┬────────────────────────────┘
141
-
142
-
143
- ┌─────────────────────────────────────┐
144
- │ Hash-based copy │
145
- │ (only copies if hash differs) │
146
- └─────────────────────────────────────┘
147
- ```
148
-
149
- ---
150
-
151
- ## Anti-Patterns to Avoid
152
-
153
- 1. **Unconditional copy:** Never copy files without checking if they changed
154
- 2. **Skip hash comparison:** Always use hash comparison for idempotency
155
- 3. **Ignore HOME validation:** Always validate HOME before path construction
156
- 4. **Assume OpenCode global:** OpenCode does not support global command discovery
157
-
158
- ---
159
-
160
- ## See Also
161
-
162
- - `bin/cli.js` — Implementation of hash-based sync
163
- - `bin/generate-commands.sh` — Repo-level sync verification
164
- - `.aether/docs/namespace.md` — Namespace isolation strategy
@@ -1,116 +0,0 @@
1
- # Constraints -- User Guide
2
-
3
- Constraints are how you guide the colony. Instead of micromanaging individual ants, you set focus areas and patterns to avoid. The colony reads these constraints before each build.
4
-
5
- ## How Constraints Work
6
-
7
- - **You set** constraints using `/ant:focus` and `/ant:redirect`
8
- - **Constraints persist** until you remove them or reset the colony
9
- - **Focus areas** tell the colony "pay extra attention here"
10
- - **Avoid patterns** tell the colony "don't do this"
11
- - **Run `/ant:status`** to see active constraints
12
-
13
- ---
14
-
15
- ## FOCUS -- Guide Attention
16
-
17
- **Command:** `/ant:focus "<area>"`
18
-
19
- **What it does:** Adds an area to the focus list. Workers prioritize focused areas in their task execution.
20
-
21
- ### When to use FOCUS
22
-
23
- **Scenario 1: Steering the next build phase**
24
- You're about to run `/ant:build 3` and Phase 3 has tasks touching both the API layer and the database layer. You know the database schema is fragile:
25
-
26
- ```
27
- /ant:focus "database schema -- handle migrations carefully"
28
- /ant:build 3
29
- ```
30
-
31
- **Scenario 2: Directing colonization**
32
- You're colonizing a new project and want the colonizer to pay special attention to testing:
33
-
34
- ```
35
- /ant:focus "test framework and coverage gaps"
36
- /ant:colonize
37
- ```
38
-
39
- ### When NOT to use FOCUS
40
-
41
- - Don't stack 5+ FOCUS areas -- the colony can't prioritize everything (max 5 enforced)
42
- - Don't FOCUS on things the colony already handles (like "write good code") -- be specific
43
-
44
- ---
45
-
46
- ## REDIRECT -- Warn Away
47
-
48
- **Command:** `/ant:redirect "<pattern to avoid>"`
49
-
50
- **What it does:** Adds an AVOID constraint. Workers actively avoid the specified pattern. This is the strongest guidance type.
51
-
52
- ### When to use REDIRECT
53
-
54
- **Scenario 1: Preventing a known bad approach**
55
- Your project uses Next.js Edge Runtime, and you know `jsonwebtoken` doesn't work there:
56
-
57
- ```
58
- /ant:redirect "Don't use jsonwebtoken -- use jose library instead (Edge Runtime compatible)"
59
- /ant:build 2
60
- ```
61
-
62
- **Scenario 2: Steering away from a previous failure**
63
- Phase 1 tried to use synchronous file reads and caused performance issues:
64
-
65
- ```
66
- /ant:redirect "No synchronous file I/O -- use async fs/promises"
67
- ```
68
-
69
- ### When NOT to use REDIRECT
70
-
71
- - Don't REDIRECT for preferences -- use it for hard constraints ("will break" not "I don't like")
72
- - Don't REDIRECT on vague patterns ("don't write bad code") -- be specific
73
-
74
- ---
75
-
76
- ## Storage
77
-
78
- Constraints are stored in `.aether/data/constraints.json`:
79
-
80
- ```json
81
- {
82
- "version": "1.0",
83
- "focus": [
84
- "database schema",
85
- "error handling"
86
- ],
87
- "constraints": [
88
- {
89
- "id": "c_1707345678123",
90
- "type": "AVOID",
91
- "content": "Don't use jsonwebtoken",
92
- "source": "user:redirect",
93
- "created_at": "2026-02-07T12:34:56Z"
94
- }
95
- ]
96
- }
97
- ```
98
-
99
- **Limits:**
100
- - Max 5 focus areas (oldest removed when exceeded)
101
- - Max 10 constraints (oldest removed when exceeded)
102
-
103
- ---
104
-
105
- ## Quick Reference
106
-
107
- | Command | Effect | Limit |
108
- |---------|--------|-------|
109
- | `/ant:focus "<area>"` | Add to focus list | 5 max |
110
- | `/ant:redirect "<avoid>"` | Add AVOID constraint | 10 max |
111
- | `/ant:status` | View active constraints | - |
112
-
113
- **Rule of thumb:**
114
- - Before a build: FOCUS + REDIRECT to steer
115
- - For hard constraints: REDIRECT
116
- - For attention: FOCUS