@jaimevalasek/aioson 1.8.0 → 1.9.1

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 (974) hide show
  1. package/CHANGELOG.md +595 -595
  2. package/CODE_OF_CONDUCT.md +12 -12
  3. package/CONTRIBUTING.md +13 -13
  4. package/LICENSE +661 -661
  5. package/README.md +919 -919
  6. package/bin/aioson.js +4 -4
  7. package/docs/design-previews/aurora-command-ui-website.html +884 -884
  8. package/docs/design-previews/aurora-command-ui.html +682 -682
  9. package/docs/design-previews/bold-editorial-ui-website.html +658 -658
  10. package/docs/design-previews/bold-editorial-ui.html +717 -717
  11. package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
  12. package/docs/design-previews/clean-saas-ui.html +549 -549
  13. package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
  14. package/docs/design-previews/cognitive-core-ui.html +463 -463
  15. package/docs/design-previews/glassmorphism-ui-website.html +572 -572
  16. package/docs/design-previews/glassmorphism-ui.html +886 -886
  17. package/docs/design-previews/index.html +699 -699
  18. package/docs/design-previews/interface-design-website.html +1187 -1187
  19. package/docs/design-previews/interface-design.html +513 -513
  20. package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
  21. package/docs/design-previews/neo-brutalist-ui.html +797 -797
  22. package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
  23. package/docs/design-previews/premium-command-center-ui.html +552 -552
  24. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
  25. package/docs/design-previews/warm-craft-ui-website.html +684 -684
  26. package/docs/design-previews/warm-craft-ui.html +739 -739
  27. package/docs/en/1-understand/ecosystem-map.md +228 -0
  28. package/docs/en/1-understand/glossary.md +288 -0
  29. package/docs/en/1-understand/what-is-aioson.md +94 -0
  30. package/docs/en/1-understand/why-it-exists.md +106 -0
  31. package/docs/en/2-start/existing-project.md +246 -0
  32. package/docs/en/2-start/first-project.md +307 -0
  33. package/docs/en/2-start/initial-decisions.md +223 -0
  34. package/docs/en/3-recipes/README.md +28 -0
  35. package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
  36. package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
  37. package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
  38. package/docs/en/4-agents/README.md +56 -0
  39. package/docs/en/5-reference/README.md +60 -0
  40. package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -464
  41. package/docs/en/{i18n.md → 5-reference/i18n.md} +52 -52
  42. package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
  43. package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
  44. package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
  45. package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
  46. package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
  47. package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
  48. package/docs/en/{release.md → 5-reference/release.md} +28 -28
  49. package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
  50. package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
  51. package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
  52. package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
  53. package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
  54. package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
  55. package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -126
  56. package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
  57. package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
  58. package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
  59. package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
  60. package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
  61. package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
  62. package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
  63. package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -66
  64. package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -122
  65. package/docs/en/{schemas → 5-reference/schemas}/parallel-guard.schema.json +63 -63
  66. package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
  67. package/docs/en/{schemas → 5-reference/schemas}/parallel-merge.schema.json +84 -84
  68. package/docs/en/{schemas → 5-reference/schemas}/parallel-status.schema.json +184 -184
  69. package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
  70. package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
  71. package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
  72. package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
  73. package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
  74. package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
  75. package/docs/en/README.md +115 -0
  76. package/docs/en/active-learning-loop/README.md +117 -0
  77. package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
  78. package/docs/en/active-learning-loop/cli-commands.md +320 -0
  79. package/docs/en/active-learning-loop/diagrams.md +225 -0
  80. package/docs/en/active-learning-loop/doctor-checks.md +151 -0
  81. package/docs/en/active-learning-loop/how-to-use.md +313 -0
  82. package/docs/en/active-learning-loop/troubleshooting.md +283 -0
  83. package/docs/en/deyvin-subtask-scout/README.md +109 -0
  84. package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
  85. package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
  86. package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
  87. package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
  88. package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
  89. package/docs/integrations/apps-publish-marketplace.md +94 -94
  90. package/docs/integrations/sdlc-genius-boundary.md +76 -76
  91. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
  92. package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
  93. package/docs/integrations/sdlc-genius-review-samples.md +86 -86
  94. package/docs/openclaw-bridge.md +308 -308
  95. package/docs/pt/1-entender/glossario.md +288 -0
  96. package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
  97. package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
  98. package/docs/pt/1-entender/por-que-existe.md +107 -0
  99. package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
  100. package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
  101. package/docs/pt/2-comecar/projeto-existente.md +245 -0
  102. package/docs/pt/3-receitas/README.md +28 -0
  103. package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
  104. package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
  105. package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
  106. package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
  107. package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
  108. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
  109. package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
  110. package/docs/pt/3-receitas/landing-page.md +281 -0
  111. package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
  112. package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
  113. package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
  114. package/docs/pt/4-agentes/README.md +65 -0
  115. package/docs/pt/4-agentes/analyst.md +111 -0
  116. package/docs/pt/4-agentes/architect.md +113 -0
  117. package/docs/pt/4-agentes/briefing.md +95 -0
  118. package/docs/pt/4-agentes/committer.md +108 -0
  119. package/docs/pt/4-agentes/copywriter.md +279 -0
  120. package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
  121. package/docs/pt/4-agentes/dev.md +136 -0
  122. package/docs/pt/4-agentes/deyvin.md +99 -0
  123. package/docs/pt/4-agentes/discover.md +122 -0
  124. package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
  125. package/docs/pt/4-agentes/genome.md +115 -0
  126. package/docs/pt/4-agentes/neo.md +93 -0
  127. package/docs/pt/4-agentes/orache.md +107 -0
  128. package/docs/pt/4-agentes/orchestrator.md +118 -0
  129. package/docs/pt/4-agentes/pentester.md +131 -0
  130. package/docs/pt/4-agentes/pm.md +97 -0
  131. package/docs/pt/4-agentes/product.md +114 -0
  132. package/docs/pt/4-agentes/profiler-enricher.md +93 -0
  133. package/docs/pt/4-agentes/profiler-forge.md +93 -0
  134. package/docs/pt/4-agentes/profiler-researcher.md +98 -0
  135. package/docs/pt/4-agentes/qa.md +124 -0
  136. package/docs/pt/4-agentes/setup.md +104 -0
  137. package/docs/pt/4-agentes/sheldon.md +95 -0
  138. package/docs/pt/4-agentes/site-forge.md +104 -0
  139. package/docs/pt/4-agentes/squad.md +127 -0
  140. package/docs/pt/4-agentes/tester.md +105 -0
  141. package/docs/pt/4-agentes/ux-ui.md +110 -0
  142. package/docs/pt/4-agentes/validator.md +118 -0
  143. package/docs/pt/5-referencia/README.md +88 -0
  144. package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
  145. package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
  146. package/docs/pt/5-referencia/aioson-com-store.md +119 -0
  147. package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
  148. package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -290
  149. package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1781
  150. package/docs/pt/{compress-agents.md → 5-referencia/compress-agents.md} +304 -304
  151. package/docs/pt/{design-docs-governance.md → 5-referencia/design-docs-governance.md} +59 -59
  152. package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
  153. package/docs/pt/{feature-archive.md → 5-referencia/feature-archive.md} +199 -191
  154. package/docs/pt/5-referencia/feature-dossier.md +121 -0
  155. package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
  156. package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -407
  157. package/docs/pt/{genome-distribution.md → 5-referencia/genome-distribution.md} +232 -232
  158. package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
  159. package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
  160. package/docs/pt/5-referencia/live-sessions.md +144 -0
  161. package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
  162. package/docs/pt/{motor-hardening.md → 5-referencia/motor-hardening.md} +493 -492
  163. package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
  164. package/docs/pt/{runner-system.md → 5-referencia/runner-system.md} +113 -113
  165. package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
  166. package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
  167. package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
  168. package/docs/pt/5-referencia/sdd-framework.md +115 -0
  169. package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
  170. package/docs/pt/5-referencia/secure-by-default.md +117 -0
  171. package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
  172. package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
  173. package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
  174. package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
  175. package/docs/pt/README.md +111 -125
  176. package/docs/pt/_arquivo/README.md +130 -0
  177. package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
  178. package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
  179. package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
  180. package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
  181. package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
  182. package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
  183. package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
  184. package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
  185. package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -251
  186. package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
  187. package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
  188. package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
  189. package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
  190. package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
  191. package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
  192. package/docs/pt/active-learning-loop/README.md +117 -0
  193. package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
  194. package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
  195. package/docs/pt/active-learning-loop/como-usar.md +313 -0
  196. package/docs/pt/active-learning-loop/diagramas.md +225 -0
  197. package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
  198. package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
  199. package/docs/pt/agentes.md +996 -993
  200. package/docs/pt/deyvin-subtask-scout/README.md +109 -0
  201. package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
  202. package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
  203. package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
  204. package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
  205. package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
  206. package/docs/pt/living-memory/README.md +81 -0
  207. package/docs/pt/living-memory/autonomy-contract.md +206 -0
  208. package/docs/pt/living-memory/diagramas.md +365 -0
  209. package/docs/pt/living-memory/memoria-viva.md +141 -0
  210. package/docs/pt/living-memory/notificacoes-info.md +142 -0
  211. package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
  212. package/docs/pt/living-memory/troubleshooting.md +286 -0
  213. package/docs/testing/genome-2.0-manual-regression.md +23 -23
  214. package/docs/testing/genome-2.0-matrix.md +36 -36
  215. package/docs/testing/genome-2.0-rollout.md +184 -184
  216. package/package.json +51 -51
  217. package/src/a2a/client.js +165 -165
  218. package/src/a2a/server.js +223 -223
  219. package/src/agent-loader.js +280 -280
  220. package/src/agent-manifests.js +86 -66
  221. package/src/agents.js +92 -92
  222. package/src/autonomy-policy.js +163 -139
  223. package/src/backup-local.js +74 -74
  224. package/src/backup-provider.js +303 -303
  225. package/src/brain-query.js +171 -161
  226. package/src/cli.js +85 -5
  227. package/src/commands/agent-audit.js +397 -397
  228. package/src/commands/agent-export-skill.js +229 -229
  229. package/src/commands/agent-loader.js +85 -85
  230. package/src/commands/agents.js +273 -255
  231. package/src/commands/artifact-validate.js +218 -218
  232. package/src/commands/auth.js +298 -272
  233. package/src/commands/backup-local-cmd.js +25 -25
  234. package/src/commands/backup.js +533 -533
  235. package/src/commands/brain-query.js +44 -44
  236. package/src/commands/brief-gen.js +405 -405
  237. package/src/commands/brief-validate.js +65 -65
  238. package/src/commands/briefing.js +344 -344
  239. package/src/commands/classify.js +256 -256
  240. package/src/commands/cloud.js +1767 -1767
  241. package/src/commands/commit-prepare.js +610 -547
  242. package/src/commands/compress-agents.js +416 -416
  243. package/src/commands/config.js +90 -90
  244. package/src/commands/context-cache.js +90 -90
  245. package/src/commands/context-compact.js +49 -49
  246. package/src/commands/context-health.js +187 -177
  247. package/src/commands/context-load.js +219 -0
  248. package/src/commands/context-monitor.js +163 -163
  249. package/src/commands/context-pack.js +45 -45
  250. package/src/commands/context-search.js +66 -66
  251. package/src/commands/context-trim.js +183 -183
  252. package/src/commands/context-validate.js +91 -91
  253. package/src/commands/design-hybrid-options.js +385 -385
  254. package/src/commands/detect-test-runner.js +55 -55
  255. package/src/commands/dev-resume.js +32 -0
  256. package/src/commands/devlog-export-brains.js +27 -27
  257. package/src/commands/devlog-process.js +294 -294
  258. package/src/commands/devlog-watch.js +131 -131
  259. package/src/commands/doctor.js +123 -123
  260. package/src/commands/dossier-add-research.js +114 -0
  261. package/src/commands/dossier-audit.js +222 -0
  262. package/src/commands/dossier.js +423 -423
  263. package/src/commands/feature-archive.js +513 -513
  264. package/src/commands/feature-close.js +554 -270
  265. package/src/commands/gate-approve.js +198 -198
  266. package/src/commands/gate-check.js +247 -247
  267. package/src/commands/genome-doctor.js +489 -198
  268. package/src/commands/genome-migrate.js +49 -49
  269. package/src/commands/git-guard.js +170 -170
  270. package/src/commands/harness.js +307 -121
  271. package/src/commands/health.js +214 -214
  272. package/src/commands/hooks-emit.js +253 -253
  273. package/src/commands/hooks-install.js +347 -347
  274. package/src/commands/i18n-add.js +56 -56
  275. package/src/commands/implementation-plan.js +367 -367
  276. package/src/commands/info.js +41 -41
  277. package/src/commands/init.js +120 -120
  278. package/src/commands/install.js +162 -111
  279. package/src/commands/learning-auto-promote.js +197 -195
  280. package/src/commands/learning-evolve.js +364 -364
  281. package/src/commands/learning-export.js +103 -103
  282. package/src/commands/learning-rollback.js +164 -164
  283. package/src/commands/learning.js +134 -134
  284. package/src/commands/live.js +2101 -2082
  285. package/src/commands/locale-apply.js +54 -54
  286. package/src/commands/locale-diff.js +25 -25
  287. package/src/commands/mcp-doctor.js +407 -407
  288. package/src/commands/mcp-init.js +373 -373
  289. package/src/commands/memory-archive.js +193 -0
  290. package/src/commands/memory-reflect-commit.js +148 -0
  291. package/src/commands/memory-reflect-prepare.js +97 -0
  292. package/src/commands/memory-restore.js +177 -0
  293. package/src/commands/memory-search.js +135 -0
  294. package/src/commands/memory.js +299 -234
  295. package/src/commands/notify.js +68 -0
  296. package/src/commands/package-e2e.js +273 -273
  297. package/src/commands/parallel-assign.js +483 -483
  298. package/src/commands/parallel-doctor.js +850 -850
  299. package/src/commands/parallel-guard.js +241 -241
  300. package/src/commands/parallel-init.js +311 -311
  301. package/src/commands/parallel-merge.js +299 -299
  302. package/src/commands/parallel-status.js +434 -434
  303. package/src/commands/pattern-detect.js +33 -33
  304. package/src/commands/preflight-context.js +30 -30
  305. package/src/commands/preflight.js +267 -267
  306. package/src/commands/pulse-update.js +130 -130
  307. package/src/commands/qa-doctor.js +185 -185
  308. package/src/commands/qa-init.js +166 -166
  309. package/src/commands/qa-report.js +58 -58
  310. package/src/commands/qa-run.js +873 -873
  311. package/src/commands/qa-scan.js +337 -337
  312. package/src/commands/recovery.js +43 -43
  313. package/src/commands/revision.js +235 -235
  314. package/src/commands/runner-daemon.js +274 -274
  315. package/src/commands/runner-plan.js +70 -70
  316. package/src/commands/runner-queue-from-plan.js +166 -166
  317. package/src/commands/runner-queue.js +189 -189
  318. package/src/commands/runner-run.js +129 -129
  319. package/src/commands/runtime.js +2086 -2067
  320. package/src/commands/sandbox.js +37 -37
  321. package/src/commands/scaffold-complete.js +188 -188
  322. package/src/commands/scan-project.js +1371 -1371
  323. package/src/commands/scout-commit.js +163 -0
  324. package/src/commands/scout-prep.js +214 -0
  325. package/src/commands/scout-validate.js +112 -0
  326. package/src/commands/security-audit.js +275 -275
  327. package/src/commands/security-scan.js +376 -376
  328. package/src/commands/self-implement-loop.js +306 -300
  329. package/src/commands/session-guard.js +218 -218
  330. package/src/commands/setup-context.js +699 -699
  331. package/src/commands/setup.js +178 -178
  332. package/src/commands/sizing.js +165 -165
  333. package/src/commands/skill.js +670 -670
  334. package/src/commands/smoke.js +426 -426
  335. package/src/commands/spec-checkpoint.js +177 -177
  336. package/src/commands/spec-status.js +79 -79
  337. package/src/commands/spec-sync.js +190 -190
  338. package/src/commands/spec-tasks.js +288 -288
  339. package/src/commands/squad-agent-create.js +830 -830
  340. package/src/commands/squad-autorun.js +1220 -1220
  341. package/src/commands/squad-bus.js +217 -217
  342. package/src/commands/squad-card.js +149 -149
  343. package/src/commands/squad-daemon.js +343 -343
  344. package/src/commands/squad-dashboard.js +39 -39
  345. package/src/commands/squad-dependency-graph.js +164 -164
  346. package/src/commands/squad-deploy.js +64 -64
  347. package/src/commands/squad-doctor.js +460 -460
  348. package/src/commands/squad-export.js +77 -46
  349. package/src/commands/squad-investigate.js +314 -314
  350. package/src/commands/squad-learning.js +209 -209
  351. package/src/commands/squad-mcp.js +270 -270
  352. package/src/commands/squad-pipeline.js +343 -343
  353. package/src/commands/squad-plan.js +361 -361
  354. package/src/commands/squad-processes.js +56 -56
  355. package/src/commands/squad-recovery.js +42 -42
  356. package/src/commands/squad-repair-genomes.js +39 -39
  357. package/src/commands/squad-review.js +106 -106
  358. package/src/commands/squad-roi.js +291 -291
  359. package/src/commands/squad-scaffold.js +56 -56
  360. package/src/commands/squad-score.js +311 -307
  361. package/src/commands/squad-status.js +481 -481
  362. package/src/commands/squad-tool-register.js +157 -157
  363. package/src/commands/squad-validate.js +438 -438
  364. package/src/commands/squad-webhook.js +160 -160
  365. package/src/commands/squad-worker.js +191 -191
  366. package/src/commands/squad-worktrees.js +75 -75
  367. package/src/commands/state-save.js +220 -122
  368. package/src/commands/store-genome.js +667 -304
  369. package/src/commands/store-skill.js +247 -247
  370. package/src/commands/store-squad.js +431 -431
  371. package/src/commands/store-system.js +392 -392
  372. package/src/commands/sync-agents-preflight.js +176 -0
  373. package/src/commands/test-agents.js +199 -199
  374. package/src/commands/tool-capabilities.js +63 -63
  375. package/src/commands/tool-registry-cmd.js +232 -232
  376. package/src/commands/update.js +68 -64
  377. package/src/commands/verify-gate.js +612 -612
  378. package/src/commands/web-map.js +70 -70
  379. package/src/commands/web-scrape.js +71 -71
  380. package/src/commands/workflow-execute.js +730 -730
  381. package/src/commands/workflow-harden.js +231 -231
  382. package/src/commands/workflow-heal.js +136 -136
  383. package/src/commands/workflow-next.js +1279 -1039
  384. package/src/commands/workflow-plan.js +108 -108
  385. package/src/commands/workflow-status.js +440 -440
  386. package/src/commands/workspace.js +144 -144
  387. package/src/constants.js +417 -384
  388. package/src/context-cache.js +159 -159
  389. package/src/context-memory.js +975 -966
  390. package/src/context-parse-reason.js +22 -22
  391. package/src/context-search.js +326 -326
  392. package/src/context-writer.js +197 -197
  393. package/src/context.js +247 -247
  394. package/src/delivery-runner.js +319 -319
  395. package/src/design-variation-catalog.js +503 -503
  396. package/src/detector.js +261 -261
  397. package/src/doctor.js +812 -329
  398. package/src/dossier/codemap-store.js +267 -267
  399. package/src/dossier/dossier-bootstrap.js +222 -222
  400. package/src/dossier/dossier-compact.js +159 -159
  401. package/src/dossier/lock.js +128 -128
  402. package/src/dossier/research-index-store.js +233 -0
  403. package/src/dossier/revision-store.js +313 -313
  404. package/src/dossier/schema.js +162 -155
  405. package/src/dossier/scout-section.js +127 -0
  406. package/src/dossier/store.js +406 -400
  407. package/src/execution-gateway.js +464 -464
  408. package/src/friction-scanner.js +202 -202
  409. package/src/gateway-pointer-merge.js +101 -0
  410. package/src/genome-files.js +198 -198
  411. package/src/genome-format.js +442 -442
  412. package/src/genome-schema.js +238 -238
  413. package/src/genomes/bindings.js +281 -281
  414. package/src/genomes.js +500 -500
  415. package/src/handoff-contract.js +417 -363
  416. package/src/handoff-validator.js +45 -45
  417. package/src/harness/circuit-breaker.js +135 -135
  418. package/src/i18n/index.js +103 -103
  419. package/src/i18n/messages/en.js +1548 -1434
  420. package/src/i18n/messages/es.js +1332 -1221
  421. package/src/i18n/messages/fr.js +1340 -1229
  422. package/src/i18n/messages/pt-BR.js +1568 -1457
  423. package/src/i18n/scaffold.js +64 -64
  424. package/src/install-animation.js +260 -260
  425. package/src/install-profile.js +127 -127
  426. package/src/install-wizard.js +475 -475
  427. package/src/installer-config-merge.js +207 -0
  428. package/src/installer.js +487 -358
  429. package/src/jargon-leak-doctor.js +257 -0
  430. package/src/learning-loop-archive.js +595 -0
  431. package/src/learning-loop-doctor.js +217 -0
  432. package/src/learning-loop-engine.js +254 -0
  433. package/src/learning-loop-fts5.js +132 -0
  434. package/src/learning-loop-migration.js +163 -0
  435. package/src/lib/dev-resume.js +140 -0
  436. package/src/lib/dossier-telemetry.js +36 -0
  437. package/src/lib/genomes/compat.js +206 -206
  438. package/src/lib/genomes/migrate.js +90 -90
  439. package/src/lib/git-commit-guard.js +751 -691
  440. package/src/lib/health-check.js +158 -158
  441. package/src/lib/hook-protocol.js +76 -76
  442. package/src/lib/llm-content-sanitizer.js +44 -0
  443. package/src/lib/security/artifact-reader.js +167 -167
  444. package/src/lib/security/exit-codes.js +51 -51
  445. package/src/lib/security/findings-writer.js +176 -176
  446. package/src/lib/security/runtime-events.js +77 -77
  447. package/src/lib/security/secrets-regex.js +115 -115
  448. package/src/lib/squads/genome-repair.js +49 -49
  449. package/src/lib/store/security-scan.js +175 -173
  450. package/src/lib/terminal-checkbox.js +135 -130
  451. package/src/lib/terminal-picker.js +447 -0
  452. package/src/lib/tmux-launcher.js +163 -163
  453. package/src/lib/tool-capabilities.js +102 -102
  454. package/src/lib/webhook-server.js +328 -328
  455. package/src/locales.js +88 -88
  456. package/src/mcp/apps/squad-dashboard/app.js +163 -163
  457. package/src/mcp/apps/squad-dashboard/index.html +261 -261
  458. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
  459. package/src/mcp/resources/squad-state.js +130 -130
  460. package/src/mcp-connectors/registry.js +602 -602
  461. package/src/memory-reflect-engine.js +359 -0
  462. package/src/migrations/profile-rename.js +66 -0
  463. package/src/notify-renderer.js +32 -0
  464. package/src/onboarding.js +307 -305
  465. package/src/parallel-workspace.js +756 -756
  466. package/src/parser.js +74 -66
  467. package/src/path-guard.js +47 -47
  468. package/src/permissions-generator.js +400 -0
  469. package/src/preflight-engine.js +654 -654
  470. package/src/prompt-tool.js +20 -20
  471. package/src/qa-html-report.js +472 -472
  472. package/src/recovery-context-session.js +154 -154
  473. package/src/runner/cascade.js +97 -97
  474. package/src/runner/cli-launcher.js +109 -109
  475. package/src/runner/plan-importer.js +63 -63
  476. package/src/runner/queue-store.js +159 -159
  477. package/src/runtime-store.js +2720 -2676
  478. package/src/sandbox.js +194 -177
  479. package/src/self-healing.js +142 -142
  480. package/src/session-handoff.js +295 -187
  481. package/src/squad/agent-teams-adapter.js +270 -264
  482. package/src/squad/brief-validator.js +350 -350
  483. package/src/squad/bus-bridge.js +140 -140
  484. package/src/squad/context-compactor.js +265 -265
  485. package/src/squad/cross-ai-synthesizer.js +250 -250
  486. package/src/squad/external-session.js +180 -180
  487. package/src/squad/hooks-generator.js +196 -196
  488. package/src/squad/inter-squad-events.js +175 -175
  489. package/src/squad/inter-squad.js +74 -74
  490. package/src/squad/intra-bus.js +345 -345
  491. package/src/squad/learning-extractor.js +213 -213
  492. package/src/squad/pattern-detector.js +365 -365
  493. package/src/squad/preflight-context.js +296 -296
  494. package/src/squad/recovery-context.js +372 -372
  495. package/src/squad/reflection.js +365 -365
  496. package/src/squad/squad-scaffold.js +341 -341
  497. package/src/squad/state-manager.js +310 -310
  498. package/src/squad/task-decomposer.js +652 -652
  499. package/src/squad/verify-gate.js +303 -303
  500. package/src/squad/worktree-manager.js +114 -114
  501. package/src/squad-daemon.js +490 -490
  502. package/src/squad-dashboard/api.js +223 -223
  503. package/src/squad-dashboard/attachment-handler.js +93 -93
  504. package/src/squad-dashboard/context-monitor.js +157 -157
  505. package/src/squad-dashboard/execution-logs.js +115 -115
  506. package/src/squad-dashboard/hunk-review.js +209 -209
  507. package/src/squad-dashboard/metrics.js +133 -133
  508. package/src/squad-dashboard/process-monitor.js +125 -125
  509. package/src/squad-dashboard/renderer.js +858 -858
  510. package/src/squad-dashboard/server.js +232 -232
  511. package/src/squad-dashboard/styles.js +525 -525
  512. package/src/squad-dashboard/token-tracker.js +99 -99
  513. package/src/squads/apply-genome.js +21 -21
  514. package/src/squads/genome-binding-service.js +154 -154
  515. package/src/sub-task-engine.js +415 -0
  516. package/src/sub-task-schemas.js +150 -0
  517. package/src/sub-task-state.js +152 -0
  518. package/src/sub-task-telemetry.js +69 -0
  519. package/src/test-briefing.js +226 -226
  520. package/src/tool-executor.js +94 -94
  521. package/src/updater.js +52 -39
  522. package/src/utils.js +49 -49
  523. package/src/version.js +50 -50
  524. package/src/web.js +284 -284
  525. package/src/worker-runner.js +541 -524
  526. package/src/workflow-gates.js +185 -185
  527. package/template/.aioson/advisors/.gitkeep +1 -1
  528. package/template/.aioson/agents/analyst.md +345 -318
  529. package/template/.aioson/agents/architect.md +325 -305
  530. package/template/.aioson/agents/{cypher.md → briefing.md} +264 -252
  531. package/template/.aioson/agents/committer.md +161 -161
  532. package/template/.aioson/agents/copywriter.md +937 -463
  533. package/template/.aioson/agents/design-hybrid-forge.md +141 -141
  534. package/template/.aioson/agents/dev.md +298 -263
  535. package/template/.aioson/agents/deyvin.md +200 -87
  536. package/template/.aioson/agents/discover.md +235 -235
  537. package/template/.aioson/agents/discovery-design-doc.md +56 -29
  538. package/template/.aioson/agents/genome.md +1904 -364
  539. package/template/.aioson/agents/manifests/analyst.manifest.json +26 -26
  540. package/template/.aioson/agents/manifests/architect.manifest.json +23 -23
  541. package/template/.aioson/agents/manifests/committer.manifest.json +23 -23
  542. package/template/.aioson/agents/manifests/dev.manifest.json +54 -37
  543. package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
  544. package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -30
  545. package/template/.aioson/agents/manifests/pentester.manifest.json +39 -39
  546. package/template/.aioson/agents/manifests/pm.manifest.json +26 -26
  547. package/template/.aioson/agents/manifests/product.manifest.json +23 -23
  548. package/template/.aioson/agents/manifests/qa.manifest.json +41 -25
  549. package/template/.aioson/agents/manifests/setup.manifest.json +20 -20
  550. package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -24
  551. package/template/.aioson/agents/neo.md +356 -231
  552. package/template/.aioson/agents/orache.md +430 -430
  553. package/template/.aioson/agents/orchestrator.md +274 -263
  554. package/template/.aioson/agents/pair.md +5 -5
  555. package/template/.aioson/agents/pentester.md +289 -235
  556. package/template/.aioson/agents/pm.md +141 -130
  557. package/template/.aioson/agents/product.md +367 -273
  558. package/template/.aioson/agents/profiler-enricher.md +331 -331
  559. package/template/.aioson/agents/profiler-forge.md +212 -212
  560. package/template/.aioson/agents/profiler-researcher.md +282 -282
  561. package/template/.aioson/agents/qa.md +432 -342
  562. package/template/.aioson/agents/setup.md +425 -423
  563. package/template/.aioson/agents/sheldon.md +259 -197
  564. package/template/.aioson/agents/site-forge.md +281 -281
  565. package/template/.aioson/agents/squad.md +160 -156
  566. package/template/.aioson/agents/tester.md +536 -473
  567. package/template/.aioson/agents/ux-ui.md +195 -162
  568. package/template/.aioson/agents/validator.md +101 -69
  569. package/template/.aioson/brains/README.md +132 -128
  570. package/template/.aioson/brains/_archived/.gitkeep +0 -0
  571. package/template/.aioson/brains/_index.json +34 -16
  572. package/template/.aioson/brains/dev/patterns.brain.json +79 -0
  573. package/template/.aioson/brains/scripts/query.js +107 -107
  574. package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
  575. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
  576. package/template/.aioson/config/autonomy-protocol.json +125 -43
  577. package/template/.aioson/config/learning-loop.json +10 -0
  578. package/template/.aioson/config/scout-engine.json +1 -0
  579. package/template/.aioson/config.md +410 -410
  580. package/template/.aioson/context/_archived/.gitkeep +0 -0
  581. package/template/.aioson/context/design-doc.md +136 -136
  582. package/template/.aioson/context/project-map.md +57 -57
  583. package/template/.aioson/context/project-pulse.md +34 -34
  584. package/template/.aioson/context/seeds/seed-example.md +27 -27
  585. package/template/.aioson/context/spec.md.template +54 -54
  586. package/template/.aioson/context/user-profile.md +42 -42
  587. package/template/.aioson/design-docs/code-reuse.md +48 -48
  588. package/template/.aioson/design-docs/componentization.md +47 -47
  589. package/template/.aioson/design-docs/file-size.md +52 -52
  590. package/template/.aioson/design-docs/folder-structure.md +51 -51
  591. package/template/.aioson/design-docs/naming.md +54 -54
  592. package/template/.aioson/docs/LAYERS.md +89 -89
  593. package/template/.aioson/docs/README.md +76 -76
  594. package/template/.aioson/docs/autonomy-protocol.md +80 -0
  595. package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
  596. package/template/.aioson/docs/dev/execution-discipline.md +106 -106
  597. package/template/.aioson/docs/dev/stack-conventions.md +83 -83
  598. package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -57
  599. package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -30
  600. package/template/.aioson/docs/deyvin/pair-execution.md +44 -44
  601. package/template/.aioson/docs/deyvin/runtime-handoffs.md +42 -36
  602. package/template/.aioson/docs/example-external-api-context.md +72 -72
  603. package/template/.aioson/docs/handoff-persistence.md +94 -0
  604. package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
  605. package/template/.aioson/docs/pentester/llm-supplychain.md +165 -0
  606. package/template/.aioson/docs/product/conversation-playbook.md +116 -116
  607. package/template/.aioson/docs/product/prd-contract.md +107 -107
  608. package/template/.aioson/docs/product/quality-lens.md +57 -57
  609. package/template/.aioson/docs/product/research-loop.md +65 -65
  610. package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -134
  611. package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
  612. package/template/.aioson/docs/sheldon/quality-lens.md +57 -57
  613. package/template/.aioson/docs/sheldon/research-loop.md +56 -56
  614. package/template/.aioson/docs/sheldon/web-intelligence.md +75 -75
  615. package/template/.aioson/docs/site-forge-build.md +195 -195
  616. package/template/.aioson/docs/site-forge-extraction.md +135 -135
  617. package/template/.aioson/docs/site-forge-qa.md +155 -155
  618. package/template/.aioson/docs/site-forge-recon.md +434 -434
  619. package/template/.aioson/docs/site-forge-transform.md +249 -249
  620. package/template/.aioson/docs/squad/content-output.md +91 -91
  621. package/template/.aioson/docs/squad/creation-flow.md +149 -135
  622. package/template/.aioson/docs/squad/domain-breadth.md +322 -0
  623. package/template/.aioson/docs/squad/domain-classification.md +117 -117
  624. package/template/.aioson/docs/squad/genome-bindings.md +47 -47
  625. package/template/.aioson/docs/squad/package-contract.md +260 -234
  626. package/template/.aioson/docs/squad/quality-lens.md +60 -56
  627. package/template/.aioson/docs/squad/research-loop.md +59 -59
  628. package/template/.aioson/docs/squad/session-operations.md +117 -117
  629. package/template/.aioson/docs/squad/workflow-quality.md +165 -165
  630. package/template/.aioson/docs/tester/coverage-quality.md +351 -0
  631. package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -55
  632. package/template/.aioson/docs/ux-ui/audit-mode.md +86 -86
  633. package/template/.aioson/docs/ux-ui/component-map.md +35 -35
  634. package/template/.aioson/docs/ux-ui/design-execution.md +111 -111
  635. package/template/.aioson/docs/ux-ui/design-gate.md +27 -27
  636. package/template/.aioson/docs/ux-ui/research-mode.md +39 -39
  637. package/template/.aioson/docs/ux-ui/site-delivery.md +156 -156
  638. package/template/.aioson/docs/ux-ui/token-contract.md +57 -57
  639. package/template/.aioson/genomes/INDEX.md +195 -0
  640. package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
  641. package/template/.aioson/genomes/copywriting/manifest.json +140 -0
  642. package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
  643. package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
  644. package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
  645. package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
  646. package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
  647. package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
  648. package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
  649. package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
  650. package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
  651. package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
  652. package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
  653. package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
  654. package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
  655. package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
  656. package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
  657. package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
  658. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
  659. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
  660. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
  661. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
  662. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
  663. package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
  664. package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
  665. package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
  666. package/template/.aioson/git-guard.json +12 -11
  667. package/template/.aioson/mcp/servers.md +23 -23
  668. package/template/.aioson/profiler-reports/.gitkeep +1 -1
  669. package/template/.aioson/rules/README.md +69 -69
  670. package/template/.aioson/rules/_archived/.gitkeep +0 -0
  671. package/template/.aioson/rules/agent-language-policy.md +93 -93
  672. package/template/.aioson/rules/aioson-context-boundary.md +63 -63
  673. package/template/.aioson/rules/canonical-path-contract.md +47 -47
  674. package/template/.aioson/rules/data-format-convention.md +74 -74
  675. package/template/.aioson/rules/disk-first-artifacts.md +44 -44
  676. package/template/.aioson/rules/example-monetary-values.md +30 -30
  677. package/template/.aioson/rules/output-brevity.md +44 -44
  678. package/template/.aioson/rules/prd-section-ownership.md +49 -49
  679. package/template/.aioson/rules/security-baseline.md +139 -139
  680. package/template/.aioson/rules/spec-level-ownership.md +61 -61
  681. package/template/.aioson/rules/squad/README.md +50 -50
  682. package/template/.aioson/rules/squad-driver-pattern.md +81 -81
  683. package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
  684. package/template/.aioson/schemas/genome-meta.schema.json +150 -150
  685. package/template/.aioson/schemas/genome.schema.json +115 -115
  686. package/template/.aioson/schemas/readiness.schema.json +27 -27
  687. package/template/.aioson/schemas/squad-blueprint.schema.json +228 -228
  688. package/template/.aioson/schemas/squad-manifest.schema.json +874 -874
  689. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
  690. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  691. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  692. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  693. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  694. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  695. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
  696. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
  697. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
  698. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  699. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  700. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  701. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  702. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  703. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  704. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  705. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
  706. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  707. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  708. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  709. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  710. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  711. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  712. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  713. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
  714. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  715. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
  716. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
  717. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
  718. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  719. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
  720. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
  721. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
  722. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  723. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  724. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  725. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  726. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  727. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  728. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  729. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
  730. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  731. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  732. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
  733. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  734. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  735. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
  736. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  737. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  738. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  739. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  740. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  741. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  742. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  743. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
  744. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  745. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  746. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  747. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  748. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  749. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
  750. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
  751. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  752. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  753. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  754. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
  755. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
  756. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  757. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  758. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  759. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  760. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  761. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  762. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
  763. package/template/.aioson/skills/design-system/SKILL.md +92 -92
  764. package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
  765. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
  766. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
  767. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
  768. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
  769. package/template/.aioson/skills/dynamic/README.md +30 -30
  770. package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
  771. package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
  772. package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
  773. package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
  774. package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
  775. package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
  776. package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
  777. package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
  778. package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
  779. package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
  780. package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
  781. package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
  782. package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
  783. package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
  784. package/template/.aioson/skills/marketing/references/patterns.md +218 -218
  785. package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
  786. package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
  787. package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
  788. package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
  789. package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
  790. package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
  791. package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
  792. package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
  793. package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
  794. package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
  795. package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
  796. package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
  797. package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
  798. package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
  799. package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
  800. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
  801. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
  802. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
  803. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
  804. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
  805. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
  806. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
  807. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
  808. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
  809. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
  810. package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -30
  811. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
  812. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
  813. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
  814. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
  815. package/template/.aioson/skills/process/decision-presentation/SKILL.md +119 -0
  816. package/template/.aioson/skills/process/decision-presentation/references/jargon-map.en.yaml +108 -0
  817. package/template/.aioson/skills/process/decision-presentation/references/jargon-map.pt-BR.yaml +108 -0
  818. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
  819. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
  820. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
  821. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
  822. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
  823. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
  824. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
  825. package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -97
  826. package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
  827. package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
  828. package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
  829. package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
  830. package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
  831. package/template/.aioson/skills/squad/SKILL.md +58 -58
  832. package/template/.aioson/skills/squad/formats/catalog.json +15 -15
  833. package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
  834. package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
  835. package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
  836. package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
  837. package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
  838. package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
  839. package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
  840. package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
  841. package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
  842. package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
  843. package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
  844. package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
  845. package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
  846. package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
  847. package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
  848. package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
  849. package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
  850. package/template/.aioson/skills/static/context-budget-guide.md +46 -46
  851. package/template/.aioson/skills/static/debugging-protocol.md +42 -42
  852. package/template/.aioson/skills/static/django-patterns.md +342 -342
  853. package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
  854. package/template/.aioson/skills/static/filament-patterns.md +267 -267
  855. package/template/.aioson/skills/static/flux-ui-components.md +262 -262
  856. package/template/.aioson/skills/static/git-conventions.md +227 -227
  857. package/template/.aioson/skills/static/git-worktrees.md +36 -36
  858. package/template/.aioson/skills/static/harness-sensors.md +74 -74
  859. package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -46
  860. package/template/.aioson/skills/static/jetstream-setup.md +200 -200
  861. package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
  862. package/template/.aioson/skills/static/landing-page-forge.md +730 -730
  863. package/template/.aioson/skills/static/laravel-conventions.md +491 -491
  864. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
  865. package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
  866. package/template/.aioson/skills/static/node-express-patterns.md +317 -317
  867. package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
  868. package/template/.aioson/skills/static/rails-conventions.md +307 -307
  869. package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
  870. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
  871. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
  872. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
  873. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
  874. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
  875. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
  876. package/template/.aioson/skills/static/static-html-patterns.md +80 -80
  877. package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
  878. package/template/.aioson/skills/static/threejs-patterns.md +929 -929
  879. package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
  880. package/template/.aioson/skills/static/web-research-cache.md +115 -115
  881. package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
  882. package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
  883. package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
  884. package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
  885. package/template/.aioson/squads/memory.md +5 -5
  886. package/template/.aioson/tasks/implementation-plan.md +327 -327
  887. package/template/.aioson/tasks/squad-analyze.md +83 -83
  888. package/template/.aioson/tasks/squad-create.md +148 -148
  889. package/template/.aioson/tasks/squad-design.md +206 -206
  890. package/template/.aioson/tasks/squad-execution-plan.md +279 -279
  891. package/template/.aioson/tasks/squad-export.md +20 -20
  892. package/template/.aioson/tasks/squad-extend.md +68 -68
  893. package/template/.aioson/tasks/squad-investigate.md +57 -57
  894. package/template/.aioson/tasks/squad-learning-review.md +44 -44
  895. package/template/.aioson/tasks/squad-output-config.md +177 -177
  896. package/template/.aioson/tasks/squad-pipeline.md +122 -122
  897. package/template/.aioson/tasks/squad-profile.md +48 -48
  898. package/template/.aioson/tasks/squad-refresh.md +236 -0
  899. package/template/.aioson/tasks/squad-repair.md +85 -85
  900. package/template/.aioson/tasks/squad-review.md +61 -61
  901. package/template/.aioson/tasks/squad-task-decompose.md +66 -66
  902. package/template/.aioson/tasks/squad-validate.md +58 -58
  903. package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
  904. package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
  905. package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
  906. package/template/.aioson/templates/squads/content-basic/template.json +21 -21
  907. package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
  908. package/template/.aioson/templates/squads/media-channel/template.json +24 -24
  909. package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
  910. package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
  911. package/template/.claude/commands/aioson/agent/analyst.md +5 -5
  912. package/template/.claude/commands/aioson/agent/architect.md +5 -5
  913. package/template/.claude/commands/aioson/agent/briefing.md +5 -0
  914. package/template/.claude/commands/aioson/agent/committer.md +5 -5
  915. package/template/.claude/commands/aioson/agent/copywriter.md +5 -5
  916. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -5
  917. package/template/.claude/commands/aioson/agent/dev.md +5 -5
  918. package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
  919. package/template/.claude/commands/aioson/agent/discover.md +5 -0
  920. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
  921. package/template/.claude/commands/aioson/agent/genome.md +5 -5
  922. package/template/.claude/commands/aioson/agent/neo.md +5 -5
  923. package/template/.claude/commands/aioson/agent/orache.md +5 -5
  924. package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
  925. package/template/.claude/commands/aioson/agent/pair.md +5 -5
  926. package/template/.claude/commands/aioson/agent/pentester.md +5 -0
  927. package/template/.claude/commands/aioson/agent/pm.md +5 -5
  928. package/template/.claude/commands/aioson/agent/product.md +5 -5
  929. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
  930. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
  931. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
  932. package/template/.claude/commands/aioson/agent/qa.md +5 -5
  933. package/template/.claude/commands/aioson/agent/setup.md +5 -5
  934. package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
  935. package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
  936. package/template/.claude/commands/aioson/agent/squad.md +5 -5
  937. package/template/.claude/commands/aioson/agent/tester.md +5 -5
  938. package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
  939. package/template/.claude/commands/aioson/agent/validator.md +5 -5
  940. package/template/.gemini/GEMINI.md +13 -13
  941. package/template/.gemini/commands/aios-analyst.toml +7 -7
  942. package/template/.gemini/commands/aios-architect.toml +8 -8
  943. package/template/.gemini/commands/aios-committer.toml +7 -7
  944. package/template/.gemini/commands/aios-copywriter.toml +7 -7
  945. package/template/.gemini/commands/aios-cypher.toml +7 -7
  946. package/template/.gemini/commands/aios-dev.toml +9 -9
  947. package/template/.gemini/commands/aios-deyvin.toml +7 -7
  948. package/template/.gemini/commands/aios-discover.toml +6 -0
  949. package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -7
  950. package/template/.gemini/commands/aios-genome.toml +7 -7
  951. package/template/.gemini/commands/aios-neo.toml +6 -6
  952. package/template/.gemini/commands/aios-orache.toml +7 -7
  953. package/template/.gemini/commands/aios-orchestrator.toml +9 -9
  954. package/template/.gemini/commands/aios-pair.toml +7 -7
  955. package/template/.gemini/commands/aios-pm.toml +9 -9
  956. package/template/.gemini/commands/aios-product.toml +6 -6
  957. package/template/.gemini/commands/aios-qa.toml +7 -7
  958. package/template/.gemini/commands/aios-setup.toml +6 -6
  959. package/template/.gemini/commands/aios-sheldon.toml +7 -7
  960. package/template/.gemini/commands/aios-site-forge.toml +7 -7
  961. package/template/.gemini/commands/aios-squad.toml +7 -7
  962. package/template/.gemini/commands/aios-tester.toml +7 -7
  963. package/template/.gemini/commands/aios-ux-ui.toml +9 -9
  964. package/template/.gemini/commands/aios-validator.toml +7 -7
  965. package/template/AGENTS.md +184 -183
  966. package/template/CLAUDE.md +98 -97
  967. package/template/OPENCODE.md +35 -34
  968. package/template/aioson-models.json +40 -40
  969. package/template/.aioson/genomes/copywriting.md +0 -204
  970. package/template/.aioson/genomes/copywriting.meta.json +0 -48
  971. package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +0 -81
  972. package/template/.aioson/skills/process/secure-tdd/references/node-express.md +0 -91
  973. package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +0 -33
  974. package/template/.claude/commands/aioson/agent/cypher.md +0 -5
@@ -1,1434 +1,1548 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- cli: {
5
- title: 'AIOSON CLI',
6
- title_line: '{title}\n',
7
- usage: 'Usage:',
8
- help_item_line: ' {text}',
9
- help_init:
10
- 'aioson init <project-name> [--force] [--dry-run] [--all] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
11
- help_install:
12
- 'aioson install [path] [--force] [--dry-run] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
13
- help_setup:
14
- 'aioson setup [path] [--defaults] [--framework=<name>] [--lang=<bcp47-tag>] [--project-name=<name>] [--force] [--dry-run] [--tool=codex|claude|gemini|opencode] [--locale=en]',
15
- help_update: 'aioson update [path] [--dry-run] [--lang=<bcp47-tag>] [--locale=en]',
16
- help_info: 'aioson info [path] [--json] [--locale=en]',
17
- help_doctor: 'aioson doctor [path] [--fix] [--dry-run] [--json] [--locale=en]',
18
- help_i18n_add: 'aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
19
- help_agents: 'aioson agents [path] [--lang=<bcp47-tag>] [--locale=en]',
20
- help_agent_prompt:
21
- 'aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=<bcp47-tag>] [--locale=en]',
22
- help_agent_invoke:
23
- 'aioson agent:invoke <agent> [path] [--tool=codex|claude|gemini|opencode] [--mode=framework_target|app_target] [--feature=<slug>] [--scope=<area>] [--lang=<bcp47-tag>] [--locale=en]',
24
- help_context_validate: 'aioson context:validate [path] [--json] [--locale=en]',
25
- help_context_pack:
26
- 'aioson context:pack [path] [--agent=<agent>] [--goal=<text>] [--module=<module-or-folder>] [--max-files=8] [--json] [--locale=en]',
27
- help_memory_status: 'aioson memory:status [path] [--json] [--locale=en]',
28
- help_memory_summary: 'aioson memory:summary [path] [--last=5] [--json] [--locale=en]',
29
- help_brain_query:
30
- 'aioson brain:query [path] [--tags=<csv>] [--agent=<agent>] [--min-quality=4] [--format=compact|json|ids] [--json] [--locale=en]',
31
- help_setup_context:
32
- 'aioson setup:context [path] [--defaults] [--project-type=web_app|api|site|script|dapp|desktop_app] [--framework=<name>] [--backend=<name>] [--frontend=<name>] [--database=<name>] [--auth=<name>] [--uiux=<name>] [--language=<bcp47-tag>] [--web3-enabled=true|false] [--locale=en]',
33
- help_locale_apply: 'aioson locale:apply [path] [--lang=<bcp47-tag>] [--dry-run] [--locale=en]',
34
- help_locale_diff: 'aioson locale:diff [agent] [--lang=<bcp47-tag>] [--json] [--locale=en]',
35
- help_test_agents: 'aioson test:agents [--json] [--locale=en]',
36
- help_test_smoke:
37
- 'aioson test:smoke [workspace-path] [--lang=<bcp47-tag>] [--web3=ethereum|solana|cardano] [--profile=standard|mixed|parallel] [--keep] [--json] [--locale=en]',
38
- help_test_package:
39
- 'aioson test:package [source-path] [--keep] [--dry-run] [--json] [--locale=en]',
40
- help_dossier_init:
41
- 'aioson dossier:init [path] --slug=<feature-slug> [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=en]',
42
- help_dossier_show:
43
- 'aioson dossier:show [path] --slug=<feature-slug> [--json] [--locale=en]',
44
- dossier_created: 'Dossier created at {path} (classification={classification}).',
45
- dossier_already_exists: 'Dossier already exists at {path}. Aborting (atomic init, no --force).',
46
- dossier_not_found: 'Dossier not found for slug "{slug}" (expected at {path}).',
47
- help_workflow_plan:
48
- 'aioson workflow:plan [path] [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=en]',
49
- help_workflow_next:
50
- 'aioson workflow:next [path] [--complete[=<agent>]] [--agent=<agent>] [--skip=<agent>] [--status] [--suggest] [--tool=codex|claude|gemini|opencode] [--json] [--locale=en]',
51
- help_workflow_status:
52
- 'aioson workflow:status [path] [--suggest] [--tool=codex|claude|gemini|opencode] [--json] [--locale=en]',
53
- help_workflow_execute:
54
- 'aioson workflow:execute [path] [--steps=<n>] [--dry-run] [--lane=<n>] [--json] [--locale=en]',
55
- help_parallel_init:
56
- 'aioson parallel:init [path] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
57
- help_parallel_doctor:
58
- 'aioson parallel:doctor [path] [--workers=2..6] [--fix] [--force] [--dry-run] [--json] [--locale=en]',
59
- help_parallel_assign:
60
- 'aioson parallel:assign [path] [--source=auto|prd|architecture|discovery|<file>] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
61
- help_parallel_status:
62
- 'aioson parallel:status [path] [--json] [--locale=en]',
63
- help_parallel_merge:
64
- 'aioson parallel:merge [path] [--apply] [--json] [--locale=en]',
65
- help_parallel_guard:
66
- 'aioson parallel:guard [path] --lane=<n> --paths=<path[,path2]> [--json] [--locale=en]',
67
- help_mcp_init:
68
- 'aioson mcp:init [path] [--tool=claude|codex|gemini|opencode] [--dry-run] [--json] [--locale=en]',
69
- help_mcp_doctor:
70
- 'aioson mcp:doctor [path] [--strict-env] [--json] [--locale=en]',
71
- help_qa_doctor:
72
- 'aioson qa:doctor [path] [--json] [--locale=en]',
73
- help_qa_init:
74
- 'aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json] [--locale=en]',
75
- help_qa_run:
76
- 'aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json] [--locale=en]',
77
- help_qa_scan:
78
- 'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=en]',
79
- help_qa_report:
80
- 'aioson qa:report [path] [--html] [--json] [--locale=en]',
81
- help_harness_init:
82
- 'aioson harness:init [path] --slug=<slug> [--mode=BALANCED|URGENT|ECONOMICAL] [--locale=en]',
83
- help_harness_validate:
84
- 'aioson harness:validate [path] --slug=<slug> [--artifact=<path>] [--locale=en]',
85
- help_web_map:
86
- 'aioson web:map [path] --url=<url> [--depth=<N>] [--max-pages=<N>] [--include-external] [--json] [--locale=en]',
87
- help_web_scrape:
88
- 'aioson web:scrape [path] --url=<url> [--format=markdown|text|html|links] [--json] [--locale=en]',
89
- help_scan_project:
90
- 'aioson scan:project [path] --folder=<path[,path2]> [--summary-mode=titles|summaries|raw] [--context-mode=merge|rewrite] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=en]',
91
- help_config:
92
- 'aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
93
- help_genome_doctor:
94
- 'aioson genome:doctor <file> [--json] [--locale=en]',
95
- help_genome_migrate:
96
- 'aioson genome:migrate <file-or-dir> [--write] [--no-backup] [--json] [--locale=en]',
97
- help_squad_status:
98
- 'aioson squad:status [path] [--json] [--locale=en]',
99
- help_squad_doctor:
100
- 'aioson squad:doctor [path] [--squad=<slug>] [--stale-minutes=5] [--json] [--locale=en]',
101
- help_squad_repair_genomes:
102
- 'aioson squad:repair-genomes <manifest.json> [--write] [--no-backup] [--json] [--locale=en]',
103
- help_squad_validate:
104
- 'aioson squad:validate [path] --squad=<slug> [--locale=en]',
105
- help_squad_export:
106
- 'aioson squad:export [path] --squad=<slug> [--locale=en]',
107
- help_squad_pipeline:
108
- 'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=en]',
109
- help_squad_agent_create:
110
- 'aioson squad:agent-create [path] --name=<name> [--scope=my-agents|squad] [--squad=<slug>] [--type=agent|assistant|clone|worker] [--tier=0|1|2|3] [--disc=<profile>] [--mission=<text>] [--domain=<text>] [--specialist=<name>] [--with-infra] [--locale=en]',
111
- help_squad_investigate:
112
- 'aioson squad:investigate [path] [--sub=list|show|score|link|register] [--investigation=<slug>] [--squad=<slug>] [--locale=en]',
113
- help_plan:
114
- 'aioson plan [path] [--sub=show|status|checkpoint|stale|register] [--feature=<slug>] [--phase=<N>] [--locale=en]',
115
- help_squad_plan:
116
- 'aioson squad:plan [path] [--sub=show|status|checkpoint|stale|register] [--squad=<slug>] [--round=<N>] [--locale=en]',
117
- help_squad_learning:
118
- 'aioson squad:learning [path] [--sub=list|stats|archive|promote|export] [--squad=<slug>] [--status=<status>] [--locale=en]',
119
- help_squad_dashboard:
120
- 'aioson squad:dashboard [path] [--port=4180] [--squad=<slug>] [--locale=en]',
121
- help_squad_worker:
122
- 'aioson squad:worker [path] [--sub=list|run|test|logs|scaffold] [--squad=<slug>] [--worker=<slug>] [--input=<json>] [--locale=en]',
123
- help_squad_daemon:
124
- 'aioson squad:daemon [path] [--sub=start|status|stop|logs] [--squad=<slug>] [--port=<N>] [--locale=en]',
125
- help_squad_mcp:
126
- 'aioson squad:mcp [path] [--sub=status|connectors|configure|test] [--squad=<slug>] [--mcp=<slug>] [--connector=<id>]',
127
- help_squad_roi:
128
- 'aioson squad:roi [path] [--sub=config|metric|report|export] [--squad=<slug>] [--key=<metric>] [--value=<N>]',
129
- help_squad_score:
130
- 'aioson squad:score [path] --squad=<slug> [--locale=en]',
131
- help_commit_prepare:
132
- 'aioson commit:prepare [path] [--staged-only] [--agent-safe] [--mode=guarded|trusted|headless] [--json] [--locale=en]',
133
- help_learning:
134
- 'aioson learning [path] [--sub=list|stats|promote] [--status=<status>] [--id=<learning-id>] [--locale=en]',
135
- help_runtime_init:
136
- 'aioson runtime:init [path] [--json] [--locale=en]',
137
- help_runtime_ingest:
138
- 'aioson runtime:ingest [path] [--squad=<slug>] [--agent=<name>] [--session=<key>] [--task=<key>] [--json] [--locale=en]',
139
- help_runtime_task_start:
140
- 'aioson runtime:task:start [path] --title=<text> [--squad=<slug>] [--session=<key>] [--goal=<text>] [--by=<agent>] [--task=<key>] [--json] [--locale=en]',
141
- help_runtime_start:
142
- 'aioson runtime:start [path] --agent=<name> [--squad=<slug>] [--session=<key>] [--title=<text>] [--run=<key>] [--json] [--locale=en]',
143
- help_runtime_update:
144
- 'aioson runtime:update [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
145
- help_runtime_task_finish:
146
- 'aioson runtime:task:finish [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
147
- help_runtime_finish:
148
- 'aioson runtime:finish [path] --run=<key> [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
149
- help_runtime_task_fail:
150
- 'aioson runtime:task:fail [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
151
- help_runtime_fail:
152
- 'aioson runtime:fail [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
153
- help_runtime_status:
154
- 'aioson runtime:status [path] [--json] [--locale=en]',
155
- help_runtime_log:
156
- 'aioson runtime:log [path] --agent=<name> --message=<text> [--type=<event>] [--finish] [--status=completed|failed] [--summary=<text>] [--title=<task-title>] [--json] [--locale=en]',
157
- help_runtime_session_start:
158
- 'aioson runtime:session:start [path] --agent=<name> [--title=<text>] [--message=<text>] [--session=<key>] [--json] [--locale=en]',
159
- help_runtime_session_log:
160
- 'aioson runtime:session:log [path] --agent=<name> --message=<text> [--type=<event>] [--title=<text>] [--json] [--locale=en]',
161
- help_runtime_session_finish:
162
- 'aioson runtime:session:finish [path] --agent=<name> [--message=<text>] [--summary=<text>] [--status=completed|failed] [--json] [--locale=en]',
163
- help_runtime_session_status:
164
- 'aioson runtime:session:status [path] --agent=<name> [--limit=8] [--watch=2] [--json] [--locale=en]',
165
- help_runtime_emit:
166
- 'aioson runtime:emit [path] --agent=<name> [--type=<event>] [--summary=<text>] [--title=<text>] [--refs=<file[,file2]>] [--plan-step=<id>] [--meta=<json>] [--json] [--locale=en]',
167
- help_live_start:
168
- 'aioson live:start [path] --tool=codex|claude|gemini|opencode --agent=<name> [--tool-bin=<binary>] [--tool-args=<args>] [--title=<text>] [--goal=<text>] [--plan=<file>] [--session=<key>] [--message=<text>] [--attach] [--no-launch] [--tmux] [--json] [--locale=en]',
169
- help_live_status:
170
- 'aioson live:status [path] [--agent=<name>] [--limit=8] [--watch=2] [--format=compact|tmux-bar] [--json] [--locale=en]',
171
- help_live_handoff:
172
- 'aioson live:handoff [path] --agent=<name> --to=<name> [--reason=<text>] [--summary=<text>] [--message=<text>] [--json] [--locale=en]',
173
- help_live_close:
174
- 'aioson live:close [path] [--agent=<name>] [--summary=<text>] [--message=<text>] [--status=completed|failed] [--json] [--locale=en]',
175
- help_live_list:
176
- 'aioson live:list [path] [--json] [--locale=en]',
177
- help_scaffold_complete:
178
- 'aioson scaffold:complete [path] --slug=<slug> [--manifest=<path>] [--scaffold-path=<path>] [--session=<key>] [--agent=<name>] [--json] [--locale=en]',
179
- help_runtime_backup:
180
- 'aioson runtime:backup [path] [--tables=tasks,runs,...] [--force] [--dry-run] [--json] [--locale=en]',
181
- help_runtime_restore:
182
- 'aioson runtime:restore [path] [--tables=tasks,runs,...] [--dry-run] [--json] [--locale=en]',
183
- help_skill_install:
184
- 'aioson skill:install [path] --slug=<name> [--from=npm|cloud|./path] [--force] [--json] [--locale=en]',
185
- help_skill_list:
186
- 'aioson skill:list [path] [--json] [--locale=en]',
187
- help_skill_remove:
188
- 'aioson skill:remove [path] --slug=<name> [--json] [--locale=en]',
189
- help_design_hybrid_options:
190
- 'aioson design-hybrid:options [path] [--advanced] [--json] [--locale=en]',
191
- help_cloud_import_squad:
192
- 'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
193
- help_cloud_import_genome:
194
- 'aioson cloud:import:genome [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
195
- help_cloud_publish_squad:
196
- 'aioson cloud:publish:squad [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--compatibility-min=<version>] [--compatibility-max=<version>] [--linked-genome-version=<version>] [--dry-run] [--json] [--locale=en]',
197
- help_cloud_publish_genome:
198
- 'aioson cloud:publish:genome [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--source-kind=LOCAL|AIOSLITE|IMPORTED|REMOTE_PROVIDER] [--dry-run] [--json] [--locale=en]',
199
- help_auth_login:
200
- 'aioson auth:login --token=<token> [--locale=en]',
201
- help_auth_logout:
202
- 'aioson auth:logout [--locale=en]',
203
- help_auth_status:
204
- 'aioson auth:status [--locale=en]',
205
- help_workspace_init:
206
- 'aioson workspace:init [path] [--name=<slug>] [--force] [--locale=en]',
207
- help_workspace_status:
208
- 'aioson workspace:status [path] [--locale=en]',
209
- help_workspace_open:
210
- 'aioson workspace:open [path] [--locale=en]',
211
- help_genome_publish:
212
- 'aioson genome:publish [path] --slug=<slug> [--private] [--paid] [--dry-run] [--locale=en]',
213
- help_genome_install:
214
- 'aioson genome:install <slug-or-code> [path] [--force] [--locale=en]',
215
- help_genome_list:
216
- 'aioson genome:list [path] [--locale=en]',
217
- help_genome_remove:
218
- 'aioson genome:remove --slug=<slug> [path] [--force] [--locale=en]',
219
- help_genome_install_store:
220
- 'aioson genome:install:store [path] <code-or-slug> [--slug=<slug>] [--force] [--locale=en]',
221
- help_skill_publish:
222
- 'aioson skill:publish [path] --slug=<slug> [--private] [--paid] [--dry-run] [--locale=en]',
223
- help_squad_list:
224
- 'aioson squad:list [path] [--remote] [--locale=en]',
225
- help_squad_publish:
226
- 'aioson squad:publish [path] --slug=<slug> [--bundle-skills=a,b] [--bundle-genomes=a,b] [--version=<semver>] [--private] [--paid] [--dry-run] [--locale=en]',
227
- help_squad_install:
228
- 'aioson squad:install [path] <code-or-slug> [--email=<email>] [--force] [--locale=en]',
229
- help_squad_grant:
230
- 'aioson squad:grant <code> <email> [--locale=en]',
231
- dashboard_moved:
232
- 'The `{command}` CLI flow was removed. The AIOSON dashboard is now installed separately. Open the dashboard app on your computer, create or add a project, and select the folder that already contains `.aioson/`.',
233
- dashboard_moved_line: '{message}\n',
234
- unknown_command: 'Unknown command: {command}',
235
- unknown_command_line: '{message}\n',
236
- error_prefix: 'Error: {message}'
237
- },
238
- cloud: {
239
- project_missing: 'Project directory not found: {path}',
240
- url_required: 'Provide --url with the squad snapshot JSON endpoint.',
241
- import_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud import.',
242
- import_squad_done: 'Imported squad snapshot {slug}@{version}.',
243
- import_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud import.',
244
- import_genome_done: 'Imported genome snapshot {slug}@{version}.',
245
- publish_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud publish.',
246
- publish_squad_done: 'Published squad {slug}@{version} to the cloud.',
247
- publish_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud publish.',
248
- publish_genome_done: 'Published genome {slug}@{version} to the cloud.'
249
- },
250
- init: {
251
- usage_error:
252
- 'Usage: aioson init <project-name> [--force] [--dry-run] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
253
- non_empty_dir: 'Directory is not empty: {targetDir}. Use --force to continue.',
254
- created_at: 'Project created at: {targetDir}',
255
- files_copied: 'Files copied: {count}',
256
- files_skipped: 'Files skipped: {count}',
257
- next_steps: 'Next steps:',
258
- step_cd: '1. cd {projectName}',
259
- step_setup: '2. Open in your AI CLI and run @setup',
260
- step_agents: '3. If no visual picker appears, run: aioson agents',
261
- step_agent_prompt: '4. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}'
262
- },
263
- init_all: {
264
- installing_full: 'Installing complete (all tools + squads) — wizard skipped via --all'
265
- },
266
- install: {
267
- framework_detected: 'Framework detected: {framework} ({evidence})',
268
- framework_not_detected: 'No framework detected. Installing in generic mode.',
269
- done_at: 'Installation completed at: {targetDir}',
270
- files_copied: 'Files copied: {count}',
271
- files_skipped: 'Files skipped: {count}',
272
- next_steps: 'Next steps:',
273
- step_setup_context: '1. Generate/refresh project context: aioson setup:context --defaults',
274
- step_agents: '2. If no visual picker appears, run: aioson agents',
275
- step_agent_prompt: '3. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}',
276
- existing_project_detected: '⚠ Existing project detected ({count} files). Run the scanner before starting:',
277
- existing_project_scan_hint:
278
- ' aioson scan:project . --folder=src --with-llm --provider=<provider> (generates discovery.md + skeleton-system.md; omit --with-llm for local maps only)'
279
- },
280
- install_wizard: {
281
- ready_to_install: 'Ready to install:',
282
- press_enter_to_install: 'Press enter to install or q to cancel.',
283
- deselected_warning: '⚠ Deselected items will NOT be removed automatically.',
284
- deselected_hint: ' Remove them manually if needed.'
285
- },
286
- update: {
287
- not_installed: 'No AIOSON installation found in {targetDir}.',
288
- done_at: 'Update completed at: {targetDir}',
289
- files_updated: 'Files updated: {count}',
290
- backups_created: 'Backups created: {count}',
291
- reconfigure_hint: 'New options may be available. Run: aioson install --reconfigure'
292
- },
293
- info: {
294
- cli_version: 'AIOSON CLI: v{version}',
295
- directory: 'Directory: {targetDir}',
296
- installed_here: 'Installed in this directory: {value}',
297
- framework_detected: 'Framework detected: {framework}',
298
- evidence: 'Evidence: {evidence}',
299
- yes: 'yes',
300
- no: 'no',
301
- none: 'none'
302
- },
303
- doctor: {
304
- ok: 'OK',
305
- fail: 'FAIL',
306
- diagnosis_ok: 'Diagnosis: healthy installation.',
307
- diagnosis_fail: 'Diagnosis: {count} issue(s) found.',
308
- hint_prefix: '-> {hint}',
309
- check_line: '[{icon}] {message}',
310
- hint_line: ' Hint: {hint}',
311
- fix_action_line: '- Action: {action}',
312
- detail_line: ' Detail: {text}',
313
- required_file: 'Required file: {rel}',
314
- context_generated: 'Main context generated',
315
- context_hint: 'Run @setup to generate .aioson/context/project.context.md',
316
- context_frontmatter_valid: 'Project context frontmatter is valid',
317
- context_frontmatter_valid_hint: 'Ensure project.context.md starts with YAML frontmatter delimited by ---',
318
- context_frontmatter_invalid: 'Project context frontmatter is invalid ({reason})',
319
- context_frontmatter_invalid_hint: 'Rewrite project.context.md using the @setup output format.',
320
- context_required_field: 'Missing required context field: {field}',
321
- context_required_field_hint: 'Re-run @setup and confirm all required fields are present.',
322
- context_framework_installed_type: '`framework_installed` must be boolean (true/false)',
323
- context_framework_installed_type_hint: 'Set framework_installed as true or false without quotes.',
324
- context_classification_value: '`classification` must be one of {expected}',
325
- context_classification_value_hint: 'Use MICRO, SMALL, or MEDIUM exactly.',
326
- context_project_type_value: '`project_type` must be one of {expected}',
327
- context_project_type_value_hint: 'Use web_app, api, site, script, dapp, or desktop_app exactly.',
328
- context_profile_value: '`profile` must be one of {expected}',
329
- context_profile_value_hint: 'Use developer, beginner, or team exactly.',
330
- context_interaction_language_format: '`interaction_language` is not a valid BCP-47 tag',
331
- context_interaction_language_format_hint: 'Use values like en, en-US, pt-BR.',
332
- context_conversation_language_format: '`conversation_language` is not a valid BCP-47 tag',
333
- context_conversation_language_format_hint: 'Use values like en, en-US, pt-BR.',
334
- node_version: 'Node.js >= 18 (current: {version})',
335
- gateway_claude_pointer: 'CLAUDE gateway references shared AIOSON files',
336
- gateway_claude_pointer_hint:
337
- 'Ensure CLAUDE.md references .aioson/config.md and .aioson/agents/setup.md.',
338
- gateway_codex_pointer: 'Codex gateway references shared AIOSON files',
339
- gateway_codex_pointer_hint:
340
- 'Ensure AGENTS.md references .aioson/config.md and .aioson/agents/.',
341
- gateway_gemini_pointer: 'Gemini gateway references shared command and agent paths',
342
- gateway_gemini_pointer_hint:
343
- 'Ensure .gemini/GEMINI.md references .gemini/commands/ and .aioson/agents/.',
344
- gateway_gemini_command_pointer: 'Gemini command file maps to shared agent: {file}',
345
- gateway_gemini_command_pointer_hint:
346
- 'Ensure {file} includes @{ .aioson/agents/{agent}.md } in the prompt field.',
347
- gateway_opencode_pointer: 'OpenCode gateway references shared AIOSON files',
348
- gateway_opencode_pointer_hint:
349
- 'Ensure OPENCODE.md references .aioson/config.md and .aioson/agents/.',
350
- fix_start: 'Safe fix mode enabled.',
351
- fix_start_dry_run: 'Safe fix mode enabled (dry-run).',
352
- fix_action_required_files: 'Restore missing managed files from template',
353
- fix_action_gateway_contracts: 'Restore broken gateway contract files from template',
354
- fix_action_locale_sync: 'Synchronize active agent prompts with context language',
355
- fix_not_applicable: 'Not applicable for current state.',
356
- fix_target_count: 'Targets identified: {count}',
357
- fix_applied_count: 'Changes applied: {count}',
358
- fix_planned_count: 'Changes planned: {count}',
359
- fix_locale: 'Resolved locale: {locale}',
360
- fix_summary: 'Safe fix changes applied: {count}',
361
- fix_summary_dry_run: '[dry-run] Safe fix changes planned: {count}'
362
- },
363
- i18n_add: {
364
- usage_error: 'Usage: aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
365
- invalid_locale: 'Invalid locale code: {locale}. Expected formats like en, fr, pt-br.',
366
- base_locale: 'Locale "en" is the base dictionary and cannot be scaffolded.',
367
- locale_exists: 'Locale file already exists: {path}. Use --force to overwrite.',
368
- dry_run_created: '[dry-run] Locale scaffold would be created: {locale}',
369
- dry_run_overwritten: '[dry-run] Locale scaffold would be overwritten: {locale}',
370
- created: 'Locale scaffold created: {locale}',
371
- overwritten: 'Locale scaffold overwritten: {locale}',
372
- file_path: 'Locale file: {path}',
373
- next_steps: 'Next steps:',
374
- step_translate: '1. Replace English strings with translated text in that file.',
375
- step_try: '2. Run the CLI with --locale={locale} to validate the new dictionary.'
376
- },
377
- agents: {
378
- list_title: 'Available agents (resolved locale: {locale}):',
379
- path: 'Path',
380
- active_path: 'Active path',
381
- depends: 'Depends on',
382
- output: 'Output',
383
- agent_line: '- Agent: {label} - {command} ({id})',
384
- path_line: ' Path: {path}',
385
- active_path_line: ' Active path: {path}',
386
- depends_line: ' Depends on: {value}',
387
- output_line: ' Output: {value}',
388
- none: 'none',
389
- prompt_usage_error:
390
- 'Usage: aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=en]',
391
- prompt_unknown_agent: 'Unknown agent: {agent}',
392
- prompt_invalid_target_mode:
393
- 'Invalid pentester target mode: {mode}. Expected framework_target or app_target.',
394
- prompt_missing_feature_for_app_target:
395
- 'Pentester app_target requires --feature=<slug> (or --slug=<slug>).',
396
- prompt_missing_scope_for_app_target:
397
- 'Pentester app_target requires --scope=<area>.',
398
- prompt_title: 'Prompt for agent "{agent}" on tool "{tool}" (locale: {locale}):'
399
- },
400
- context_validate: {
401
- missing_file: 'Context file not found: {path}',
402
- hint_setup: 'Run @setup to generate the file first.',
403
- invalid_frontmatter: 'Context file has invalid YAML frontmatter.',
404
- file_path: 'Context file: {path}',
405
- parse_reason_unknown: 'unknown',
406
- parse_reason_missing_frontmatter: 'missing opening frontmatter delimiter',
407
- parse_reason_unclosed_frontmatter: 'unclosed frontmatter block',
408
- parse_reason_invalid_frontmatter_line: 'invalid frontmatter line syntax',
409
- parse_reason: 'Parse reason: {reason}',
410
- hint_fix_frontmatter: 'Use @setup to regenerate a valid context file.',
411
- invalid_fields: 'Context file is parsed but has validation issues:',
412
- issue_line: '- {issue}',
413
- valid: 'Context file is valid.'
414
- },
415
- context_pack: {
416
- generated: 'Context pack written to: {path}',
417
- no_matches: 'No relevant context files were selected yet. Run setup/context/scan before packing.',
418
- selected_title: 'Files included in the pack:',
419
- selected_line: ' {index}. {path} {reason}',
420
- hint_use: 'Use {path} as the minimum starting context in your AI session.'
421
- },
422
- setup: {
423
- installing: 'Installing AIOSON template...',
424
- installed: 'Template installed ({count} files).',
425
- no_framework_detected: 'No framework detected in this directory (greenfield project).',
426
- framework_detected: 'Detected framework: {framework} (installed={installed})',
427
- writing_context: 'Writing project context...',
428
- done: 'Setup complete.',
429
- step_agents: ' Next: open your AI client and activate @setup to confirm or refine the context.',
430
- step_agent_prompt: ' Or run: aioson agent:prompt setup . --tool={tool}',
431
- q_project_name: 'Project name',
432
- q_framework: 'Main framework / stack (e.g. Python, Node, Laravel, Django)',
433
- q_lang: 'Language for agent responses (e.g. en, pt-BR, es, fr)',
434
- q_confirm_framework: 'Use detected framework? (true/false)',
435
- q_override_framework: 'Framework',
436
- q_framework_installed: 'Framework installed? (true/false)'
437
- },
438
- setup_context: {
439
- detected: 'Detected framework: {framework} (installed={installed})',
440
- q_project_name: 'Project name',
441
- q_project_type: 'Project type (web_app|api|site|script|dapp|desktop_app)',
442
- q_profile: 'Profile: [1] developer [2] beginner [3] team',
443
- q_use_detected_framework: 'Use detected framework? (true/false)',
444
- q_framework: 'Framework',
445
- q_framework_installed: 'Framework installed? (true/false)',
446
- q_language: 'Conversation language (for example en or pt-BR)',
447
- q_backend_menu:
448
- 'Backend: [1] Laravel [2] Rails [3] Django [4] Node/Express [5] Next.js [6] Nuxt [7] Hardhat [8] Foundry [9] Truffle [10] Anchor [11] Solana Web3 [12] Cardano [13] Other',
449
- q_backend_text: 'Backend (free text)',
450
- q_laravel_version: 'Laravel version (for example 11, 10)',
451
- q_frontend_menu:
452
- 'Frontend: [1] TALL Stack [2] VILT Stack [3] Blade [4] Next.js [5] Nuxt [6] React [7] Vue [8] Other',
453
- q_frontend_text: 'Frontend (free text)',
454
- q_auth_menu:
455
- 'Auth (Laravel): [1] Breeze [2] Jetstream + Livewire [3] Filament Shield [4] Custom',
456
- q_web3_enabled: 'Web3 enabled? (true/false)',
457
- q_web3_networks: 'Web3 networks (for example ethereum, solana, cardano)',
458
- q_contract_framework: 'Contract framework (for example Hardhat, Foundry, Anchor, Aiken)',
459
- q_wallet_provider: 'Wallet provider (for example wagmi, RainbowKit, Phantom, Lace)',
460
- q_indexer: 'Indexer (for example The Graph, Helius, Blockfrost)',
461
- q_rpc_provider: 'RPC provider (for example Alchemy, Infura, QuickNode)',
462
- q_jetstream_teams: 'Jetstream teams enabled? (true/false)',
463
- q_jetstream_existing_action:
464
- 'Existing Laravel project without Jetstream detected. Action: [1] continue without Jetstream [2] recreate with Jetstream (recommended) [3] manual install (risk)',
465
- q_auth_text: 'Authentication approach (free text)',
466
- q_uiux_menu: 'UI/UX: [1] Tailwind [2] Flux UI [3] shadcn/ui [4] Filament',
467
- q_uiux_text: 'UI/UX approach (free text)',
468
- q_database_menu:
469
- 'Database: [1] MySQL [2] PostgreSQL [3] SQLite [4] MongoDB [5] Supabase [6] PlanetScale',
470
- q_database_text: 'Database (free text)',
471
- q_services_list:
472
- 'Additional services (comma list): queues, storage, websockets, payments, email, cache, search',
473
- q_rails_options:
474
- 'Rails options used (comma list, e.g. --database=postgresql,--css=tailwind,--api)',
475
- q_next_options:
476
- 'Next.js create-next-app options (comma list, e.g. TypeScript,ESLint,Tailwind CSS,App Router,src/ directory)',
477
- q_beginner_summary: 'Describe your project in one sentence',
478
- q_beginner_users:
479
- 'Expected users: [1] personal/small up to 10 [2] small team up to 100 [3] external customers',
480
- q_beginner_mobile: 'Mobile requirement: [1] mobile app [2] responsive web [3] desktop only',
481
- q_beginner_hosting: 'Hosting preference: [1] simple managed [2] VPS [3] cloud provider',
482
- q_beginner_accept_recommendation: 'Accept starter recommendation? (true/false)',
483
- beginner_recommendation:
484
- 'Starter recommendation -> framework: {framework}, frontend: {frontend}, database: {database}, auth: {auth}',
485
- q_user_types: 'How many user types?',
486
- q_integrations: 'How many external integrations?',
487
- q_rules_complexity: 'Rules complexity (none|some|complex)',
488
- note_status_enabled: 'enabled',
489
- note_status_disabled: 'disabled',
490
- note_jetstream_teams: 'Jetstream teams: {status}',
491
- note_selected_services: 'Selected services: {services}',
492
- note_rails_setup_flags: 'Rails setup flags: {flags}',
493
- note_next_setup_flags: 'Next.js setup flags: {flags}',
494
- note_next_create_flags: 'Next.js create flags: {flags}',
495
- note_jetstream_existing_action: 'Jetstream existing-project action: {action}',
496
- note_mobile_first:
497
- 'Mobile-first requirement detected; consider React Native/Expo as follow-up.',
498
- note_vps_preference:
499
- 'VPS preference detected; keep deployment scripts simple and reproducible.',
500
- note_cloud_profile:
501
- 'Cloud profile detected; use managed DB and object storage from day one.',
502
- note_web3_terms: 'Web3 terms detected; dApp starter recommendation applied.',
503
- note_starter_profile:
504
- 'This recommendation is a starter profile; adjust once requirements are clearer.',
505
- note_team_profile:
506
- 'Team profile selected; preserve explicit team conventions and CI rules.',
507
- note_beginner_declined:
508
- 'Starter recommendation declined; using custom stack from onboarding.',
509
- note_monorepo:
510
- 'Monorepo detected: Web3 and application framework coexist. Confirm primary framework with user and document structure in Notes.',
511
- written: 'Context file written: {path}',
512
- classification_result: 'Classification: {classification} (score={score}/6)',
513
- locale_applied: 'Interaction language synchronized: {locale} ({count} agent prompts restored)'
514
- },
515
- locale_apply: {
516
- applied: 'Interaction language synchronized: {locale}',
517
- dry_run_applied: '[dry-run] Interaction language would be synchronized: {locale}',
518
- copied_count: 'Files copied: {count}',
519
- missing_count: 'Missing locale files: {count}',
520
- copy_line: ' File: {source} -> {target}'
521
- },
522
- smoke: {
523
- start: 'Running smoke test in: {projectDir}',
524
- using_web3_profile: 'Using Web3 smoke profile: {target}',
525
- using_mixed_profile: 'Using mixed Web2+Web3 monorepo smoke profile.',
526
- using_parallel_profile: 'Using parallel orchestration smoke profile.',
527
- seeded_web3_workspace: 'Seeded workspace for Web3 target: {target}',
528
- seeded_mixed_workspace: 'Seeded workspace for mixed Web2+Web3 profile.',
529
- seeded_parallel_context: 'Seeded discovery/architecture/prd context for parallel profile.',
530
- step_ok: 'OK: {step}',
531
- web3_detected: 'Web3 framework detected: {framework} ({network})',
532
- web3_context_verified: 'Web3 context verified for network: {network}',
533
- mixed_context_verified: 'Mixed profile context verified (framework: {framework}).',
534
- parallel_status_verified: 'Parallel status verified for lanes: {count}',
535
- invalid_web3_target: 'Invalid --web3 target: {target}. Use ethereum, solana, or cardano.',
536
- invalid_profile: 'Invalid --profile value: {profile}. Use standard, mixed, or parallel.',
537
- profile_conflict: 'Do not combine --profile=mixed with --web3. Choose one profile mode.',
538
- assert_install_files: 'install copied zero files',
539
- assert_web3_framework: 'unexpected web3 framework detection: {framework}',
540
- assert_setup_written: 'setup:context did not write context file',
541
- assert_setup_project_type_dapp: 'setup did not infer project_type=dapp',
542
- assert_setup_web3_network: 'setup did not infer expected web3 network',
543
- assert_setup_web3_framework: 'setup did not keep expected web3 framework',
544
- assert_mixed_project_type_dapp: 'mixed profile did not infer project_type=dapp',
545
- assert_mixed_web3_enabled: 'mixed profile did not infer web3_enabled=true',
546
- assert_mixed_framework: 'mixed profile did not prefer web3 framework',
547
- assert_locale_apply_files: 'locale:apply copied zero files',
548
- assert_agents_count: 'agents command returned unexpected agent count',
549
- assert_prompt_path: 'agent:prompt did not include expected path information',
550
- assert_context_validate: 'context:validate failed',
551
- assert_web3_context_valid: 'web3 context parse failed',
552
- assert_web3_context_project_type: 'context project_type is not dapp',
553
- assert_web3_context_enabled: 'context web3_enabled is not true',
554
- assert_web3_context_network: 'context web3_networks does not include expected target',
555
- assert_doctor_ok: 'doctor check failed',
556
- assert_parallel_init_ok: 'parallel:init failed',
557
- assert_parallel_init_workers: 'parallel:init workers mismatch',
558
- assert_parallel_assign_ok: 'parallel:assign failed',
559
- assert_parallel_assign_scope: 'parallel:assign produced no scopes',
560
- assert_parallel_status_ok: 'parallel:status failed',
561
- assert_parallel_status_lanes: 'parallel:status lane count mismatch',
562
- assert_parallel_doctor_ok: 'parallel:doctor failed',
563
- assert_parallel_doctor_summary: 'parallel:doctor reported failures',
564
- completed: 'Smoke test completed successfully.',
565
- steps_count: 'Validated steps: {count}',
566
- workspace_kept: 'Workspace kept: {path}',
567
- workspace_removed: 'Workspace removed: {path}'
568
- },
569
- package_test: {
570
- start: 'Running package test from source: {sourceDir}',
571
- pack_done: 'Package tarball created: {tarball}',
572
- completed: 'Package test completed with {count} validated steps.',
573
- workspace: 'Package test workspace: {path}',
574
- error_unknown_detail: 'unknown error',
575
- error_npm_pack: 'npm pack failed: {detail}',
576
- error_tarball_missing: 'npm pack did not return tarball name',
577
- error_npx_init: 'npx init failed: {detail}',
578
- error_npx_setup_context: 'npx setup:context failed: {detail}',
579
- error_npx_doctor: 'npx doctor failed: {detail}',
580
- error_doctor_not_ok: 'doctor returned ok=false during package test',
581
- error_npx_mcp_init: 'npx mcp:init failed: {detail}',
582
- error_mcp_not_ok: 'mcp:init returned ok=false during package test'
583
- },
584
- workflow_plan: {
585
- context_missing:
586
- 'Context file not found. Using fallback workflow based on provided/default classification.',
587
- title: 'Recommended workflow for classification {classification}:',
588
- notes: 'Notes:',
589
- command_line: ' Command: {command}',
590
- note_line: ' Note: {note}',
591
- note_framework_not_installed:
592
- 'Framework is not installed yet; complete stack installation before @dev.',
593
- note_dapp_context:
594
- 'dApp context detected; include Web3 skills during @architect and @dev.',
595
- note_micro_scope: 'Keep implementation scope minimal and avoid optional agents.',
596
- note_product_optional: '@product is optional for MICRO — skip it and go straight to @dev if the idea is already clear.',
597
- note_feature_flow: 'New feature workflow (after initial setup): @product → @analyst → @dev → @qa. No @setup required.'
598
- },
599
- workflow_next: {
600
- title: 'Workflow handoff for {mode} ({classification}):',
601
- completed: 'Completed stage: {agent}',
602
- detour: 'Detour active: {agent} (return to {returnTo})',
603
- current_agent: 'Current agent: {agent}',
604
- next_agent: 'Return/next agent: {agent}',
605
- done: 'Workflow is complete. No next agent remains.',
606
- state_file: 'State file: {path}'
607
- },
608
- workflow_heal: {
609
- title: '🩹 Self-healing activated for {stage} (attempt {count}/3):'
610
- },
611
- parallel_init: {
612
- context_missing: 'Context file not found: {path}. Run setup:context first.',
613
- context_invalid: 'Context file is invalid or not parseable: {path}.',
614
- classification_unknown: 'unknown',
615
- requires_medium:
616
- 'Parallel initialization is only supported for MEDIUM classification (current: {classification}). Use --force to override.',
617
- invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
618
- already_exists:
619
- 'Parallel context files already exist ({count}). Use --force to overwrite existing files.',
620
- prepared: 'Parallel workspace initialized at: {path}',
621
- dry_run_prepared: '[dry-run] Parallel workspace would be initialized at: {path}',
622
- workers_count: 'Workers: {count}',
623
- files_count: 'Files prepared: {count}',
624
- missing_prereq_count: 'Missing prerequisite context files: {count}',
625
- file_line: ' File: {file}'
626
- },
627
- parallel_doctor: {
628
- prefix_ok: 'OK',
629
- prefix_warn: 'WARN',
630
- prefix_fail: 'FAIL',
631
- check_line: '[{prefix}] {id} - {message}',
632
- hint_line: ' Hint: {hint}',
633
- invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
634
- classification_unknown: 'unknown',
635
- requires_medium:
636
- 'Parallel doctor fix mode requires MEDIUM classification (current: {classification}). Use --force to override.',
637
- report_title: 'Parallel doctor report: {path}',
638
- summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
639
- fix_summary: 'Parallel fix changes applied: {count}',
640
- fix_summary_dry_run: '[dry-run] Parallel fix changes planned: {count}',
641
- check_context_exists_ok: 'project.context.md exists.',
642
- check_context_exists_missing: 'project.context.md is missing.',
643
- check_context_exists_hint: 'Run setup:context before parallel doctor.',
644
- check_context_parsed_ok: 'project.context.md is parseable.',
645
- check_context_parsed_invalid: 'project.context.md is invalid.',
646
- check_context_parsed_hint: 'Fix context frontmatter before running parallel doctor.',
647
- check_context_classification_ok:
648
- 'Parallel mode allowed for classification {classification}.',
649
- check_context_classification_invalid:
650
- 'Parallel mode requires MEDIUM classification (current: {classification}).',
651
- check_context_classification_hint: 'Use --force to override classification guard.',
652
- check_parallel_dir_ok: '.aioson/context/parallel directory exists.',
653
- check_parallel_dir_missing: '.aioson/context/parallel directory is missing.',
654
- check_parallel_dir_hint: 'Run parallel:init or parallel:doctor --fix.',
655
- check_parallel_shared_ok: 'shared-decisions.md is present.',
656
- check_parallel_shared_missing: 'shared-decisions.md is missing.',
657
- check_parallel_shared_hint: 'Run parallel:doctor --fix to restore baseline files.',
658
- check_parallel_manifest_ok: 'workspace.manifest.json is present.',
659
- check_parallel_manifest_missing: 'workspace.manifest.json is missing.',
660
- check_parallel_manifest_hint: 'Run parallel:doctor --fix to restore the workspace manifest.',
661
- check_parallel_ownership_ok: 'ownership-map.json is present.',
662
- check_parallel_ownership_missing: 'ownership-map.json is missing.',
663
- check_parallel_ownership_hint: 'Run parallel:doctor --fix to restore the ownership map.',
664
- check_parallel_merge_ok: 'merge-plan.json is present.',
665
- check_parallel_merge_missing: 'merge-plan.json is missing.',
666
- check_parallel_merge_hint: 'Run parallel:doctor --fix to restore the merge plan.',
667
- check_machine_sync_ok: 'Machine-readable parallel artifacts are in sync with lane status files.',
668
- check_machine_sync_stale: 'Machine-readable parallel artifacts are stale: {files}.',
669
- check_machine_sync_hint: 'Run parallel:doctor --fix to rebuild stale artifacts.',
670
- check_ownership_conflicts_ok: 'No ownership conflicts were detected across lane scopes.',
671
- check_ownership_conflicts_found: 'Detected {count} ownership conflict(s) across lane scopes.',
672
- check_ownership_conflicts_hint: 'Update scope ownership so each scope key belongs to exactly one lane.',
673
- check_write_scope_present_ok: 'All lanes with assigned scope also declare write_paths.',
674
- check_write_scope_present_missing: '{count} lane(s) with assigned scope still have no write_paths.',
675
- check_write_scope_present_hint: 'Declare project-relative file paths or directory prefixes (for example src/auth/**) in each lane Ownership block.',
676
- check_write_scope_valid_ok: 'All declared write_paths use supported patterns.',
677
- check_write_scope_valid_invalid: 'Detected {count} invalid write_paths pattern(s).',
678
- check_write_scope_valid_hint: 'Use exact project-relative paths or recursive directory patterns ending with /**.',
679
- check_write_scope_conflicts_ok: 'No write_paths overlaps were detected across lanes.',
680
- check_write_scope_conflicts_found: 'Detected {count} write_paths overlap(s) across lanes.',
681
- check_write_scope_conflicts_hint: 'Split file ownership so each path pattern belongs to exactly one lane.',
682
- check_dependencies_valid_ok: 'All declared lane dependencies reference valid lanes.',
683
- check_dependencies_valid_invalid: 'Detected {count} invalid lane dependency reference(s).',
684
- check_dependencies_valid_hint: 'Use lane-N references only for existing lanes, or move shared coordination to shared-decisions.',
685
- check_dependencies_blocked_ok: 'No lane is currently blocked by an incomplete dependency.',
686
- check_dependencies_blocked_found: 'Detected {count} lane dependency blocker(s) based on current lane statuses.',
687
- check_dependencies_blocked_hint: 'Complete upstream lanes or move dependent lanes back to pending before execution.',
688
- check_merge_order_ok: 'Merge order respects declared lane dependencies.',
689
- check_merge_order_invalid: 'Detected {count} merge-order violation(s) against declared lane dependencies.',
690
- check_merge_order_hint: 'Adjust merge ranks or dependencies so upstream lanes merge first.',
691
- check_lanes_present_ok: 'Detected {count} lane file(s).',
692
- check_lanes_present_missing: 'No agent lane status files found.',
693
- check_lanes_present_hint: 'Run parallel:init or parallel:doctor --fix.',
694
- check_lanes_sequence_ok: 'Lane sequence is contiguous (1..{workers}).',
695
- check_lanes_sequence_missing: 'Missing lane files in sequence: {lanes}',
696
- check_lanes_sequence_hint: 'Run parallel:doctor --fix to restore missing lane files.',
697
- check_workers_option: 'Workers option requested: {workers}.',
698
- check_prereq_ok: 'All prerequisite context files are present.',
699
- check_prereq_missing: '{count} prerequisite context file(s) are missing.',
700
- check_prereq_hint: 'Create discovery/architecture/prd context files before orchestration.'
701
- },
702
- parallel_assign: {
703
- invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
704
- context_missing: 'Context file not found: {path}.',
705
- context_invalid: 'Context file is invalid or not parseable: {path}.',
706
- classification_unknown: 'unknown',
707
- requires_medium:
708
- 'Parallel assignment requires MEDIUM classification (current: {classification}). Use --force to override.',
709
- parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
710
- no_lanes: 'No lane status files were found in .aioson/context/parallel.',
711
- missing_lanes: 'Missing lane files for requested workers: {lanes}.',
712
- source_missing: 'Could not resolve source document from --source={source}.',
713
- applied: 'Parallel scope assignment applied ({count} scope item(s)).',
714
- dry_run_applied: '[dry-run] Parallel scope assignment planned ({count} scope item(s)).',
715
- source_info: 'Source document: {source}',
716
- workers_count: 'Workers: {count}',
717
- files_count: 'Files updated: {count}',
718
- lane_scope_line: '- lane {lane}: {count} scope item(s)'
719
- },
720
- parallel_status: {
721
- parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
722
- no_lanes: 'No lane status files were found in .aioson/context/parallel.',
723
- title: 'Parallel status report: {path}',
724
- lanes_count: 'Lanes: {count}',
725
- statuses_title: 'Statuses:',
726
- status_line: '- {status}: {count}',
727
- status_pending: 'pending',
728
- status_in_progress: 'in_progress',
729
- status_completed: 'completed',
730
- status_merged: 'merged',
731
- status_blocked: 'blocked',
732
- status_other: 'other',
733
- scopes_count: 'Total scope items: {count}',
734
- deliverables_progress: 'Deliverables: {completed}/{total} completed',
735
- blockers_count: 'Open blockers: {count}',
736
- shared_decisions: 'Shared decision log entries: {count}',
737
- ownership_conflicts: 'Ownership conflicts: {count}',
738
- write_scope_summary:
739
- 'Write scope: lanes_with_paths={lanes}, paths={paths}, uncovered_assigned_lanes={uncovered}, conflicts={conflicts}, invalid={invalid}',
740
- dependencies_summary: 'Dependencies: declared={declared}, invalid={invalid}, blocked={blocked}, order_violations={orderViolations}',
741
- sync_summary: 'Machine file drift: {count}',
742
- sync_stale_line: '- stale: {file}',
743
- lane_line: '- lane {lane}: status={status}, scope={scope}, blockers={blockers}'
744
- },
745
- parallel_merge: {
746
- parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
747
- no_lanes: 'No lane status files were found in .aioson/context/parallel.',
748
- ready: 'Deterministic merge is ready for {count} lane(s).',
749
- applied: 'Deterministic merge applied to {count} lane(s).',
750
- blocked: 'Deterministic merge is blocked for {count} lane(s).',
751
- order: 'Merge order: {order}',
752
- structural_summary:
753
- 'Structural checks: stale={stale}, ownership_conflicts={conflicts}, write_scope_conflicts={writeConflicts}, invalid_write_paths={invalidWritePaths}, invalid_dependencies={invalid}, blocked_dependencies={blocked}, order_violations={orderViolations}',
754
- lane_line: '- lane {lane}: action={action}, status={status}'
755
- },
756
- parallel_guard: {
757
- invalid_lane: 'Invalid --lane value. Use a positive integer.',
758
- paths_required: 'Missing --paths value. Provide one or more comma-separated project-relative paths.',
759
- parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
760
- no_lanes: 'No lane status files were found in .aioson/context/parallel.',
761
- lane_missing: 'Lane {lane} does not exist in the current parallel workspace.',
762
- allowed: 'Write-scope guard passed for lane {lane} ({count} path(s)).',
763
- blocked: 'Write-scope guard blocked lane {lane} for {count} path(s).',
764
- write_scope_summary: 'Write scope summary: paths={paths}, conflicts={conflicts}, invalid={invalid}',
765
- path_line: '- path {path}: status={status}, owners={owners}'
766
- },
767
- mcp_init: {
768
- context_missing:
769
- 'Context file not found. Generating baseline MCP plan with generic assumptions.',
770
- invalid_tool: 'Invalid --tool value: {tool}. Use one of: {expected}.',
771
- reason_filesystem: 'Mandatory local workspace access.',
772
- reason_context7: 'Use up-to-date official documentation at implementation time.',
773
- reason_database_none: 'No database stack detected yet.',
774
- reason_database_enabled: 'Context indicates database-backed features (remote MCP endpoint recommended).',
775
- reason_web_search: 'Useful for package vetting and release-note verification.',
776
- reason_chain_rpc_disabled: 'Web3 is disabled for this project.',
777
- reason_chain_rpc_enabled: 'dApp context detected; chain RPC access is required.',
778
- note_workspace_local: 'This is a workspace-local preset generated by AIOSON.',
779
- note_replace_placeholders: 'Replace placeholder commands with the MCP servers you actually use.',
780
- note_keep_secrets_env: 'Keep secrets in environment variables, never inline tokens.',
781
- generated: 'MCP plan written: {path}',
782
- dry_run_generated: '[dry-run] MCP plan would be written: {path}',
783
- server_count: 'MCP servers in plan: {count}',
784
- preset_count: 'Tool presets generated: {count}',
785
- preset_written: 'Preset written ({tool}): {path}',
786
- preset_dry_run: '[dry-run] Preset would be written ({tool}): {path}'
787
- },
788
- mcp_doctor: {
789
- prefix_ok: 'OK',
790
- prefix_warn: 'WARN',
791
- prefix_fail: 'FAIL',
792
- check_line: '[{prefix}] {id} - {message}',
793
- hint_line: ' Hint: {hint}',
794
- context_missing: 'project.context.md was not found.',
795
- context_missing_hint: 'Run setup first for context-aware MCP validation.',
796
- context_parse_invalid: 'project.context.md could not be parsed ({reason}).',
797
- context_parse_invalid_hint: 'Fix context formatting to enable stack-aware MCP validation.',
798
- context_ok: 'project.context.md is available and parseable.',
799
- plan_missing: 'MCP plan file was not found (.aioson/mcp/servers.local.json).',
800
- plan_missing_hint: 'Run: aioson mcp:init',
801
- plan_invalid: 'MCP plan JSON is invalid: {error}',
802
- plan_invalid_hint: 'Regenerate the plan with: aioson mcp:init',
803
- plan_ok: 'MCP plan file is present and valid JSON.',
804
- plan_servers_ok: 'MCP plan declares {count} server definition(s).',
805
- plan_servers_missing: 'MCP plan has no server definitions.',
806
- plan_servers_hint: 'Regenerate with: aioson mcp:init',
807
- core_enabled: 'Core MCP server "{server}" is enabled.',
808
- core_missing: 'Core MCP server "{server}" is missing or disabled.',
809
- core_missing_hint: 'Regenerate and keep baseline core servers enabled.',
810
- presets_any_ok: '{count} MCP preset file(s) found.',
811
- presets_any_missing: 'No MCP preset files were found.',
812
- presets_any_hint: 'Run: aioson mcp:init',
813
- presets_coverage_partial: 'Only {existing}/{total} tool presets are present.',
814
- presets_coverage_partial_hint:
815
- 'Run: aioson mcp:init (without --tool) to generate all presets.',
816
- presets_coverage_full: 'All tool presets are present (claude, codex, gemini, opencode).',
817
- env_none_required: 'No required environment variables in enabled MCP servers.',
818
- env_missing: '{missing}/{total} required env var(s) are missing: {vars}',
819
- env_missing_hint_strict: 'Set the missing variables before execution.',
820
- env_missing_hint_relaxed:
821
- 'Set variables for full runtime readiness. Use --strict-env to fail on this check.',
822
- env_all_present: 'All required env vars are available ({count}).',
823
- compat_database_ok: 'Database MCP matches context stack engine ({engine}).',
824
- compat_database_mismatch: 'Database MCP does not fully match context stack ({engine}).',
825
- compat_database_hint: 'Regenerate with: aioson mcp:init, or adjust database server manually.',
826
- compat_web3_ok: 'chain-rpc MCP is enabled for Web3 context.',
827
- compat_web3_missing: 'Web3 context detected, but chain-rpc MCP is missing or disabled.',
828
- compat_web3_missing_hint: 'Regenerate with: aioson mcp:init',
829
- compat_web3_unneeded: 'chain-rpc MCP is enabled, but context is not Web3.',
830
- compat_web3_unneeded_hint: 'Disable chain-rpc if not needed.',
831
- report_title: 'MCP doctor report: {path}',
832
- summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.'
833
- },
834
- qa_doctor: {
835
- prefix_ok: 'OK',
836
- prefix_warn: 'WARN',
837
- prefix_fail: 'FAIL',
838
- check_line: '[{prefix}] {id} - {message}',
839
- hint_line: ' Hint: {hint}',
840
- report_title: 'QA doctor report: {path}',
841
- summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
842
- playwright_ok: 'Playwright is installed.',
843
- playwright_missing: 'Playwright package not found.',
844
- playwright_missing_hint: 'Run: npm install -g playwright && npx playwright install chromium',
845
- chromium_ok: 'Chromium browser binary found.',
846
- chromium_missing: 'Chromium binary not found.',
847
- chromium_missing_hint: 'Run: npx playwright install chromium',
848
- config_ok: 'aios-qa.config.json found and valid.',
849
- config_missing: 'aios-qa.config.json not found.',
850
- config_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
851
- config_invalid: 'aios-qa.config.json is not valid JSON: {error}',
852
- url_ok: 'Target URL is reachable ({url}).',
853
- url_missing: 'No target URL configured in aios-qa.config.json.',
854
- url_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
855
- url_unreachable: 'Target URL is not reachable ({url}): {error}',
856
- url_unreachable_hint: 'Start your application before running qa:run or qa:scan.',
857
- context_ok: 'project.context.md found — tests will be enriched with project context.',
858
- context_missing: 'project.context.md not found running in generic mode.',
859
- prd_ok: 'prd.md found {count} acceptance criteria mapped to test scenarios.',
860
- prd_missing: 'prd.md not found AC coverage mapping will be skipped.'
861
- },
862
- qa_init: {
863
- context_found: 'Context found: project={name}, url={url}',
864
- prd_found: 'prd.md found extracted {count} acceptance criteria as test scenarios.',
865
- prd_missing: 'prd.md not found no AC scenarios generated. Add prd.md to enrich tests.',
866
- generated: 'QA config written: {path}',
867
- dry_run_generated: '[dry-run] QA config would be written: {path}',
868
- scenarios_count: 'Test scenarios from prd.md: {count}',
869
- personas_count: 'Personas enabled: {count} (naive, hacker, power, mobile)',
870
- probes_count: 'Security probes enabled: {count}',
871
- next_steps: 'Next steps:',
872
- step_doctor: '1. Verify prerequisites: aioson qa:doctor',
873
- step_run: '2. Run browser tests: aioson qa:run'
874
- },
875
- qa_run: {
876
- playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
877
- config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
878
- url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
879
- starting: 'Starting browser QA session: {url}',
880
- persona_start: 'Running persona: {persona}',
881
- persona_done: 'Persona "{persona}" complete {count} finding(s)',
882
- accessibility: 'Running accessibility audit...',
883
- performance: 'Capturing performance metrics...',
884
- ac_scenarios: 'Documenting AC coverage...',
885
- done: 'QA session complete.',
886
- report_written: 'Report written: {path}',
887
- json_written: 'JSON report written: {path}',
888
- screenshots_dir: 'Screenshots saved to: {path}',
889
- findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
890
- html_report_written: 'HTML report written: {path}'
891
- },
892
- qa_scan: {
893
- playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
894
- config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
895
- url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
896
- starting: 'Starting autonomous scan: {url}',
897
- crawling: 'Crawling routes (max depth {depth}, max pages {pages})...',
898
- routes_found: 'Routes discovered: {count}',
899
- scanning_route: 'Scanning: {route}',
900
- done: 'Autonomous scan complete.',
901
- report_written: 'Report written: {path}',
902
- findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
903
- html_report_written: 'HTML report written: {path}'
904
- },
905
- qa_report: {
906
- not_found: 'No QA report found. Run: aioson qa:run or aioson qa:scan',
907
- html_report_written: 'HTML report written: {path}'
908
- },
909
- harness: {
910
- init_success: 'Harness initialized for feature: {slug}',
911
- init_exists: 'Harness already initialized in {path}',
912
- contract_not_found: 'Contract not found for slug: {slug}',
913
- validating: 'Validating harness for {slug}...',
914
- blocked: 'Execution paused: {reason}',
915
- init_dry_run: '[dry-run] Would initialize harness for {slug}'
916
- },
917
- web_map: {
918
- url_missing: 'Missing required option: --url=<url>.',
919
- starting: 'Mapping site: {url}',
920
- pages_found: 'Pages discovered: {count}',
921
- page_line: '- {url} | depth={depth} | status={status} | links={links}',
922
- done: 'Web map complete.',
923
- failed: 'Web map failed: {error}'
924
- },
925
- web_scrape: {
926
- url_missing: 'Missing required option: --url=<url>.',
927
- invalid_format: 'Invalid --format value: {format}. Use markdown, text, html, or links.',
928
- fetching: 'Fetching page: {url}',
929
- title_line: 'Title: {title}',
930
- status_line: 'Status: {status} | Content-Type: {type}',
931
- done: 'Web scrape complete ({format}).',
932
- failed: 'Web scrape failed: {error}'
933
- },
934
- config: {
935
- usage_error:
936
- 'Usage: aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
937
- set_ok: 'Config key set: {key} (saved to {path})',
938
- show_header: 'Global config: {path}',
939
- show_empty: ' (no keys configured)',
940
- show_line: ' {key} = {value}',
941
- get_line: '{key} = {value}',
942
- key_not_found: 'Key not found: {key}'
943
- },
944
- runtime: {
945
- option_required: 'Required option missing: {option}',
946
- store_missing: 'Runtime store not found: {path}. Run: aioson runtime:init',
947
- init_ok: 'Runtime store initialized: {path}',
948
- ingest_ok: 'Runtime contents indexed: {indexed} | skipped: {skipped} ({path})',
949
- task_start_ok: 'Task started: {task} ({path})',
950
- start_ok: 'Run started: {run} ({path})',
951
- update_ok: 'Run updated: {run} ({path})',
952
- task_finish_ok: 'Task completed: {task} ({path})',
953
- finish_ok: 'Run completed: {run} ({path})',
954
- task_fail_ok: 'Task failed: {task} ({path})',
955
- fail_ok: 'Run failed: {run} ({path})',
956
- log_ok: 'Event logged: {agent} / {run} ({path})',
957
- log_finish_ok: 'Run finished: {agent} / {run} ({path})',
958
- log_agent_required: 'Missing required option: --agent',
959
- status_title: 'Runtime status: {path}',
960
- status_db: 'DB: {path}',
961
- status_task_counts:
962
- 'Tasks -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
963
- status_counts:
964
- 'Runs -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
965
- status_no_active_tasks: 'No active tasks.',
966
- status_active_tasks_title: 'Active tasks:',
967
- status_active_task_line: '- {task} | squad: {squad} | status: {status} | work: {title}',
968
- status_no_active: 'No active agent runs.',
969
- status_active_title: 'Active runs:',
970
- status_active_line: '- {agent} | squad: {squad} | status: {status} | work: {title}',
971
- status_live_sessions_title: 'Active live sessions:',
972
- status_live_session_line: '- {task} | agent: {agent} | status: {status} | plan: {plan} | micro: {micro} | handoffs: {handoffs} | work: {title}',
973
- status_micro_tasks_title: 'Active micro-tasks:',
974
- status_micro_task_line: '- {task} | parent: {parent} | status: {status} | work: {title}',
975
- status_handoffs_title: 'Recent handoffs:',
976
- status_handoff_line: '- {created} | {from} -> {to} | session: {session} | {message}'
977
- },
978
- live: {
979
- unsupported_tool: 'Unsupported live tool: {tool}. Supported tools: {supported}',
980
- plan_not_found: 'Plan file not found: {plan}',
981
- no_active_session: 'No active live session found for {agent}.',
982
- session_not_active: 'Live session for {agent} is not active.',
983
- json_requires_no_launch: '--json requires --no-launch for live:start because foreground launch is interactive.',
984
- tool_binary_not_found: 'Tool binary not found in PATH: {binary}',
985
- tool_mismatch: 'Active session uses tool "{existing}" but --tool={requested} was given. Close the session first or use the same tool.',
986
- micro_task_already_open: 'A live micro-task is already open for {agent}. Emit task_completed before task_started again.',
987
- handoff_same_agent: 'live:handoff requires different --agent and --to values.',
988
- handoff_agent_mismatch: 'No active live session found for {agent}.',
989
- watch_json_conflict: '--watch cannot be combined with --json.',
990
- no_session_found: 'No live session found.',
991
- no_session_for_agent: 'No live session found for {agent}.',
992
- session_already_closed: 'Live session {session} is already closed.',
993
- session_already_active: 'Live session already active: {agent} | session: {session} | run: {runKey} ({dbPath})',
994
- session_started: 'Live session started: {agent} | tool: {tool} | session: {session} ({dbPath})',
995
- event_recorded: 'Live event recorded: {agent} | {eventType} | {session} ({dbPath})',
996
- handoff_recorded: 'Live handoff recorded: {from} -> {to} | {session} ({dbPath})',
997
- session_closed: 'Live session closed: {agent} | {session} ({dbPath})',
998
- process_dead_warning: 'Process is dead while the live session is still open. Close it manually with `aioson live:close . --status=failed`.',
999
- tmux_not_found: 'tmux not found. Install tmux to use --tmux, or remove the flag to continue without terminal split.',
1000
- tmux_starting: 'Starting tmux session: agent {agent} | tool {tool} ...',
1001
- tmux_recreate: 'Previous tmux session ended. Recreating live session for {agent} ({session})...',
1002
- tmux_reattach: 'Tmux session still active. Reattaching to {agent} ({session})...',
1003
- list_title: 'Live sessions ({count}):',
1004
- list_empty: 'No live sessions found.',
1005
- list_line: '- {session} | {agent} | {tool} | {phase} | {updatedAt}'
1006
- },
1007
- squad_status: {
1008
- no_squad: 'No squads found.',
1009
- hint: 'Use @squad in your AI session to assemble a squad.',
1010
- squads_found: '{count} squad(s) found:',
1011
- most_recent: '(most recent)',
1012
- squad_item: ' [{file}]{marker}',
1013
- name: ' Squad : {value}',
1014
- mode: ' Mode : {value}',
1015
- goal: ' Goal : {value}',
1016
- agents: ' Agents : {specialists} specialists / {total} total ({path})',
1017
- sessions: ' Sessions : {count} ({path})',
1018
- latest_html: ' Latest HTML : {value}',
1019
- logs: ' Logs : {count} ({path})',
1020
- genomes: ' Genomes : {count} squad-level / {agent_count} agent bindings',
1021
- model_tiers: ' Model Tiers : {value}',
1022
- estimated_cost: ' Est. Cost : ~${value}/run'
1023
- },
1024
- squad_agent_create: {
1025
- no_name: 'Usage: aioson squad:agent-create [path] --name=<agent-name> [--type=agent|assistant|clone|worker] [--scope=my-agents|squad] [--squad=<slug>]',
1026
- invalid_scope: 'Invalid scope: "{scope}". Use "my-agents" or "squad".',
1027
- invalid_type: 'Invalid type: "{type}". Use: agent, assistant, clone, worker.',
1028
- invalid_tier: 'Invalid tier: "{tier}". Use: 0 (foundation), 1 (master), 2 (systematizer), 3 (specialist).',
1029
- invalid_disc: 'Invalid DISC profile: "{disc}".',
1030
- no_squads: 'No squads found. Create a squad first with @squad or provide --squad=<slug>.',
1031
- squad_required: '--squad=<slug> required when scope is "squad".',
1032
- squad_not_found: 'Squad "{squad}" not found.',
1033
- already_exists: 'Agent already exists: {path}'
1034
- },
1035
- squad_doctor: {
1036
- prefix_ok: 'OK',
1037
- prefix_warn: 'WARN',
1038
- prefix_fail: 'FAIL',
1039
- report_title: 'Squad report {squad}: {path}',
1040
- check_line: '[{prefix}] {message}',
1041
- check_metadata: 'Squad metadata present: {path}',
1042
- check_manifest: 'Squad manifest present: {path}',
1043
- check_rules: 'Rules/agents.md present: {path}',
1044
- check_design_doc: 'Squad design doc: {path}',
1045
- check_readiness: 'Squad readiness: {path}',
1046
- check_executors: 'Declared executors: {count} | missing files: {missing}',
1047
- check_output_dir: 'Squad output directory: {path}',
1048
- check_media_dir: 'Squad media directory: {path}',
1049
- check_runtime_missing: 'Runtime store missing. Run aioson runtime:init.',
1050
- check_active_runs: 'Active runs: {count} | possibly stuck (> {minutes} min): {stale}',
1051
- check_content_indexing: 'Indexed contents: {indexed} | pending output files: {pending}',
1052
- summary: 'Summary -> checks OK: {passed} | warnings: {warned} | failures: {failed}'
1053
- },
1054
- scan_project: {
1055
- scanning: 'aioson scan:project scanning {dir}',
1056
- folder_required:
1057
- 'Pass --folder=<path[,path2]> to generate full scans for specific folders. Example: --folder=src or --folder=app.',
1058
- folder_required_examples_title: '\x1b[33mQuick start:\x1b[0m',
1059
- folder_required_example_local:
1060
- ' Local maps only : aioson scan:project . --folder=src',
1061
- folder_required_example_multi:
1062
- ' Multiple folders: aioson scan:project . --folder=src,app',
1063
- folder_required_example_llm:
1064
- ' API automation : aioson scan:project . --folder=src --with-llm --provider=openai',
1065
- folder_required_example_cli:
1066
- ' No API in aioson: aioson scan:project . --folder=src -> then run @analyst in Codex/Claude/Gemini',
1067
- folder_required_example_prompt:
1068
- ' Ready prompt : aioson agent:prompt analyst --tool=codex',
1069
- folder_required_example_next:
1070
- ' Workflow after full scan: @analyst -> @architect -> @dev',
1071
- folder_not_found: 'Folder "{folder}" was not found in this project. Top-level directories detected: {available}',
1072
- config_missing: '{file} not found. To use LLM mode, copy aioson-models.json and fill in your API keys.',
1073
- config_invalid: 'Invalid JSON in aioson-models.json: {error}',
1074
- provider_missing: 'LLM provider "{provider}" not found in aioson-models.json. Available: {available}',
1075
- provider_info: ' Provider : {provider}',
1076
- model_info: ' Model : {model}',
1077
- context_found: ' Context : project.context.md found',
1078
- context_missing: ' Context : project.context.md not found (run aioson setup:context first)',
1079
- spec_found: ' Spec : spec.md found — development memory included',
1080
- existing_discovery_found: ' Context : existing discovery.md found at {path}',
1081
- existing_skeleton_found: ' Context : existing skeleton-system.md found at {path}',
1082
- context_update_mode: ' Mode : update/merge of existing discovery.md + skeleton-system.md enabled',
1083
- context_mode: ' Context : context-mode={mode} (recommended default for brownfield: merge)',
1084
- local_only: ' LLM : disabled by default local scan only (use --with-llm to generate discovery.md + skeleton-system.md)',
1085
- walking: ' Scanning project structure...',
1086
- walk_done: ' Files : {files} entries mapped | Key files: {keys} read',
1087
- index_written: ' Index : local scan index written to {path} (mode: {mode})',
1088
- folders_written: ' Folders : folder map written to {path}',
1089
- folder_written: ' Folder : full map for {folder} written to {path}',
1090
- forge_written: ' AIOS : useful .aioson map written to {path}',
1091
- memory_index_written: ' Memory : memory-index.md written to {path}',
1092
- spec_current_written: ' Memory : spec-current.md written to {path}',
1093
- spec_history_written: ' Memory : spec-history.md written to {path}',
1094
- module_memory_written: ' Module : focused memory for {folder} written to {path}',
1095
- dry_run_done: '[dry-run] Would scan {treeCount} entries and {keyCount} key files no LLM call made.',
1096
- local_done: ' Result : local scan completed index, folder map, requested folder scans and .aioson map are ready.',
1097
- local_missing: ' Missing : discovery.md + skeleton-system.md were not generated in this local-only scan.',
1098
- architecture_note: ' Note : architecture.md is not generated by scan:project; it comes later from @architect.',
1099
- local_paths_title: '\n\x1b[33m How to generate discovery now:\x1b[0m',
1100
- local_path_api: ' \x1b[32mPath A API automation\x1b[0m',
1101
- calling_llm: ' Calling {provider} ({model})...',
1102
- llm_missing_api_key:
1103
- 'The API key for provider "{provider}" is still missing in {file}. Fill providers.{provider}.api_key or choose another provider with --provider=...',
1104
- llm_error: 'LLM call failed: {error}',
1105
- gitignore_policy_written:
1106
- ' Gitignore: AIOSON policy updated in {path} to ignore framework-managed files',
1107
- gitignore_tracked_note:
1108
- ' Gitignore: if those files were already tracked by Git before, you still need one git rm --cached pass for them to stop appearing in status',
1109
- invalid_llm_output_discovery_empty:
1110
- 'The LLM returned an empty discovery.md. No existing files were overwritten. Keep the current backup and retry with a stronger model or fewer folders.',
1111
- invalid_llm_output_skeleton_empty:
1112
- 'The LLM returned an empty skeleton-system.md after the delimiter. No existing files were overwritten. Retry with a stronger model or a smaller scope.',
1113
- gitignore_backups_written: ' Gitignore: local backup rule ensured in {path}',
1114
- backups_written: ' Backup : saved {count} file(s) into {path}',
1115
- discovery_written: 'discovery.md written: {path} ({chars} chars)',
1116
- skeleton_written: 'skeleton-system.md written: {path} ({chars} chars)',
1117
- skeleton_missing: 'Skeleton delimiter not found in LLM response — skeleton-system.md not written.',
1118
- local_next_steps: ' 1. Run: aioson scan:project {target} --folder={folders} --with-llm --provider=<provider>',
1119
- local_path_cli: ' \x1b[36mPath B Your AI CLI (no API inside aioson)\x1b[0m',
1120
- local_cli_step_analyst: ' 2. In Codex, Claude Code, or another client, run @analyst — it can use scan-index.md + scan-folders.md + scan-<folder>.md to write discovery.md',
1121
- local_cli_step_prompt_codex: ' 3. If the client does not understand @analyst, generate a ready prompt: aioson agent:prompt analyst --tool=codex',
1122
- local_cli_step_prompt_claude: ' 4. Swap --tool=codex for --tool=claude or --tool=gemini when needed',
1123
- local_cli_step_model_hint: ' 5. If your client supports model selection, prefer a fast/cheap model for this discovery step',
1124
- local_workflow_title: '\n\x1b[33m After discovery:\x1b[0m',
1125
- local_step_architect: ' 3. Run @architect — generates architecture.md from the consolidated discovery',
1126
- local_step_dev: ' 4. Run @dev only start coding after discovery.md + architecture.md are ready',
1127
- next_steps: '\n Next steps:',
1128
- step_analyst: ' 1. Open your AI coding session and run @analyst — review discovery.md + skeleton-system.md and consolidate the current scope',
1129
- step_architect: ' 2. Run @architect generates architecture.md from the consolidated discovery',
1130
- step_dev: ' 3. Run @dev — reads skeleton-system.md first, then discovery.md + architecture.md + spec.md'
1131
- },
1132
- squad_investigate: {
1133
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1134
- no_investigations: 'No investigations found.',
1135
- not_found: 'Investigation not found: {slug}',
1136
- no_report: 'Investigation "{slug}" has no report file.',
1137
- report_missing: 'Report file not found: {path}',
1138
- show_usage: 'Usage: aioson squad:investigate [path] --sub=show --investigation=<slug>',
1139
- score_usage: 'Usage: aioson squad:investigate [path] --sub=score --investigation=<slug>',
1140
- link_usage: 'Usage: aioson squad:investigate [path] --sub=link --investigation=<slug> --squad=<slug>',
1141
- register_usage: 'Usage: aioson squad:investigate [path] --sub=register --report=<path> [--domain=<name>] [--squad=<slug>]',
1142
- linked: 'Investigation "{investigation}" linked to squad "{squad}".',
1143
- registered: 'Investigation registered: {slug} ({path})',
1144
- unknown_sub: 'Unknown subcommand: {sub}. Use: list, show, score, link, register.'
1145
- },
1146
-
1147
- squad_daemon: {
1148
- squad_required: 'Squad slug is required. Use --squad=<slug>.',
1149
- started: 'Daemon started for squad "{squad}" on port {port} ({workers} workers, {cron} cron jobs)',
1150
- webhook_hint: 'Webhook endpoint: POST http://127.0.0.1:{port}/webhook/<worker-slug>',
1151
- stop_hint: 'Press Ctrl+C to stop.',
1152
- stopping: 'Stopping daemon...',
1153
- start_failed: 'Failed to start daemon: {error}',
1154
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1155
- no_daemons: 'No daemon records found.',
1156
- not_found: 'No daemon record for squad: {squad}',
1157
- not_running: 'Daemon for squad "{squad}" is not running.',
1158
- signal_sent: 'SIGTERM sent to daemon for "{squad}" (pid {pid}).',
1159
- process_gone: 'Daemon process for "{squad}" is no longer running.',
1160
- no_logs: 'No daemon activity logs found.',
1161
- unknown_sub: 'Unknown subcommand: {sub}. Use: start, status, stop, logs.'
1162
- },
1163
-
1164
- squad_mcp: {
1165
- squad_required: 'Squad slug is required. Use --squad=<slug>.',
1166
- connectors_title: 'Built-in MCP Connectors:',
1167
- actions: 'Actions',
1168
- required_config: 'Required',
1169
- no_integrations: 'No integrations configured for squad "{squad}".',
1170
- missing_config: 'Missing config',
1171
- calls: 'Calls',
1172
- mcp_required: 'MCP slug is required. Use --mcp=<slug>.',
1173
- connector_required: 'Connector ID is required. Use --connector=<id>.',
1174
- unknown_connector: 'Unknown connector: {connector}. Use --sub=connectors to list available.',
1175
- configured: 'Integration "{mcp}" configured with connector "{connector}" (status: {status}).',
1176
- still_missing: 'Still missing env/config: {keys}',
1177
- not_configured: 'Integration "{mcp}" is not configured.',
1178
- test_missing: 'Integration "{mcp}" has missing config: {keys}',
1179
- test_ok: 'Integration "{mcp}" ({connector}) config OK.',
1180
- health_url: 'Health check URL: {url}',
1181
- testing_connection: 'Testing connection...',
1182
- health_ok: 'Connection OK (HTTP {statusCode})',
1183
- health_error: 'Connection error: {error}',
1184
- health_skipped: 'Health check not available for this connector',
1185
- action_required: 'Action slug is required. Use --action=<slug>.',
1186
- invalid_input: 'Invalid JSON. Provide valid JSON with --input.',
1187
- unknown_sub: 'Unknown subcommand: {sub}. Use: status, connectors, configure, test, call.'
1188
- },
1189
-
1190
- squad_roi: {
1191
- squad_required: 'Squad slug is required. Use --squad=<slug>.',
1192
- config_saved: 'ROI config saved for squad "{squad}".',
1193
- pricing_model: 'Pricing model',
1194
- setup_fee: 'Setup fee',
1195
- monthly_fee: 'Monthly fee',
1196
- percentage: 'Percentage',
1197
- contract: 'Contract',
1198
- metric_required: 'Metric key and value are required. Use --key=<name> --value=<N>.',
1199
- metric_saved: 'Metric "{key}" = {value} saved for squad "{squad}".',
1200
- no_metrics: 'No metrics found for squad "{squad}".',
1201
- report_title: 'ROI Report{squad}',
1202
- baseline: 'Baseline',
1203
- actual: 'Current',
1204
- target: 'Target',
1205
- period: 'Period',
1206
- cost_section: 'Cost Summary:',
1207
- monthly_cost: 'Monthly effective cost',
1208
- exported: 'Report exported to {file} ({format}).',
1209
- unknown_sub: 'Unknown subcommand: {sub}. Use: config, metric, report, export.'
1210
- },
1211
-
1212
- squad_worker: {
1213
- squad_required: 'Squad slug is required. Use --squad=<slug>.',
1214
- no_workers: 'No workers found for this squad.',
1215
- run_usage: 'Usage: aioson squad:worker --sub=run --squad=<slug> --worker=<slug> [--input=<json>]',
1216
- test_usage: 'Usage: aioson squad:worker --sub=test --squad=<slug> --worker=<slug>',
1217
- scaffold_usage: 'Usage: aioson squad:worker --sub=scaffold --squad=<slug> --worker=<slug> [--trigger=manual|event|scheduled]',
1218
- not_found: 'Worker not found: {worker}',
1219
- invalid_input: 'Invalid JSON input. Provide valid JSON with --input.',
1220
- run_success: 'Worker "{worker}" completed successfully.',
1221
- run_failed: 'Worker "{worker}" failed: {error}',
1222
- test_passed: 'Worker "{worker}" test passed.',
1223
- test_failed: 'Worker "{worker}" test failed: {error}',
1224
- scaffold_created: 'Worker "{worker}" scaffolded at {path}',
1225
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1226
- no_logs: 'No worker runs found.',
1227
- unknown_sub: 'Unknown subcommand: {sub}. Use: list, run, test, logs, scaffold.'
1228
- },
1229
-
1230
- squad_dashboard: {
1231
- started: 'Squad Dashboard running at {url} (port {port})',
1232
- filtered: 'Filtering to squad: {squad}',
1233
- stop_hint: 'Press Ctrl+C to stop.',
1234
- stopping: 'Stopping Squad Dashboard...',
1235
- port_in_use: 'Port {port} is already in use. Try --port=<another>'
1236
- },
1237
-
1238
- implementation_plan: {
1239
- not_found: 'Implementation plan not found: {file}',
1240
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1241
- no_plans: 'No implementation plans registered.',
1242
- no_created_date: 'Plan has no created date in frontmatter — cannot check staleness.',
1243
- is_stale: 'Plan is STALE source artifacts changed after plan was created.',
1244
- is_fresh: 'Plan is up to date.',
1245
- checkpoint_usage: 'Usage: aioson plan [path] --sub=checkpoint --feature=<slug> --phase=<N>',
1246
- phase_completed: 'Phase {phase} marked as completed.',
1247
- phase_not_found: 'Phase {phase} not found in plan.',
1248
- registered: 'Implementation plan registered: {planId} ({phases} phases)'
1249
- },
1250
-
1251
- squad_plan: {
1252
- slug_required: 'Squad slug is required.',
1253
- not_found: 'Execution plan not found for squad: {slug}',
1254
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1255
- no_plan: 'No execution plan registered for squad: {slug}',
1256
- no_created_date: 'Plan has no created date in frontmatter — cannot check staleness.',
1257
- is_stale: 'Execution plan is STALE squad artifacts changed after plan was created.',
1258
- is_fresh: 'Execution plan is up to date.',
1259
- checkpoint_usage: 'Usage: aioson squad:plan [path] --sub=checkpoint --squad=<slug> --round=<N>',
1260
- round_completed: 'Round {round} marked as completed.',
1261
- round_not_found: 'Round {round} not found in plan.',
1262
- registered: 'Execution plan registered: {planSlug} ({rounds} rounds)'
1263
- },
1264
-
1265
- squad_learning: {
1266
- slug_required: 'Squad slug is required.',
1267
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1268
- no_learnings: 'No learnings found for squad: {slug}',
1269
- not_found: 'Learning not found: {id}',
1270
- archived_count: '{count} learning(s) marked as stale for squad: {slug}',
1271
- promote_usage: 'Usage: aioson squad:learning [path] --sub=promote --squad=<slug> --id=<learning-id> [--to=<rule-path>]',
1272
- promoted: 'Learning {id} promoted to rule at {path}'
1273
- },
1274
-
1275
- learning: {
1276
- no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1277
- no_learnings: 'No project learnings found.',
1278
- not_found: 'Learning not found: {id}',
1279
- promote_usage: 'Usage: aioson learning [path] --sub=promote --id=<learning-id> [--to=<rule-path>]',
1280
- promoted: 'Learning {id} promoted to rule at {path}'
1281
- },
1282
-
1283
- auth: {
1284
- login_no_token: 'No token provided. Get yours at: {url}',
1285
- login_hint: 'Run: aioson auth:login',
1286
- login_hint_token: 'Or get a token manually at: {url}',
1287
- login_verifying: 'Verifying token...',
1288
- login_ok: ' Logged in as {username}. Token saved to {path}.',
1289
- login_saved: '✓ Token saved to {path}. (Could not verify — API may be offline.)',
1290
- logout_ok: 'Logged out. Token removed.',
1291
- status_not_authenticated: 'Not authenticated.',
1292
- status_checking: 'Checking token...',
1293
- status_ok: 'Authenticated as {username}.',
1294
- status_token_offline: 'Token saved (last known user: {username}). API offline or unreachable.',
1295
- // Browser flow
1296
- browser_opening: 'Opening browser...',
1297
- browser_waiting: 'Waiting for browser authentication... (Ctrl+C to cancel)',
1298
- browser_timeout: 'Timed out. Please try again.',
1299
- browser_state_mismatch: 'Security check failed: invalid state.',
1300
- browser_no_token: 'No token received from browser.',
1301
- browser_failed: 'Browser login failed: {error}',
1302
- browser_server_error: 'Failed to start local callback server',
1303
- // Paste flow (WSL2, SSH, headless)
1304
- paste_open_browser: 'Open the link below in your browser:',
1305
- paste_instruction: 'After logging in, the page will show a token. Copy it and paste it here.',
1306
- paste_token_prompt: 'Paste the token here:',
1307
- paste_no_token: 'No token provided.',
1308
- },
1309
-
1310
- workspace: {
1311
- registering: 'Registering workspace on aioson.com...',
1312
- init_ok: 'Workspace "{slug}" linked.\n Local: {path}\n Online: {url}',
1313
- already_linked: 'Workspace already linked: {slug}\n Online: {url}',
1314
- not_linked: 'No workspace linked to this project.',
1315
- init_hint: 'Run: aioson workspace:init',
1316
- status_slug: 'Workspace: {slug}',
1317
- status_id: 'ID: {id}',
1318
- status_url: 'URL: {url}',
1319
- status_created: 'Created: {date}',
1320
- open_url: 'Open in browser: {url}'
1321
- },
1322
-
1323
- store: {
1324
- error_not_authenticated: 'Not authenticated. Run: aioson auth:login',
1325
- error_missing_slug: 'Missing --slug.',
1326
- error_missing_code_or_slug: 'Provide a slug (--slug=X) or an install code.',
1327
- error_invalid_response: 'Invalid response from aioson.com.',
1328
- error_genome_not_found: 'Genome "{slug}" not found at {path}.',
1329
- error_skill_not_found: 'Skill "{slug}" not found in .aioson/skills/ or .aioson/installed-skills/.',
1330
- error_skill_missing_skillmd: 'Skill "{slug}" has no SKILL.md.',
1331
- error_squad_not_found: 'Squad "{slug}" not found at {path}.',
1332
-
1333
- publish_dry_run: '[dry-run] Would publish {type} "{slug}" (visibility: {visibility}).',
1334
- publish_genome_validating: 'Validating genome...',
1335
- publish_genome_sending: 'Sending to aioson.com...',
1336
- publish_genome_done: 'Published: aioson.com/store/genomes/{slug}\n Install: aioson genome:install --slug={slug}',
1337
- publish_skill_collecting: 'Collecting skill files...',
1338
- publish_skill_files: ' Files: {count}',
1339
- publish_skill_sending: 'Sending {count} file(s) to aioson.com...',
1340
- publish_skill_done: 'Published: aioson.com/store/skills/{slug}\n Install: aioson skill:install --slug={slug}',
1341
- publish_squad_analyzing_agents: 'Analyzing agents...',
1342
- publish_squad_agents_found: ' Agents: {count}',
1343
- publish_squad_analyzing_deps: 'Analyzing dependencies...',
1344
- publish_squad_bundling_skill: ' Bundling skill: {slug}',
1345
- publish_squad_skill_missing: ' Skill not found (skipped): {slug}',
1346
- publish_squad_bundling_genome: ' Bundling genome: {slug}',
1347
- publish_squad_genome_missing: ' Genome not found (skipped): {slug}',
1348
- publish_squad_sending: 'Sending to aioson.com...',
1349
- publish_squad_done: 'Published: aioson.com/store/squads/{slug}\n Install: aioson squad:install --slug={slug}',
1350
- publish_squad_summary: ' Agents: {agents} | Skills bundled: {skills} | Genomes bundled: {genomes}',
1351
-
1352
- install_genome_fetching: 'Fetching genome "{ref}" from aioson.com...',
1353
- install_genome_done: 'Genome "{slug}" installed at {path}.',
1354
- install_backing_up: ' Backup saved: {path}',
1355
- install_skill_fetching: 'Fetching skill "{ref}" from aioson.com...',
1356
- install_skill_done: 'Skill "{slug}" installed at {path}.',
1357
- install_squad_fetching: 'Fetching squad "{ref}" from aioson.com...',
1358
- install_squad_writing: 'Installing files...',
1359
- install_squad_dep_skip: ' {type} "{slug}" already installed — skipping (use --force to replace).',
1360
- install_squad_done: 'Squad "{slug}" installed at {path}.',
1361
-
1362
- list_genome_empty: 'No genomes installed in this project.',
1363
- list_genome_header: '{count} genome(s) installed:',
1364
- list_genome_item: ' {slug}{version}',
1365
- remove_genome_done: 'Genome "{slug}" removed.',
1366
- list_remote_fetching: 'Fetching {type} from aioson.com...',
1367
- list_remote_empty: 'No {type} published yet.',
1368
- list_remote_header: '{count} {type} published:',
1369
- list_remote_item: ' {slug} [{visibility}] {name}',
1370
- list_squad_empty: 'No squads in this project.',
1371
- list_squad_header: '{count} squad(s):',
1372
- list_squad_item: ' {slug} [{visibility}]',
1373
-
1374
- grant_error_missing_code: 'Missing install code. Usage: aioson squad:grant <code> <email>',
1375
- grant_error_missing_email: 'Missing email. Usage: aioson squad:grant <code> <email>',
1376
- grant_sending: 'Granting access to {email} for code {code}...',
1377
- grant_ok: '{email} can now install using code {code}.',
1378
-
1379
- // Security scan publish side
1380
- publish_scanning: 'Running security scan...',
1381
- publish_scan_ok: 'Security scan passed. Package hash: {hash}...',
1382
- error_scan_failed: 'Publish blocked: security scan found errors. Fix them or contact support.',
1383
- error_scan_warnings: 'Publish blocked: {count} suspicious pattern(s) detected. Review the warnings above. Use --force to override if you are sure the package is safe.',
1384
-
1385
- // Security scan install side
1386
- install_scanning: 'Scanning package integrity...',
1387
- error_install_scan_failed: 'Install blocked: package "{slug}" failed security scan. It may have been tampered with.',
1388
- error_hash_mismatch: 'Install blocked: hash mismatch for "{slug}". The package may have been altered in transit.',
1389
-
1390
- // Install preview
1391
- install_preview_header: 'Package: {slug} v{version} by {publisher}',
1392
- install_preview_trusted: ' Status: Trusted Publisher',
1393
- install_preview_unverified: ' Status: Unverified publisher — review files before use',
1394
- install_preview_downloads: ' Downloads: {count}',
1395
- install_preview_rating: ' Rating: {rating}',
1396
- install_preview_hash: ' Hash: {hash}...',
1397
- install_inspect_files: 'Files in this package ({count} total):',
1398
- install_inspect_hint: 'Run without --inspect to install.',
1399
- install_unverified_hint: ' Tip: Run with --inspect to review files before installing, or --force to suppress this warning.'
1400
- },
1401
-
1402
- system: {
1403
- error_no_manifest: 'system.json not found at {path}. Create a system.json in the root of your system project.',
1404
- error_invalid_manifest: 'Invalid system.json check that it is valid JSON.',
1405
- error_manifest_missing_slug: 'system.json must include the "slug" field.',
1406
- error_manifest_missing_version: 'system.json must include the "version" field.',
1407
- error_manifest_missing_name: 'system.json must include the "name" field.',
1408
- error_missing_package_json: 'package.json not found. A system must be a valid Node.js project.',
1409
-
1410
- package_reading_manifest: 'Reading system.json...',
1411
- package_manifest_ok: 'System: {name} ({slug} v{version})',
1412
- package_collecting_files: 'Collecting source files...',
1413
- package_files_found: ' {count} files ({kb} KB)',
1414
- package_dry_run: '[dry-run] Would package {slug} v{version} — no files written.',
1415
- package_saved: 'Package saved at: {path}',
1416
-
1417
- publish_reading_manifest: 'Reading system.json...',
1418
- publish_dry_run: '[dry-run] Would publish system "{slug}" v{version} (visibility: {visibility}).',
1419
- publish_sending: 'Sending to aioson.com...',
1420
- publish_done: 'Published: aioson.com/store/systems/{slug}\n Install in aioson-play using slug: {slug}',
1421
- publish_summary: ' Files: {files} ({kb} KB)',
1422
-
1423
- list_remote_empty: 'No systems published yet.',
1424
- list_remote_header: '{count} system(s) published:',
1425
- list_remote_item: ' {slug} v{version} [{visibility}] {name}',
1426
- list_local_empty: 'No systems cached in this project.',
1427
- list_local_header: '{count} system(s) cached:',
1428
- list_local_item: ' {slug}',
1429
-
1430
- install_fetching: 'Fetching system "{ref}" from aioson.com...',
1431
- install_writing: 'Writing files...',
1432
- install_done: 'System "{slug}" installed at {path}.'
1433
- }
1434
- };
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ cli: {
5
+ title: 'AIOSON CLI',
6
+ title_line: '{title}\n',
7
+ usage: 'Usage:',
8
+ help_item_line: ' {text}',
9
+ help_init:
10
+ 'aioson init <project-name> [--force] [--dry-run] [--all] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
11
+ help_install:
12
+ 'aioson install [path] [--force] [--dry-run] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
13
+ help_setup:
14
+ 'aioson setup [path] [--defaults] [--framework=<name>] [--lang=<bcp47-tag>] [--project-name=<name>] [--force] [--dry-run] [--tool=codex|claude|gemini|opencode] [--locale=en]',
15
+ help_update: 'aioson update [path] [--dry-run] [--lang=<bcp47-tag>] [--locale=en]',
16
+ help_info: 'aioson info [path] [--json] [--locale=en]',
17
+ help_doctor: 'aioson doctor [path] [--fix] [--dry-run] [--json] [--locale=en]',
18
+ help_i18n_add: 'aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
19
+ help_agents: 'aioson agents [path] [--lang=<bcp47-tag>] [--locale=en]',
20
+ help_agent_prompt:
21
+ 'aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=<bcp47-tag>] [--locale=en]',
22
+ help_agent_invoke:
23
+ 'aioson agent:invoke <agent> [path] [--tool=codex|claude|gemini|opencode] [--mode=framework_target|app_target] [--feature=<slug>] [--scope=<area>] [--lang=<bcp47-tag>] [--locale=en]',
24
+ help_context_validate: 'aioson context:validate [path] [--json] [--locale=en]',
25
+ help_context_pack:
26
+ 'aioson context:pack [path] [--agent=<agent>] [--goal=<text>] [--module=<module-or-folder>] [--max-files=8] [--json] [--locale=en]',
27
+ help_context_load:
28
+ 'aioson context:load [path] --target=<rule|brain>:<slug> --agent=<name> [--batch="slug1,slug2"] [--feature=<slug>] [--classification=<MICRO|SMALL|MEDIUM>] [--verbose] [--json] [--locale=en]',
29
+ context_load: {
30
+ target_required: 'context:load requires --target=<rule|brain>:<slug>.',
31
+ agent_required: 'context:load requires --agent=<name>.',
32
+ target_invalid: 'context:load invalid --target value: {target}. Expected rule:<slug> or brain:<slug>.',
33
+ success: 'context:load emitted {count} event(s) for agent {agent}.'
34
+ },
35
+ help_memory_status: 'aioson memory:status [path] [--json] [--locale=en]',
36
+ help_memory_summary: 'aioson memory:summary [path] [--last=5] [--json] [--locale=en]',
37
+ help_memory_search:
38
+ 'aioson memory:search "<query>" [path] [--limit=5] [--surface=rules|learnings|all] [--include-archived] [--json] [--locale=en]',
39
+ help_memory_archive:
40
+ 'aioson memory:archive [path] --id=<rule|learning|brain>:<slug> --reason="<text>" [--feature=<slug>] [--dry-run] [--json] [--locale=en]',
41
+ help_memory_restore:
42
+ 'aioson memory:restore [path] --id=<rule|learning|brain>:<slug> [--reason="<text>"] [--feature=<slug>] [--dry-run] [--json] [--locale=en]',
43
+ memory_archive: {
44
+ id_required: 'memory:archive requires --id=<rule|learning|brain>:<slug>.',
45
+ reason_required: 'memory:archive requires --reason="<text>".',
46
+ invalid_id: 'memory:archive invalid --id value: "{value}". Expected rule|learning|brain:<slug>.',
47
+ hook_blocked: 'memory:archive cannot be invoked from a runtime hook (BR-ALL-01: tier-2 requires human action).',
48
+ target_not_found: 'memory:archive: {kind} "{slug}" not found in active state.',
49
+ already_archived: 'memory:archive: "{path}" already archived. No-op.',
50
+ notify_template: 'archiving {kind} "{slug}": {reason}',
51
+ dry_run_summary: 'memory:archive [dry-run]: would move {source} → {dest} (active entry: {has_active}).',
52
+ archived_success: 'memory:archive {kind} "{slug}" archived to {dest}.'
53
+ },
54
+ memory_restore: {
55
+ id_required: 'memory:restore requires --id=<rule|learning|brain>:<slug>.',
56
+ invalid_id: 'memory:restore invalid --id value: "{value}". Expected rule|learning|brain:<slug>.',
57
+ hook_blocked: 'memory:restore cannot be invoked from a runtime hook (BR-ALL-01: tier-2 requires human action).',
58
+ target_not_archived: 'memory:restore: {kind} "{slug}" not found in archive.',
59
+ target_already_active: 'memory:restore: {kind} "{slug}" already active. No-op.',
60
+ target_not_found: 'memory:restore: {kind} "{slug}" not found.',
61
+ notify_template: 'restoring {kind} "{slug}": {reason}',
62
+ dry_run_summary: 'memory:restore [dry-run]: would move {source} → {dest}.',
63
+ restored_success: 'memory:restore ✓ {kind} "{slug}" restored to {dest}.'
64
+ },
65
+ memory_search: {
66
+ query_empty: 'memory:search requires a non-empty query string.',
67
+ query_too_long: 'memory:search query exceeds {max} characters.',
68
+ query_unparseable: 'memory:search query "{value}" reduces to empty after sanitization (only operator characters / quotes).',
69
+ invalid_surface: 'memory:search invalid --surface value: {value}. Expected rules, learnings, or all.',
70
+ no_results: 'No matches for "{query}".',
71
+ results_header: 'Top {count} hits for "{query}":',
72
+ snippet_truncated: 'Snippet truncated.'
73
+ },
74
+ help_brain_query:
75
+ 'aioson brain:query [path] [--tags=<csv>] [--agent=<agent>] [--min-quality=4] [--format=compact|json|ids] [--json] [--locale=en]',
76
+ help_setup_context:
77
+ 'aioson setup:context [path] [--defaults] [--project-type=web_app|api|site|script|dapp|desktop_app] [--framework=<name>] [--backend=<name>] [--frontend=<name>] [--database=<name>] [--auth=<name>] [--uiux=<name>] [--language=<bcp47-tag>] [--web3-enabled=true|false] [--locale=en]',
78
+ help_locale_apply: 'aioson locale:apply [path] [--lang=<bcp47-tag>] [--dry-run] [--locale=en]',
79
+ help_locale_diff: 'aioson locale:diff [agent] [--lang=<bcp47-tag>] [--json] [--locale=en]',
80
+ help_test_agents: 'aioson test:agents [--json] [--locale=en]',
81
+ help_test_smoke:
82
+ 'aioson test:smoke [workspace-path] [--lang=<bcp47-tag>] [--web3=ethereum|solana|cardano] [--profile=standard|mixed|parallel] [--keep] [--json] [--locale=en]',
83
+ help_test_package:
84
+ 'aioson test:package [source-path] [--keep] [--dry-run] [--json] [--locale=en]',
85
+ help_dossier_init:
86
+ 'aioson dossier:init [path] --slug=<feature-slug> [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=en]',
87
+ help_dossier_show:
88
+ 'aioson dossier:show [path] --slug=<feature-slug> [--json] [--locale=en]',
89
+ dossier_created: 'Dossier created at {path} (classification={classification}).',
90
+ dossier_already_exists: 'Dossier already exists at {path}. Aborting (atomic init, no --force).',
91
+ dossier_not_found: 'Dossier not found for slug "{slug}" (expected at {path}).',
92
+ help_workflow_plan:
93
+ 'aioson workflow:plan [path] [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=en]',
94
+ help_workflow_next:
95
+ 'aioson workflow:next [path] [--complete[=<agent>]] [--agent=<agent>] [--skip=<agent>] [--status] [--suggest] [--tool=codex|claude|gemini|opencode] [--json] [--locale=en]',
96
+ help_workflow_status:
97
+ 'aioson workflow:status [path] [--suggest] [--tool=codex|claude|gemini|opencode] [--json] [--locale=en]',
98
+ help_workflow_execute:
99
+ 'aioson workflow:execute [path] [--steps=<n>] [--dry-run] [--lane=<n>] [--json] [--locale=en]',
100
+ help_parallel_init:
101
+ 'aioson parallel:init [path] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
102
+ help_parallel_doctor:
103
+ 'aioson parallel:doctor [path] [--workers=2..6] [--fix] [--force] [--dry-run] [--json] [--locale=en]',
104
+ help_parallel_assign:
105
+ 'aioson parallel:assign [path] [--source=auto|prd|architecture|discovery|<file>] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
106
+ help_parallel_status:
107
+ 'aioson parallel:status [path] [--json] [--locale=en]',
108
+ help_parallel_merge:
109
+ 'aioson parallel:merge [path] [--apply] [--json] [--locale=en]',
110
+ help_parallel_guard:
111
+ 'aioson parallel:guard [path] --lane=<n> --paths=<path[,path2]> [--json] [--locale=en]',
112
+ help_mcp_init:
113
+ 'aioson mcp:init [path] [--tool=claude|codex|gemini|opencode] [--dry-run] [--json] [--locale=en]',
114
+ help_mcp_doctor:
115
+ 'aioson mcp:doctor [path] [--strict-env] [--json] [--locale=en]',
116
+ help_qa_doctor:
117
+ 'aioson qa:doctor [path] [--json] [--locale=en]',
118
+ help_qa_init:
119
+ 'aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json] [--locale=en]',
120
+ help_qa_run:
121
+ 'aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json] [--locale=en]',
122
+ help_qa_scan:
123
+ 'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=en]',
124
+ help_qa_report:
125
+ 'aioson qa:report [path] [--html] [--json] [--locale=en]',
126
+ help_harness_init:
127
+ 'aioson harness:init [path] --slug=<slug> [--mode=BALANCED|URGENT|ECONOMICAL] [--locale=en]',
128
+ help_harness_validate:
129
+ 'aioson harness:validate [path] --slug=<slug> [--artifact=<path>] [--locale=en]',
130
+ help_web_map:
131
+ 'aioson web:map [path] --url=<url> [--depth=<N>] [--max-pages=<N>] [--include-external] [--json] [--locale=en]',
132
+ help_web_scrape:
133
+ 'aioson web:scrape [path] --url=<url> [--format=markdown|text|html|links] [--json] [--locale=en]',
134
+ help_scan_project:
135
+ 'aioson scan:project [path] --folder=<path[,path2]> [--summary-mode=titles|summaries|raw] [--context-mode=merge|rewrite] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=en]',
136
+ help_config:
137
+ 'aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
138
+ help_genome_doctor:
139
+ 'aioson genome:doctor <file> [--json] [--locale=en]',
140
+ help_genome_migrate:
141
+ 'aioson genome:migrate <file-or-dir> [--write] [--no-backup] [--json] [--locale=en]',
142
+ help_squad_status:
143
+ 'aioson squad:status [path] [--json] [--locale=en]',
144
+ help_squad_doctor:
145
+ 'aioson squad:doctor [path] [--squad=<slug>] [--stale-minutes=5] [--json] [--locale=en]',
146
+ help_squad_repair_genomes:
147
+ 'aioson squad:repair-genomes <manifest.json> [--write] [--no-backup] [--json] [--locale=en]',
148
+ help_squad_validate:
149
+ 'aioson squad:validate [path] --squad=<slug> [--locale=en]',
150
+ help_squad_export:
151
+ 'aioson squad:export [path] --squad=<slug> [--locale=en]',
152
+ help_squad_pipeline:
153
+ 'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=en]',
154
+ help_squad_agent_create:
155
+ 'aioson squad:agent-create [path] --name=<name> [--scope=my-agents|squad] [--squad=<slug>] [--type=agent|assistant|clone|worker] [--tier=0|1|2|3] [--disc=<profile>] [--mission=<text>] [--domain=<text>] [--specialist=<name>] [--with-infra] [--locale=en]',
156
+ help_squad_investigate:
157
+ 'aioson squad:investigate [path] [--sub=list|show|score|link|register] [--investigation=<slug>] [--squad=<slug>] [--locale=en]',
158
+ help_plan:
159
+ 'aioson plan [path] [--sub=show|status|checkpoint|stale|register] [--feature=<slug>] [--phase=<N>] [--locale=en]',
160
+ help_squad_plan:
161
+ 'aioson squad:plan [path] [--sub=show|status|checkpoint|stale|register] [--squad=<slug>] [--round=<N>] [--locale=en]',
162
+ help_squad_learning:
163
+ 'aioson squad:learning [path] [--sub=list|stats|archive|promote|export] [--squad=<slug>] [--status=<status>] [--locale=en]',
164
+ help_squad_dashboard:
165
+ 'aioson squad:dashboard [path] [--port=4180] [--squad=<slug>] [--locale=en]',
166
+ help_squad_worker:
167
+ 'aioson squad:worker [path] [--sub=list|run|test|logs|scaffold] [--squad=<slug>] [--worker=<slug>] [--input=<json>] [--locale=en]',
168
+ help_squad_daemon:
169
+ 'aioson squad:daemon [path] [--sub=start|status|stop|logs] [--squad=<slug>] [--port=<N>] [--locale=en]',
170
+ help_squad_mcp:
171
+ 'aioson squad:mcp [path] [--sub=status|connectors|configure|test] [--squad=<slug>] [--mcp=<slug>] [--connector=<id>]',
172
+ help_squad_roi:
173
+ 'aioson squad:roi [path] [--sub=config|metric|report|export] [--squad=<slug>] [--key=<metric>] [--value=<N>]',
174
+ help_squad_score:
175
+ 'aioson squad:score [path] --squad=<slug> [--locale=en]',
176
+ help_commit_prepare:
177
+ 'aioson commit:prepare [path] [--staged-only] [--agent-safe] [--mode=guarded|trusted|headless] [--json] [--locale=en]',
178
+ help_learning:
179
+ 'aioson learning [path] [--sub=list|stats|promote] [--status=<status>] [--id=<learning-id>] [--locale=en]',
180
+ help_runtime_init:
181
+ 'aioson runtime:init [path] [--json] [--locale=en]',
182
+ help_runtime_ingest:
183
+ 'aioson runtime:ingest [path] [--squad=<slug>] [--agent=<name>] [--session=<key>] [--task=<key>] [--json] [--locale=en]',
184
+ help_runtime_task_start:
185
+ 'aioson runtime:task:start [path] --title=<text> [--squad=<slug>] [--session=<key>] [--goal=<text>] [--by=<agent>] [--task=<key>] [--json] [--locale=en]',
186
+ help_runtime_start:
187
+ 'aioson runtime:start [path] --agent=<name> [--squad=<slug>] [--session=<key>] [--title=<text>] [--run=<key>] [--json] [--locale=en]',
188
+ help_runtime_update:
189
+ 'aioson runtime:update [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
190
+ help_runtime_task_finish:
191
+ 'aioson runtime:task:finish [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
192
+ help_runtime_finish:
193
+ 'aioson runtime:finish [path] --run=<key> [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
194
+ help_runtime_task_fail:
195
+ 'aioson runtime:task:fail [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
196
+ help_runtime_fail:
197
+ 'aioson runtime:fail [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
198
+ help_runtime_status:
199
+ 'aioson runtime:status [path] [--json] [--locale=en]',
200
+ help_runtime_log:
201
+ 'aioson runtime:log [path] --agent=<name> --message=<text> [--type=<event>] [--finish] [--status=completed|failed] [--summary=<text>] [--title=<task-title>] [--json] [--locale=en]',
202
+ help_runtime_session_start:
203
+ 'aioson runtime:session:start [path] --agent=<name> [--title=<text>] [--message=<text>] [--session=<key>] [--json] [--locale=en]',
204
+ help_runtime_session_log:
205
+ 'aioson runtime:session:log [path] --agent=<name> --message=<text> [--type=<event>] [--title=<text>] [--json] [--locale=en]',
206
+ help_runtime_session_finish:
207
+ 'aioson runtime:session:finish [path] --agent=<name> [--message=<text>] [--summary=<text>] [--status=completed|failed] [--json] [--locale=en]',
208
+ help_runtime_session_status:
209
+ 'aioson runtime:session:status [path] --agent=<name> [--limit=8] [--watch=2] [--json] [--locale=en]',
210
+ help_runtime_emit:
211
+ 'aioson runtime:emit [path] --agent=<name> [--type=<event>] [--summary=<text>] [--title=<text>] [--refs=<file[,file2]>] [--plan-step=<id>] [--meta=<json>] [--json] [--locale=en]',
212
+ help_live_start:
213
+ 'aioson live:start [path] --tool=codex|claude|gemini|opencode --agent=<name> [--tool-bin=<binary>] [--tool-args=<args>] [--title=<text>] [--goal=<text>] [--plan=<file>] [--session=<key>] [--message=<text>] [--attach] [--no-launch] [--tmux] [--json] [--locale=en]',
214
+ help_live_status:
215
+ 'aioson live:status [path] [--agent=<name>] [--limit=8] [--watch=2] [--format=compact|tmux-bar] [--json] [--locale=en]',
216
+ help_live_handoff:
217
+ 'aioson live:handoff [path] --agent=<name> --to=<name> [--reason=<text>] [--summary=<text>] [--message=<text>] [--json] [--locale=en]',
218
+ help_live_close:
219
+ 'aioson live:close [path] [--agent=<name>] [--summary=<text>] [--message=<text>] [--status=completed|failed] [--json] [--locale=en]',
220
+ help_live_list:
221
+ 'aioson live:list [path] [--json] [--locale=en]',
222
+ help_scaffold_complete:
223
+ 'aioson scaffold:complete [path] --slug=<slug> [--manifest=<path>] [--scaffold-path=<path>] [--session=<key>] [--agent=<name>] [--json] [--locale=en]',
224
+ help_runtime_backup:
225
+ 'aioson runtime:backup [path] [--tables=tasks,runs,...] [--force] [--dry-run] [--json] [--locale=en]',
226
+ help_runtime_restore:
227
+ 'aioson runtime:restore [path] [--tables=tasks,runs,...] [--dry-run] [--json] [--locale=en]',
228
+ help_skill_install:
229
+ 'aioson skill:install [path] --slug=<name> [--from=npm|cloud|./path] [--force] [--json] [--locale=en]',
230
+ help_skill_list:
231
+ 'aioson skill:list [path] [--json] [--locale=en]',
232
+ help_skill_remove:
233
+ 'aioson skill:remove [path] --slug=<name> [--json] [--locale=en]',
234
+ help_design_hybrid_options:
235
+ 'aioson design-hybrid:options [path] [--advanced] [--json] [--locale=en]',
236
+ help_cloud_import_squad:
237
+ 'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
238
+ help_cloud_import_genome:
239
+ 'aioson cloud:import:genome [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
240
+ help_cloud_publish_squad:
241
+ 'aioson cloud:publish:squad [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--compatibility-min=<version>] [--compatibility-max=<version>] [--linked-genome-version=<version>] [--dry-run] [--json] [--locale=en]',
242
+ help_cloud_publish_genome:
243
+ 'aioson cloud:publish:genome [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--source-kind=LOCAL|AIOSLITE|IMPORTED|REMOTE_PROVIDER] [--dry-run] [--json] [--locale=en]',
244
+ help_auth_login:
245
+ 'aioson auth:login --token=<token> [--locale=en]',
246
+ help_auth_logout:
247
+ 'aioson auth:logout [--locale=en]',
248
+ help_auth_status:
249
+ 'aioson auth:status [--locale=en]',
250
+ help_workspace_init:
251
+ 'aioson workspace:init [path] [--name=<slug>] [--force] [--locale=en]',
252
+ help_workspace_status:
253
+ 'aioson workspace:status [path] [--locale=en]',
254
+ help_workspace_open:
255
+ 'aioson workspace:open [path] [--locale=en]',
256
+ help_genome_publish:
257
+ 'aioson genome:publish [path] --slug=<slug> [--private] [--paid] [--dry-run] [--locale=en]',
258
+ help_genome_install:
259
+ 'aioson genome:install <slug-or-code> [path] [--force] [--locale=en]',
260
+ help_genome_list:
261
+ 'aioson genome:list [path] [--locale=en]',
262
+ help_genome_remove:
263
+ 'aioson genome:remove --slug=<slug> [path] [--force] [--locale=en]',
264
+ help_genome_install_store:
265
+ 'aioson genome:install:store [path] <code-or-slug> [--slug=<slug>] [--force] [--locale=en]',
266
+ help_skill_publish:
267
+ 'aioson skill:publish [path] --slug=<slug> [--private] [--paid] [--dry-run] [--locale=en]',
268
+ help_squad_list:
269
+ 'aioson squad:list [path] [--remote] [--locale=en]',
270
+ help_squad_publish:
271
+ 'aioson squad:publish [path] --slug=<slug> [--bundle-skills=a,b] [--bundle-genomes=a,b] [--version=<semver>] [--private] [--paid] [--dry-run] [--locale=en]',
272
+ help_squad_install:
273
+ 'aioson squad:install [path] <code-or-slug> [--email=<email>] [--force] [--locale=en]',
274
+ help_squad_grant:
275
+ 'aioson squad:grant <code> <email> [--locale=en]',
276
+ dashboard_moved:
277
+ 'The `{command}` CLI flow was removed. The AIOSON dashboard is now installed separately. Open the dashboard app on your computer, create or add a project, and select the folder that already contains `.aioson/`.',
278
+ dashboard_moved_line: '{message}\n',
279
+ unknown_command: 'Unknown command: {command}',
280
+ unknown_command_line: '{message}\n',
281
+ error_prefix: 'Error: {message}'
282
+ },
283
+ cloud: {
284
+ project_missing: 'Project directory not found: {path}',
285
+ url_required: 'Provide --url with the squad snapshot JSON endpoint.',
286
+ import_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud import.',
287
+ import_squad_done: 'Imported squad snapshot {slug}@{version}.',
288
+ import_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud import.',
289
+ import_genome_done: 'Imported genome snapshot {slug}@{version}.',
290
+ publish_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud publish.',
291
+ publish_squad_done: 'Published squad {slug}@{version} to the cloud.',
292
+ publish_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud publish.',
293
+ publish_genome_done: 'Published genome {slug}@{version} to the cloud.'
294
+ },
295
+ init: {
296
+ usage_error:
297
+ 'Usage: aioson init <project-name> [--force] [--dry-run] [--lang=<bcp47-tag>] [--tool=codex|claude|gemini|opencode] [--locale=en]',
298
+ non_empty_dir: 'Directory is not empty: {targetDir}. Use --force to continue.',
299
+ created_at: 'Project created at: {targetDir}',
300
+ files_copied: 'Files copied: {count}',
301
+ files_skipped: 'Files skipped: {count}',
302
+ next_steps: 'Next steps:',
303
+ step_cd: '1. cd {projectName}',
304
+ step_setup: '2. Open in your AI CLI and run @setup',
305
+ step_agents: '3. If no visual picker appears, run: aioson agents',
306
+ step_agent_prompt: '4. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}'
307
+ },
308
+ init_all: {
309
+ installing_full: 'Installing complete (all tools + squads) — wizard skipped via --all'
310
+ },
311
+ install: {
312
+ framework_detected: 'Framework detected: {framework} ({evidence})',
313
+ framework_not_detected: 'No framework detected. Installing in generic mode.',
314
+ done_at: 'Installation completed at: {targetDir}',
315
+ files_copied: 'Files copied: {count}',
316
+ files_skipped: 'Files skipped: {count}',
317
+ dry_run_header: '⚠ DRY RUN no files were written. Showing what install would do:',
318
+ dry_run_done_at: 'DRY RUN: nothing was written to {targetDir}',
319
+ dry_run_files_copied: 'Files that would be copied: {count}',
320
+ dry_run_files_skipped: 'Files that would be skipped: {count}',
321
+ next_steps: 'Next steps:',
322
+ step_setup_context: '1. Generate/refresh project context: aioson setup:context --defaults',
323
+ step_agents: '2. If no visual picker appears, run: aioson agents',
324
+ step_agent_prompt: '3. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}',
325
+ existing_project_detected: ' Existing project detected ({count} files). Run the scanner before starting:',
326
+ existing_project_scan_hint:
327
+ ' aioson scan:project . --folder=src --with-llm --provider=<provider> (generates discovery.md + skeleton-system.md; omit --with-llm for local maps only)',
328
+ using_saved_profile: 'Using saved install profile from .aioson/install.json.',
329
+ fallback_no_saved_profile: '⚠ No saved profile and no interactive wizard available — fallback to install-all (every template file will be copied).',
330
+ reconfigure_needs_tty: '--reconfigure requires an interactive terminal (blocked by: {reason}). Re-run in a real TTY without --no-interactive/--dry-run.',
331
+ opening_wizard: ' Opening install wizard (↑/↓ navigate, space toggle, enter confirm, q/Ctrl+C cancel)...',
332
+ wizard_cancelled_using_saved: '⚠ Wizard cancelled falling back to saved install profile.',
333
+ wizard_cancelled_install_all: '⚠ Wizard cancelled and no saved profile — falling back to install-all.'
334
+ },
335
+ install_wizard: {
336
+ ready_to_install: 'Ready to install:',
337
+ press_enter_to_install: 'Press enter to install or q to cancel.',
338
+ deselected_warning: '⚠ Deselected items will NOT be removed automatically.',
339
+ deselected_hint: ' Remove them manually if needed.'
340
+ },
341
+ update: {
342
+ not_installed: 'No AIOSON installation found in {targetDir}.',
343
+ done_at: 'Update completed at: {targetDir}',
344
+ files_updated: 'Files updated: {count}',
345
+ backups_created: 'Backups created: {count}',
346
+ profile_renamed: 'i Profile `beginner` renamed to `creator` in project.context.md to better describe the user. Behavior unchanged. Edit the file to switch to `developer` if desired.',
347
+ reconfigure_hint: 'New options may be available. Run: aioson install --reconfigure'
348
+ },
349
+ info: {
350
+ cli_version: 'AIOSON CLI: v{version}',
351
+ directory: 'Directory: {targetDir}',
352
+ installed_here: 'Installed in this directory: {value}',
353
+ framework_detected: 'Framework detected: {framework}',
354
+ evidence: 'Evidence: {evidence}',
355
+ yes: 'yes',
356
+ no: 'no',
357
+ none: 'none'
358
+ },
359
+ doctor: {
360
+ ok: 'OK',
361
+ fail: 'FAIL',
362
+ diagnosis_ok: 'Diagnosis: healthy installation.',
363
+ diagnosis_fail: 'Diagnosis: {count} issue(s) found.',
364
+ hint_prefix: '-> {hint}',
365
+ check_line: '[{icon}] {message}',
366
+ hint_line: ' Hint: {hint}',
367
+ fix_action_line: '- Action: {action}',
368
+ detail_line: ' Detail: {text}',
369
+ required_file: 'Required file: {rel}',
370
+ context_generated: 'Main context generated',
371
+ context_hint: 'Run @setup to generate .aioson/context/project.context.md',
372
+ context_frontmatter_valid: 'Project context frontmatter is valid',
373
+ context_frontmatter_valid_hint: 'Ensure project.context.md starts with YAML frontmatter delimited by ---',
374
+ context_frontmatter_invalid: 'Project context frontmatter is invalid ({reason})',
375
+ context_frontmatter_invalid_hint: 'Rewrite project.context.md using the @setup output format.',
376
+ context_required_field: 'Missing required context field: {field}',
377
+ context_required_field_hint: 'Re-run @setup and confirm all required fields are present.',
378
+ context_framework_installed_type: '`framework_installed` must be boolean (true/false)',
379
+ context_framework_installed_type_hint: 'Set framework_installed as true or false without quotes.',
380
+ context_classification_value: '`classification` must be one of {expected}',
381
+ context_classification_value_hint: 'Use MICRO, SMALL, or MEDIUM exactly.',
382
+ context_project_type_value: '`project_type` must be one of {expected}',
383
+ context_project_type_value_hint: 'Use web_app, api, site, script, dapp, or desktop_app exactly.',
384
+ context_profile_value: '`profile` must be one of {expected}',
385
+ context_profile_value_hint: 'Use developer, creator, or team exactly.',
386
+ context_interaction_language_format: '`interaction_language` is not a valid BCP-47 tag',
387
+ context_interaction_language_format_hint: 'Use values like en, en-US, pt-BR.',
388
+ context_conversation_language_format: '`conversation_language` is not a valid BCP-47 tag',
389
+ context_conversation_language_format_hint: 'Use values like en, en-US, pt-BR.',
390
+ node_version: 'Node.js >= 18 (current: {version})',
391
+ gateway_claude_pointer: 'CLAUDE gateway references shared AIOSON files',
392
+ gateway_claude_pointer_hint:
393
+ 'Ensure CLAUDE.md references .aioson/config.md and .aioson/agents/setup.md.',
394
+ gateway_codex_pointer: 'Codex gateway references shared AIOSON files',
395
+ gateway_codex_pointer_hint:
396
+ 'Ensure AGENTS.md references .aioson/config.md and .aioson/agents/.',
397
+ gateway_gemini_pointer: 'Gemini gateway references shared command and agent paths',
398
+ gateway_gemini_pointer_hint:
399
+ 'Ensure .gemini/GEMINI.md references .gemini/commands/ and .aioson/agents/.',
400
+ gateway_gemini_command_pointer: 'Gemini command file maps to shared agent: {file}',
401
+ gateway_gemini_command_pointer_hint:
402
+ 'Ensure {file} includes @{ .aioson/agents/{agent}.md } in the prompt field.',
403
+ gateway_opencode_pointer: 'OpenCode gateway references shared AIOSON files',
404
+ gateway_opencode_pointer_hint:
405
+ 'Ensure OPENCODE.md references .aioson/config.md and .aioson/agents/.',
406
+ fix_start: 'Safe fix mode enabled.',
407
+ fix_start_dry_run: 'Safe fix mode enabled (dry-run).',
408
+ fix_action_required_files: 'Restore missing managed files from template',
409
+ fix_action_gateway_contracts: 'Restore broken gateway contract files from template',
410
+ fix_action_locale_sync: 'Synchronize active agent prompts with context language',
411
+ fix_action_claude_commands: 'Restore missing .claude/commands/aioson/agent/* slash files from template',
412
+ fix_action_features_dir: 'Create .aioson/context/features/ directory',
413
+ fix_action_permissions_in_sync: 'Regenerate native harness permission files from autonomy-protocol.json',
414
+ fix_action_bootstrap_coverage: 'Run /discover to seed missing bootstrap files (semantic — not auto-applied)',
415
+ fix_action_version_drift: 'Update the CLI (npm i -g @jaimevalasek/aioson) or fix project.context.md aioson_version (manual)',
416
+ fix_not_applicable: 'Not applicable for current state.',
417
+ fix_target_count: 'Targets identified: {count}',
418
+ fix_applied_count: 'Changes applied: {count}',
419
+ fix_planned_count: 'Changes planned: {count}',
420
+ fix_locale: 'Resolved locale: {locale}',
421
+ fix_summary: 'Safe fix changes applied: {count}',
422
+ fix_summary_dry_run: '[dry-run] Safe fix changes planned: {count}',
423
+ bootstrap_coverage: 'Bootstrap coverage: {present}/{required}',
424
+ bootstrap_coverage_hint: 'Run /discover to refresh the bootstrap files (or `aioson memory:refresh` if implemented).',
425
+ bootstrap_coverage_hint_seed: 'Run /discover to seed .aioson/context/bootstrap/{what-is,how-it-works,what-it-does,current-state}.md',
426
+ features_dir_present: 'Features directory present (.aioson/context/features/)',
427
+ features_dir_present_hint: 'Create .aioson/context/features/ to host per-feature dossiers (doctor --fix will create it).',
428
+ claude_commands_present: 'Claude slash commands present ({missing} missing of {required})',
429
+ claude_commands_present_hint: 'Missing: {paths}. Run `aioson doctor . --fix` to restore them from the template.',
430
+ version_drift: 'CLI version matches project.context.md (context: {context}, CLI: {cli})',
431
+ version_drift_hint: 'project.context.md aioson_version ({context}) differs from CLI ({cli}). Update one or both manually.',
432
+ permissions_in_sync: 'Native harness permissions are in sync with autonomy-protocol.json ({drifted} drifted, {missing} missing)',
433
+ permissions_in_sync_hint: 'Run `aioson doctor . --fix` to regenerate: {paths}.',
434
+ permissions_protocol_missing_hint: 'autonomy-protocol.json is missing — run `aioson update .` to reinstall the template config.',
435
+ scouts_directory_pruning: 'Sub-task scouts directory pruning ({stale} unattached scouts > {days} days)',
436
+ scouts_directory_pruning_hint: 'Run `aioson doctor . --fix` to delete stale unattached scouts (attached scouts with feature_slug are NEVER pruned).',
437
+ fix_action_scouts_directory_pruning: 'Delete unattached scouts older than prune_unattached_after_days from .aioson/runtime/scouts/',
438
+ learning_loop: {
439
+ distillation_complete: 'distillation: {promoted} promoted, {review} for review, {merge} merge candidates ({duration}ms)',
440
+ distillation_failed_silent: 'distillation failed silently for feature "{slug}" — phase: {phase}',
441
+ skipped_micro: 'distillation skipped: feature classification MICRO',
442
+ skipped_no_distill: 'distillation skipped: --no-distill flag set',
443
+ lock_held: 'distillation skipped: another instance is in progress for "{slug}"',
444
+ notify_template: 'distillation: {promoted} promoted, {review} for review, {merge} merge candidates'
445
+ },
446
+ living_memory: {
447
+ rule_staleness: 'Rule staleness: {stale} of {total} rules unloaded over last {threshold} closed features',
448
+ rule_staleness_hint: 'Stale rules (first 5): {slugs}. Propose: {propose}',
449
+ rule_staleness_skipped_micro: 'Rule staleness check skipped: project classification is MICRO (BR-ALL-11)',
450
+ learning_orphans: 'Learning orphans: {orphans} learnings promoted to rules that were never loaded after promotion',
451
+ learning_orphans_hint: 'Orphan learning_ids (first 5): {ids}. Use `aioson memory:why --id=<id>` to inspect.',
452
+ learning_orphans_skipped_micro: 'Learning orphan check skipped: project classification is MICRO (BR-ALL-11)',
453
+ distillation_lag: 'Distillation lag: {closed} closed features but only {distillations} have an auto_distillation event (threshold {threshold})',
454
+ distillation_lag_hint: 'Features missing distillation (first 5): {missing_slugs}. Check Phase 5 hook health.',
455
+ distillation_lag_skipped_micro: 'Distillation lag check skipped: project classification is MICRO (BR-ALL-11)'
456
+ },
457
+ jargon_leak_detection: {
458
+ ok: 'No jargon leaks in user-facing agent events ({events} events scanned, profile={profile})',
459
+ fail: 'Jargon leaks: {count} occurrences across {events} events from MVP agents (profile={profile})',
460
+ hint: 'Affected events (first 5): {samples}. Translate the term via jargon-map.{en,pt-BR}.yaml or update the dictionary if the term is intentional.',
461
+ skipped_dev: 'Jargon leak check skipped: project profile is `{profile}` (jargon permitted in this mode)'
462
+ }
463
+ },
464
+ i18n_add: {
465
+ usage_error: 'Usage: aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
466
+ invalid_locale: 'Invalid locale code: {locale}. Expected formats like en, fr, pt-br.',
467
+ base_locale: 'Locale "en" is the base dictionary and cannot be scaffolded.',
468
+ locale_exists: 'Locale file already exists: {path}. Use --force to overwrite.',
469
+ dry_run_created: '[dry-run] Locale scaffold would be created: {locale}',
470
+ dry_run_overwritten: '[dry-run] Locale scaffold would be overwritten: {locale}',
471
+ created: 'Locale scaffold created: {locale}',
472
+ overwritten: 'Locale scaffold overwritten: {locale}',
473
+ file_path: 'Locale file: {path}',
474
+ next_steps: 'Next steps:',
475
+ step_translate: '1. Replace English strings with translated text in that file.',
476
+ step_try: '2. Run the CLI with --locale={locale} to validate the new dictionary.'
477
+ },
478
+ agents: {
479
+ list_title: 'Available agents (resolved locale: {locale}):',
480
+ path: 'Path',
481
+ active_path: 'Active path',
482
+ depends: 'Depends on',
483
+ output: 'Output',
484
+ agent_line: '- Agent: {label} - {command} ({id})',
485
+ path_line: ' Path: {path}',
486
+ active_path_line: ' Active path: {path}',
487
+ depends_line: ' Depends on: {value}',
488
+ output_line: ' Output: {value}',
489
+ none: 'none',
490
+ prompt_usage_error:
491
+ 'Usage: aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=en]',
492
+ prompt_unknown_agent: 'Unknown agent: {agent}',
493
+ prompt_invalid_target_mode:
494
+ 'Invalid pentester target mode: {mode}. Expected framework_target or app_target.',
495
+ prompt_missing_feature_for_app_target:
496
+ 'Pentester app_target requires --feature=<slug> (or --slug=<slug>).',
497
+ prompt_missing_scope_for_app_target:
498
+ 'Pentester app_target requires --scope=<area>.',
499
+ prompt_title: 'Prompt for agent "{agent}" on tool "{tool}" (locale: {locale}):'
500
+ },
501
+ context_validate: {
502
+ missing_file: 'Context file not found: {path}',
503
+ hint_setup: 'Run @setup to generate the file first.',
504
+ invalid_frontmatter: 'Context file has invalid YAML frontmatter.',
505
+ file_path: 'Context file: {path}',
506
+ parse_reason_unknown: 'unknown',
507
+ parse_reason_missing_frontmatter: 'missing opening frontmatter delimiter',
508
+ parse_reason_unclosed_frontmatter: 'unclosed frontmatter block',
509
+ parse_reason_invalid_frontmatter_line: 'invalid frontmatter line syntax',
510
+ parse_reason: 'Parse reason: {reason}',
511
+ hint_fix_frontmatter: 'Use @setup to regenerate a valid context file.',
512
+ invalid_fields: 'Context file is parsed but has validation issues:',
513
+ issue_line: '- {issue}',
514
+ valid: 'Context file is valid.'
515
+ },
516
+ context_pack: {
517
+ generated: 'Context pack written to: {path}',
518
+ no_matches: 'No relevant context files were selected yet. Run setup/context/scan before packing.',
519
+ selected_title: 'Files included in the pack:',
520
+ selected_line: ' {index}. {path} {reason}',
521
+ hint_use: 'Use {path} as the minimum starting context in your AI session.'
522
+ },
523
+ setup: {
524
+ installing: 'Installing AIOSON template...',
525
+ installed: 'Template installed ({count} files).',
526
+ no_framework_detected: 'No framework detected in this directory (greenfield project).',
527
+ framework_detected: 'Detected framework: {framework} (installed={installed})',
528
+ writing_context: 'Writing project context...',
529
+ done: 'Setup complete.',
530
+ step_agents: ' Next: open your AI client and activate @setup to confirm or refine the context.',
531
+ step_agent_prompt: ' Or run: aioson agent:prompt setup . --tool={tool}',
532
+ q_project_name: 'Project name',
533
+ q_framework: 'Main framework / stack (e.g. Python, Node, Laravel, Django)',
534
+ q_lang: 'Language for agent responses (e.g. en, pt-BR, es, fr)',
535
+ q_confirm_framework: 'Use detected framework? (true/false)',
536
+ q_override_framework: 'Framework',
537
+ q_framework_installed: 'Framework installed? (true/false)'
538
+ },
539
+ setup_context: {
540
+ detected: 'Detected framework: {framework} (installed={installed})',
541
+ q_project_name: 'Project name',
542
+ q_project_type: 'Project type (web_app|api|site|script|dapp|desktop_app)',
543
+ q_profile: 'Profile: [1] developer [2] creator [3] team',
544
+ q_use_detected_framework: 'Use detected framework? (true/false)',
545
+ q_framework: 'Framework',
546
+ q_framework_installed: 'Framework installed? (true/false)',
547
+ q_language: 'Conversation language (for example en or pt-BR)',
548
+ q_backend_menu:
549
+ 'Backend: [1] Laravel [2] Rails [3] Django [4] Node/Express [5] Next.js [6] Nuxt [7] Hardhat [8] Foundry [9] Truffle [10] Anchor [11] Solana Web3 [12] Cardano [13] Other',
550
+ q_backend_text: 'Backend (free text)',
551
+ q_laravel_version: 'Laravel version (for example 11, 10)',
552
+ q_frontend_menu:
553
+ 'Frontend: [1] TALL Stack [2] VILT Stack [3] Blade [4] Next.js [5] Nuxt [6] React [7] Vue [8] Other',
554
+ q_frontend_text: 'Frontend (free text)',
555
+ q_auth_menu:
556
+ 'Auth (Laravel): [1] Breeze [2] Jetstream + Livewire [3] Filament Shield [4] Custom',
557
+ q_web3_enabled: 'Web3 enabled? (true/false)',
558
+ q_web3_networks: 'Web3 networks (for example ethereum, solana, cardano)',
559
+ q_contract_framework: 'Contract framework (for example Hardhat, Foundry, Anchor, Aiken)',
560
+ q_wallet_provider: 'Wallet provider (for example wagmi, RainbowKit, Phantom, Lace)',
561
+ q_indexer: 'Indexer (for example The Graph, Helius, Blockfrost)',
562
+ q_rpc_provider: 'RPC provider (for example Alchemy, Infura, QuickNode)',
563
+ q_jetstream_teams: 'Jetstream teams enabled? (true/false)',
564
+ q_jetstream_existing_action:
565
+ 'Existing Laravel project without Jetstream detected. Action: [1] continue without Jetstream [2] recreate with Jetstream (recommended) [3] manual install (risk)',
566
+ q_auth_text: 'Authentication approach (free text)',
567
+ q_uiux_menu: 'UI/UX: [1] Tailwind [2] Flux UI [3] shadcn/ui [4] Filament',
568
+ q_uiux_text: 'UI/UX approach (free text)',
569
+ q_database_menu:
570
+ 'Database: [1] MySQL [2] PostgreSQL [3] SQLite [4] MongoDB [5] Supabase [6] PlanetScale',
571
+ q_database_text: 'Database (free text)',
572
+ q_services_list:
573
+ 'Additional services (comma list): queues, storage, websockets, payments, email, cache, search',
574
+ q_rails_options:
575
+ 'Rails options used (comma list, e.g. --database=postgresql,--css=tailwind,--api)',
576
+ q_next_options:
577
+ 'Next.js create-next-app options (comma list, e.g. TypeScript,ESLint,Tailwind CSS,App Router,src/ directory)',
578
+ q_beginner_summary: 'Describe your project in one sentence',
579
+ q_beginner_users:
580
+ 'Expected users: [1] personal/small up to 10 [2] small team up to 100 [3] external customers',
581
+ q_beginner_mobile: 'Mobile requirement: [1] mobile app [2] responsive web [3] desktop only',
582
+ q_beginner_hosting: 'Hosting preference: [1] simple managed [2] VPS [3] cloud provider',
583
+ q_beginner_accept_recommendation: 'Accept starter recommendation? (true/false)',
584
+ beginner_recommendation:
585
+ 'Starter recommendation -> framework: {framework}, frontend: {frontend}, database: {database}, auth: {auth}',
586
+ q_user_types: 'How many user types?',
587
+ q_integrations: 'How many external integrations?',
588
+ q_rules_complexity: 'Rules complexity (none|some|complex)',
589
+ note_status_enabled: 'enabled',
590
+ note_status_disabled: 'disabled',
591
+ note_jetstream_teams: 'Jetstream teams: {status}',
592
+ note_selected_services: 'Selected services: {services}',
593
+ note_rails_setup_flags: 'Rails setup flags: {flags}',
594
+ note_next_setup_flags: 'Next.js setup flags: {flags}',
595
+ note_next_create_flags: 'Next.js create flags: {flags}',
596
+ note_jetstream_existing_action: 'Jetstream existing-project action: {action}',
597
+ note_mobile_first:
598
+ 'Mobile-first requirement detected; consider React Native/Expo as follow-up.',
599
+ note_vps_preference:
600
+ 'VPS preference detected; keep deployment scripts simple and reproducible.',
601
+ note_cloud_profile:
602
+ 'Cloud profile detected; use managed DB and object storage from day one.',
603
+ note_web3_terms: 'Web3 terms detected; dApp starter recommendation applied.',
604
+ note_starter_profile:
605
+ 'This recommendation is a starter profile; adjust once requirements are clearer.',
606
+ note_team_profile:
607
+ 'Team profile selected; preserve explicit team conventions and CI rules.',
608
+ note_beginner_declined:
609
+ 'Starter recommendation declined; using custom stack from onboarding.',
610
+ note_monorepo:
611
+ 'Monorepo detected: Web3 and application framework coexist. Confirm primary framework with user and document structure in Notes.',
612
+ written: 'Context file written: {path}',
613
+ classification_result: 'Classification: {classification} (score={score}/6)',
614
+ locale_applied: 'Interaction language synchronized: {locale} ({count} agent prompts restored)'
615
+ },
616
+ locale_apply: {
617
+ applied: 'Interaction language synchronized: {locale}',
618
+ dry_run_applied: '[dry-run] Interaction language would be synchronized: {locale}',
619
+ copied_count: 'Files copied: {count}',
620
+ missing_count: 'Missing locale files: {count}',
621
+ copy_line: ' File: {source} -> {target}'
622
+ },
623
+ smoke: {
624
+ start: 'Running smoke test in: {projectDir}',
625
+ using_web3_profile: 'Using Web3 smoke profile: {target}',
626
+ using_mixed_profile: 'Using mixed Web2+Web3 monorepo smoke profile.',
627
+ using_parallel_profile: 'Using parallel orchestration smoke profile.',
628
+ seeded_web3_workspace: 'Seeded workspace for Web3 target: {target}',
629
+ seeded_mixed_workspace: 'Seeded workspace for mixed Web2+Web3 profile.',
630
+ seeded_parallel_context: 'Seeded discovery/architecture/prd context for parallel profile.',
631
+ step_ok: 'OK: {step}',
632
+ web3_detected: 'Web3 framework detected: {framework} ({network})',
633
+ web3_context_verified: 'Web3 context verified for network: {network}',
634
+ mixed_context_verified: 'Mixed profile context verified (framework: {framework}).',
635
+ parallel_status_verified: 'Parallel status verified for lanes: {count}',
636
+ invalid_web3_target: 'Invalid --web3 target: {target}. Use ethereum, solana, or cardano.',
637
+ invalid_profile: 'Invalid --profile value: {profile}. Use standard, mixed, or parallel.',
638
+ profile_conflict: 'Do not combine --profile=mixed with --web3. Choose one profile mode.',
639
+ assert_install_files: 'install copied zero files',
640
+ assert_web3_framework: 'unexpected web3 framework detection: {framework}',
641
+ assert_setup_written: 'setup:context did not write context file',
642
+ assert_setup_project_type_dapp: 'setup did not infer project_type=dapp',
643
+ assert_setup_web3_network: 'setup did not infer expected web3 network',
644
+ assert_setup_web3_framework: 'setup did not keep expected web3 framework',
645
+ assert_mixed_project_type_dapp: 'mixed profile did not infer project_type=dapp',
646
+ assert_mixed_web3_enabled: 'mixed profile did not infer web3_enabled=true',
647
+ assert_mixed_framework: 'mixed profile did not prefer web3 framework',
648
+ assert_locale_apply_files: 'locale:apply copied zero files',
649
+ assert_agents_count: 'agents command returned unexpected agent count',
650
+ assert_prompt_path: 'agent:prompt did not include expected path information',
651
+ assert_context_validate: 'context:validate failed',
652
+ assert_web3_context_valid: 'web3 context parse failed',
653
+ assert_web3_context_project_type: 'context project_type is not dapp',
654
+ assert_web3_context_enabled: 'context web3_enabled is not true',
655
+ assert_web3_context_network: 'context web3_networks does not include expected target',
656
+ assert_doctor_ok: 'doctor check failed',
657
+ assert_parallel_init_ok: 'parallel:init failed',
658
+ assert_parallel_init_workers: 'parallel:init workers mismatch',
659
+ assert_parallel_assign_ok: 'parallel:assign failed',
660
+ assert_parallel_assign_scope: 'parallel:assign produced no scopes',
661
+ assert_parallel_status_ok: 'parallel:status failed',
662
+ assert_parallel_status_lanes: 'parallel:status lane count mismatch',
663
+ assert_parallel_doctor_ok: 'parallel:doctor failed',
664
+ assert_parallel_doctor_summary: 'parallel:doctor reported failures',
665
+ completed: 'Smoke test completed successfully.',
666
+ steps_count: 'Validated steps: {count}',
667
+ workspace_kept: 'Workspace kept: {path}',
668
+ workspace_removed: 'Workspace removed: {path}'
669
+ },
670
+ package_test: {
671
+ start: 'Running package test from source: {sourceDir}',
672
+ pack_done: 'Package tarball created: {tarball}',
673
+ completed: 'Package test completed with {count} validated steps.',
674
+ workspace: 'Package test workspace: {path}',
675
+ error_unknown_detail: 'unknown error',
676
+ error_npm_pack: 'npm pack failed: {detail}',
677
+ error_tarball_missing: 'npm pack did not return tarball name',
678
+ error_npx_init: 'npx init failed: {detail}',
679
+ error_npx_setup_context: 'npx setup:context failed: {detail}',
680
+ error_npx_doctor: 'npx doctor failed: {detail}',
681
+ error_doctor_not_ok: 'doctor returned ok=false during package test',
682
+ error_npx_mcp_init: 'npx mcp:init failed: {detail}',
683
+ error_mcp_not_ok: 'mcp:init returned ok=false during package test'
684
+ },
685
+ workflow_plan: {
686
+ context_missing:
687
+ 'Context file not found. Using fallback workflow based on provided/default classification.',
688
+ title: 'Recommended workflow for classification {classification}:',
689
+ notes: 'Notes:',
690
+ command_line: ' Command: {command}',
691
+ note_line: ' Note: {note}',
692
+ note_framework_not_installed:
693
+ 'Framework is not installed yet; complete stack installation before @dev.',
694
+ note_dapp_context:
695
+ 'dApp context detected; include Web3 skills during @architect and @dev.',
696
+ note_micro_scope: 'Keep implementation scope minimal and avoid optional agents.',
697
+ note_product_optional: '@product is optional for MICRO — skip it and go straight to @dev if the idea is already clear.',
698
+ note_feature_flow: 'New feature workflow (after initial setup): @product → @analyst → @dev → @qa. No @setup required.'
699
+ },
700
+ workflow_next: {
701
+ title: 'Workflow handoff for {mode} ({classification}):',
702
+ completed: 'Completed stage: {agent}',
703
+ detour: 'Detour active: {agent} (return to {returnTo})',
704
+ current_agent: 'Current agent: {agent}',
705
+ next_agent: 'Return/next agent: {agent}',
706
+ done: 'Workflow is complete. No next agent remains.',
707
+ state_file: 'State file: {path}'
708
+ },
709
+ workflow_heal: {
710
+ title: '🩹 Self-healing activated for {stage} (attempt {count}/3):'
711
+ },
712
+ parallel_init: {
713
+ context_missing: 'Context file not found: {path}. Run setup:context first.',
714
+ context_invalid: 'Context file is invalid or not parseable: {path}.',
715
+ classification_unknown: 'unknown',
716
+ requires_medium:
717
+ 'Parallel initialization is only supported for MEDIUM classification (current: {classification}). Use --force to override.',
718
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
719
+ already_exists:
720
+ 'Parallel context files already exist ({count}). Use --force to overwrite existing files.',
721
+ prepared: 'Parallel workspace initialized at: {path}',
722
+ dry_run_prepared: '[dry-run] Parallel workspace would be initialized at: {path}',
723
+ workers_count: 'Workers: {count}',
724
+ files_count: 'Files prepared: {count}',
725
+ missing_prereq_count: 'Missing prerequisite context files: {count}',
726
+ file_line: ' File: {file}'
727
+ },
728
+ parallel_doctor: {
729
+ prefix_ok: 'OK',
730
+ prefix_warn: 'WARN',
731
+ prefix_fail: 'FAIL',
732
+ check_line: '[{prefix}] {id} - {message}',
733
+ hint_line: ' Hint: {hint}',
734
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
735
+ classification_unknown: 'unknown',
736
+ requires_medium:
737
+ 'Parallel doctor fix mode requires MEDIUM classification (current: {classification}). Use --force to override.',
738
+ report_title: 'Parallel doctor report: {path}',
739
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
740
+ fix_summary: 'Parallel fix changes applied: {count}',
741
+ fix_summary_dry_run: '[dry-run] Parallel fix changes planned: {count}',
742
+ check_context_exists_ok: 'project.context.md exists.',
743
+ check_context_exists_missing: 'project.context.md is missing.',
744
+ check_context_exists_hint: 'Run setup:context before parallel doctor.',
745
+ check_context_parsed_ok: 'project.context.md is parseable.',
746
+ check_context_parsed_invalid: 'project.context.md is invalid.',
747
+ check_context_parsed_hint: 'Fix context frontmatter before running parallel doctor.',
748
+ check_context_classification_ok:
749
+ 'Parallel mode allowed for classification {classification}.',
750
+ check_context_classification_invalid:
751
+ 'Parallel mode requires MEDIUM classification (current: {classification}).',
752
+ check_context_classification_hint: 'Use --force to override classification guard.',
753
+ check_parallel_dir_ok: '.aioson/context/parallel directory exists.',
754
+ check_parallel_dir_missing: '.aioson/context/parallel directory is missing.',
755
+ check_parallel_dir_hint: 'Run parallel:init or parallel:doctor --fix.',
756
+ check_parallel_shared_ok: 'shared-decisions.md is present.',
757
+ check_parallel_shared_missing: 'shared-decisions.md is missing.',
758
+ check_parallel_shared_hint: 'Run parallel:doctor --fix to restore baseline files.',
759
+ check_parallel_manifest_ok: 'workspace.manifest.json is present.',
760
+ check_parallel_manifest_missing: 'workspace.manifest.json is missing.',
761
+ check_parallel_manifest_hint: 'Run parallel:doctor --fix to restore the workspace manifest.',
762
+ check_parallel_ownership_ok: 'ownership-map.json is present.',
763
+ check_parallel_ownership_missing: 'ownership-map.json is missing.',
764
+ check_parallel_ownership_hint: 'Run parallel:doctor --fix to restore the ownership map.',
765
+ check_parallel_merge_ok: 'merge-plan.json is present.',
766
+ check_parallel_merge_missing: 'merge-plan.json is missing.',
767
+ check_parallel_merge_hint: 'Run parallel:doctor --fix to restore the merge plan.',
768
+ check_machine_sync_ok: 'Machine-readable parallel artifacts are in sync with lane status files.',
769
+ check_machine_sync_stale: 'Machine-readable parallel artifacts are stale: {files}.',
770
+ check_machine_sync_hint: 'Run parallel:doctor --fix to rebuild stale artifacts.',
771
+ check_ownership_conflicts_ok: 'No ownership conflicts were detected across lane scopes.',
772
+ check_ownership_conflicts_found: 'Detected {count} ownership conflict(s) across lane scopes.',
773
+ check_ownership_conflicts_hint: 'Update scope ownership so each scope key belongs to exactly one lane.',
774
+ check_write_scope_present_ok: 'All lanes with assigned scope also declare write_paths.',
775
+ check_write_scope_present_missing: '{count} lane(s) with assigned scope still have no write_paths.',
776
+ check_write_scope_present_hint: 'Declare project-relative file paths or directory prefixes (for example src/auth/**) in each lane Ownership block.',
777
+ check_write_scope_valid_ok: 'All declared write_paths use supported patterns.',
778
+ check_write_scope_valid_invalid: 'Detected {count} invalid write_paths pattern(s).',
779
+ check_write_scope_valid_hint: 'Use exact project-relative paths or recursive directory patterns ending with /**.',
780
+ check_write_scope_conflicts_ok: 'No write_paths overlaps were detected across lanes.',
781
+ check_write_scope_conflicts_found: 'Detected {count} write_paths overlap(s) across lanes.',
782
+ check_write_scope_conflicts_hint: 'Split file ownership so each path pattern belongs to exactly one lane.',
783
+ check_dependencies_valid_ok: 'All declared lane dependencies reference valid lanes.',
784
+ check_dependencies_valid_invalid: 'Detected {count} invalid lane dependency reference(s).',
785
+ check_dependencies_valid_hint: 'Use lane-N references only for existing lanes, or move shared coordination to shared-decisions.',
786
+ check_dependencies_blocked_ok: 'No lane is currently blocked by an incomplete dependency.',
787
+ check_dependencies_blocked_found: 'Detected {count} lane dependency blocker(s) based on current lane statuses.',
788
+ check_dependencies_blocked_hint: 'Complete upstream lanes or move dependent lanes back to pending before execution.',
789
+ check_merge_order_ok: 'Merge order respects declared lane dependencies.',
790
+ check_merge_order_invalid: 'Detected {count} merge-order violation(s) against declared lane dependencies.',
791
+ check_merge_order_hint: 'Adjust merge ranks or dependencies so upstream lanes merge first.',
792
+ check_lanes_present_ok: 'Detected {count} lane file(s).',
793
+ check_lanes_present_missing: 'No agent lane status files found.',
794
+ check_lanes_present_hint: 'Run parallel:init or parallel:doctor --fix.',
795
+ check_lanes_sequence_ok: 'Lane sequence is contiguous (1..{workers}).',
796
+ check_lanes_sequence_missing: 'Missing lane files in sequence: {lanes}',
797
+ check_lanes_sequence_hint: 'Run parallel:doctor --fix to restore missing lane files.',
798
+ check_workers_option: 'Workers option requested: {workers}.',
799
+ check_prereq_ok: 'All prerequisite context files are present.',
800
+ check_prereq_missing: '{count} prerequisite context file(s) are missing.',
801
+ check_prereq_hint: 'Create discovery/architecture/prd context files before orchestration.'
802
+ },
803
+ parallel_assign: {
804
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
805
+ context_missing: 'Context file not found: {path}.',
806
+ context_invalid: 'Context file is invalid or not parseable: {path}.',
807
+ classification_unknown: 'unknown',
808
+ requires_medium:
809
+ 'Parallel assignment requires MEDIUM classification (current: {classification}). Use --force to override.',
810
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
811
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
812
+ missing_lanes: 'Missing lane files for requested workers: {lanes}.',
813
+ source_missing: 'Could not resolve source document from --source={source}.',
814
+ applied: 'Parallel scope assignment applied ({count} scope item(s)).',
815
+ dry_run_applied: '[dry-run] Parallel scope assignment planned ({count} scope item(s)).',
816
+ source_info: 'Source document: {source}',
817
+ workers_count: 'Workers: {count}',
818
+ files_count: 'Files updated: {count}',
819
+ lane_scope_line: '- lane {lane}: {count} scope item(s)'
820
+ },
821
+ parallel_status: {
822
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
823
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
824
+ title: 'Parallel status report: {path}',
825
+ lanes_count: 'Lanes: {count}',
826
+ statuses_title: 'Statuses:',
827
+ status_line: '- {status}: {count}',
828
+ status_pending: 'pending',
829
+ status_in_progress: 'in_progress',
830
+ status_completed: 'completed',
831
+ status_merged: 'merged',
832
+ status_blocked: 'blocked',
833
+ status_other: 'other',
834
+ scopes_count: 'Total scope items: {count}',
835
+ deliverables_progress: 'Deliverables: {completed}/{total} completed',
836
+ blockers_count: 'Open blockers: {count}',
837
+ shared_decisions: 'Shared decision log entries: {count}',
838
+ ownership_conflicts: 'Ownership conflicts: {count}',
839
+ write_scope_summary:
840
+ 'Write scope: lanes_with_paths={lanes}, paths={paths}, uncovered_assigned_lanes={uncovered}, conflicts={conflicts}, invalid={invalid}',
841
+ dependencies_summary: 'Dependencies: declared={declared}, invalid={invalid}, blocked={blocked}, order_violations={orderViolations}',
842
+ sync_summary: 'Machine file drift: {count}',
843
+ sync_stale_line: '- stale: {file}',
844
+ lane_line: '- lane {lane}: status={status}, scope={scope}, blockers={blockers}'
845
+ },
846
+ parallel_merge: {
847
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
848
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
849
+ ready: 'Deterministic merge is ready for {count} lane(s).',
850
+ applied: 'Deterministic merge applied to {count} lane(s).',
851
+ blocked: 'Deterministic merge is blocked for {count} lane(s).',
852
+ order: 'Merge order: {order}',
853
+ structural_summary:
854
+ 'Structural checks: stale={stale}, ownership_conflicts={conflicts}, write_scope_conflicts={writeConflicts}, invalid_write_paths={invalidWritePaths}, invalid_dependencies={invalid}, blocked_dependencies={blocked}, order_violations={orderViolations}',
855
+ lane_line: '- lane {lane}: action={action}, status={status}'
856
+ },
857
+ parallel_guard: {
858
+ invalid_lane: 'Invalid --lane value. Use a positive integer.',
859
+ paths_required: 'Missing --paths value. Provide one or more comma-separated project-relative paths.',
860
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
861
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
862
+ lane_missing: 'Lane {lane} does not exist in the current parallel workspace.',
863
+ allowed: 'Write-scope guard passed for lane {lane} ({count} path(s)).',
864
+ blocked: 'Write-scope guard blocked lane {lane} for {count} path(s).',
865
+ write_scope_summary: 'Write scope summary: paths={paths}, conflicts={conflicts}, invalid={invalid}',
866
+ path_line: '- path {path}: status={status}, owners={owners}'
867
+ },
868
+ mcp_init: {
869
+ context_missing:
870
+ 'Context file not found. Generating baseline MCP plan with generic assumptions.',
871
+ invalid_tool: 'Invalid --tool value: {tool}. Use one of: {expected}.',
872
+ reason_filesystem: 'Mandatory local workspace access.',
873
+ reason_context7: 'Use up-to-date official documentation at implementation time.',
874
+ reason_database_none: 'No database stack detected yet.',
875
+ reason_database_enabled: 'Context indicates database-backed features (remote MCP endpoint recommended).',
876
+ reason_web_search: 'Useful for package vetting and release-note verification.',
877
+ reason_chain_rpc_disabled: 'Web3 is disabled for this project.',
878
+ reason_chain_rpc_enabled: 'dApp context detected; chain RPC access is required.',
879
+ note_workspace_local: 'This is a workspace-local preset generated by AIOSON.',
880
+ note_replace_placeholders: 'Replace placeholder commands with the MCP servers you actually use.',
881
+ note_keep_secrets_env: 'Keep secrets in environment variables, never inline tokens.',
882
+ generated: 'MCP plan written: {path}',
883
+ dry_run_generated: '[dry-run] MCP plan would be written: {path}',
884
+ server_count: 'MCP servers in plan: {count}',
885
+ preset_count: 'Tool presets generated: {count}',
886
+ preset_written: 'Preset written ({tool}): {path}',
887
+ preset_dry_run: '[dry-run] Preset would be written ({tool}): {path}'
888
+ },
889
+ mcp_doctor: {
890
+ prefix_ok: 'OK',
891
+ prefix_warn: 'WARN',
892
+ prefix_fail: 'FAIL',
893
+ check_line: '[{prefix}] {id} - {message}',
894
+ hint_line: ' Hint: {hint}',
895
+ context_missing: 'project.context.md was not found.',
896
+ context_missing_hint: 'Run setup first for context-aware MCP validation.',
897
+ context_parse_invalid: 'project.context.md could not be parsed ({reason}).',
898
+ context_parse_invalid_hint: 'Fix context formatting to enable stack-aware MCP validation.',
899
+ context_ok: 'project.context.md is available and parseable.',
900
+ plan_missing: 'MCP plan file was not found (.aioson/mcp/servers.local.json).',
901
+ plan_missing_hint: 'Run: aioson mcp:init',
902
+ plan_invalid: 'MCP plan JSON is invalid: {error}',
903
+ plan_invalid_hint: 'Regenerate the plan with: aioson mcp:init',
904
+ plan_ok: 'MCP plan file is present and valid JSON.',
905
+ plan_servers_ok: 'MCP plan declares {count} server definition(s).',
906
+ plan_servers_missing: 'MCP plan has no server definitions.',
907
+ plan_servers_hint: 'Regenerate with: aioson mcp:init',
908
+ core_enabled: 'Core MCP server "{server}" is enabled.',
909
+ core_missing: 'Core MCP server "{server}" is missing or disabled.',
910
+ core_missing_hint: 'Regenerate and keep baseline core servers enabled.',
911
+ presets_any_ok: '{count} MCP preset file(s) found.',
912
+ presets_any_missing: 'No MCP preset files were found.',
913
+ presets_any_hint: 'Run: aioson mcp:init',
914
+ presets_coverage_partial: 'Only {existing}/{total} tool presets are present.',
915
+ presets_coverage_partial_hint:
916
+ 'Run: aioson mcp:init (without --tool) to generate all presets.',
917
+ presets_coverage_full: 'All tool presets are present (claude, codex, gemini, opencode).',
918
+ env_none_required: 'No required environment variables in enabled MCP servers.',
919
+ env_missing: '{missing}/{total} required env var(s) are missing: {vars}',
920
+ env_missing_hint_strict: 'Set the missing variables before execution.',
921
+ env_missing_hint_relaxed:
922
+ 'Set variables for full runtime readiness. Use --strict-env to fail on this check.',
923
+ env_all_present: 'All required env vars are available ({count}).',
924
+ compat_database_ok: 'Database MCP matches context stack engine ({engine}).',
925
+ compat_database_mismatch: 'Database MCP does not fully match context stack ({engine}).',
926
+ compat_database_hint: 'Regenerate with: aioson mcp:init, or adjust database server manually.',
927
+ compat_web3_ok: 'chain-rpc MCP is enabled for Web3 context.',
928
+ compat_web3_missing: 'Web3 context detected, but chain-rpc MCP is missing or disabled.',
929
+ compat_web3_missing_hint: 'Regenerate with: aioson mcp:init',
930
+ compat_web3_unneeded: 'chain-rpc MCP is enabled, but context is not Web3.',
931
+ compat_web3_unneeded_hint: 'Disable chain-rpc if not needed.',
932
+ report_title: 'MCP doctor report: {path}',
933
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.'
934
+ },
935
+ qa_doctor: {
936
+ prefix_ok: 'OK',
937
+ prefix_warn: 'WARN',
938
+ prefix_fail: 'FAIL',
939
+ check_line: '[{prefix}] {id} - {message}',
940
+ hint_line: ' Hint: {hint}',
941
+ report_title: 'QA doctor report: {path}',
942
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
943
+ playwright_ok: 'Playwright is installed.',
944
+ playwright_missing: 'Playwright package not found.',
945
+ playwright_missing_hint: 'Run: npm install -g playwright && npx playwright install chromium',
946
+ chromium_ok: 'Chromium browser binary found.',
947
+ chromium_missing: 'Chromium binary not found.',
948
+ chromium_missing_hint: 'Run: npx playwright install chromium',
949
+ config_ok: 'aios-qa.config.json found and valid.',
950
+ config_missing: 'aios-qa.config.json not found.',
951
+ config_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
952
+ config_invalid: 'aios-qa.config.json is not valid JSON: {error}',
953
+ url_ok: 'Target URL is reachable ({url}).',
954
+ url_missing: 'No target URL configured in aios-qa.config.json.',
955
+ url_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
956
+ url_unreachable: 'Target URL is not reachable ({url}): {error}',
957
+ url_unreachable_hint: 'Start your application before running qa:run or qa:scan.',
958
+ context_ok: 'project.context.md found tests will be enriched with project context.',
959
+ context_missing: 'project.context.md not found — running in generic mode.',
960
+ prd_ok: 'prd.md found — {count} acceptance criteria mapped to test scenarios.',
961
+ prd_missing: 'prd.md not found — AC coverage mapping will be skipped.'
962
+ },
963
+ qa_init: {
964
+ context_found: 'Context found: project={name}, url={url}',
965
+ prd_found: 'prd.md found — extracted {count} acceptance criteria as test scenarios.',
966
+ prd_missing: 'prd.md not found — no AC scenarios generated. Add prd.md to enrich tests.',
967
+ generated: 'QA config written: {path}',
968
+ dry_run_generated: '[dry-run] QA config would be written: {path}',
969
+ scenarios_count: 'Test scenarios from prd.md: {count}',
970
+ personas_count: 'Personas enabled: {count} (naive, hacker, power, mobile)',
971
+ probes_count: 'Security probes enabled: {count}',
972
+ next_steps: 'Next steps:',
973
+ step_doctor: '1. Verify prerequisites: aioson qa:doctor',
974
+ step_run: '2. Run browser tests: aioson qa:run'
975
+ },
976
+ qa_run: {
977
+ playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
978
+ config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
979
+ url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
980
+ starting: 'Starting browser QA session: {url}',
981
+ persona_start: 'Running persona: {persona}',
982
+ persona_done: 'Persona "{persona}" complete {count} finding(s)',
983
+ accessibility: 'Running accessibility audit...',
984
+ performance: 'Capturing performance metrics...',
985
+ ac_scenarios: 'Documenting AC coverage...',
986
+ done: 'QA session complete.',
987
+ report_written: 'Report written: {path}',
988
+ json_written: 'JSON report written: {path}',
989
+ screenshots_dir: 'Screenshots saved to: {path}',
990
+ findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
991
+ html_report_written: 'HTML report written: {path}'
992
+ },
993
+ qa_scan: {
994
+ playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
995
+ config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
996
+ url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
997
+ starting: 'Starting autonomous scan: {url}',
998
+ crawling: 'Crawling routes (max depth {depth}, max pages {pages})...',
999
+ routes_found: 'Routes discovered: {count}',
1000
+ scanning_route: 'Scanning: {route}',
1001
+ done: 'Autonomous scan complete.',
1002
+ report_written: 'Report written: {path}',
1003
+ findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
1004
+ html_report_written: 'HTML report written: {path}'
1005
+ },
1006
+ qa_report: {
1007
+ not_found: 'No QA report found. Run: aioson qa:run or aioson qa:scan',
1008
+ html_report_written: 'HTML report written: {path}'
1009
+ },
1010
+ harness: {
1011
+ init_success: 'Harness initialized for feature: {slug}',
1012
+ init_exists: 'Harness already initialized in {path}',
1013
+ contract_not_found: 'Contract not found for slug: {slug}',
1014
+ validating: 'Validating harness for {slug}...',
1015
+ blocked: 'Execution paused: {reason}',
1016
+ init_dry_run: '[dry-run] Would initialize harness for {slug}'
1017
+ },
1018
+ web_map: {
1019
+ url_missing: 'Missing required option: --url=<url>.',
1020
+ starting: 'Mapping site: {url}',
1021
+ pages_found: 'Pages discovered: {count}',
1022
+ page_line: '- {url} | depth={depth} | status={status} | links={links}',
1023
+ done: 'Web map complete.',
1024
+ failed: 'Web map failed: {error}'
1025
+ },
1026
+ web_scrape: {
1027
+ url_missing: 'Missing required option: --url=<url>.',
1028
+ invalid_format: 'Invalid --format value: {format}. Use markdown, text, html, or links.',
1029
+ fetching: 'Fetching page: {url}',
1030
+ title_line: 'Title: {title}',
1031
+ status_line: 'Status: {status} | Content-Type: {type}',
1032
+ done: 'Web scrape complete ({format}).',
1033
+ failed: 'Web scrape failed: {error}'
1034
+ },
1035
+ config: {
1036
+ usage_error:
1037
+ 'Usage: aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
1038
+ set_ok: 'Config key set: {key} (saved to {path})',
1039
+ show_header: 'Global config: {path}',
1040
+ show_empty: ' (no keys configured)',
1041
+ show_line: ' {key} = {value}',
1042
+ get_line: '{key} = {value}',
1043
+ key_not_found: 'Key not found: {key}'
1044
+ },
1045
+ runtime: {
1046
+ option_required: 'Required option missing: {option}',
1047
+ store_missing: 'Runtime store not found: {path}. Run: aioson runtime:init',
1048
+ init_ok: 'Runtime store initialized: {path}',
1049
+ ingest_ok: 'Runtime contents indexed: {indexed} | skipped: {skipped} ({path})',
1050
+ task_start_ok: 'Task started: {task} ({path})',
1051
+ start_ok: 'Run started: {run} ({path})',
1052
+ update_ok: 'Run updated: {run} ({path})',
1053
+ task_finish_ok: 'Task completed: {task} ({path})',
1054
+ finish_ok: 'Run completed: {run} ({path})',
1055
+ task_fail_ok: 'Task failed: {task} ({path})',
1056
+ fail_ok: 'Run failed: {run} ({path})',
1057
+ log_ok: 'Event logged: {agent} / {run} ({path})',
1058
+ log_finish_ok: 'Run finished: {agent} / {run} ({path})',
1059
+ log_agent_required: 'Missing required option: --agent',
1060
+ status_title: 'Runtime status: {path}',
1061
+ status_db: 'DB: {path}',
1062
+ status_task_counts:
1063
+ 'Tasks -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
1064
+ status_counts:
1065
+ 'Runs -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
1066
+ status_no_active_tasks: 'No active tasks.',
1067
+ status_active_tasks_title: 'Active tasks:',
1068
+ status_active_task_line: '- {task} | squad: {squad} | status: {status} | work: {title}',
1069
+ status_no_active: 'No active agent runs.',
1070
+ status_active_title: 'Active runs:',
1071
+ status_active_line: '- {agent} | squad: {squad} | status: {status} | work: {title}',
1072
+ status_live_sessions_title: 'Active live sessions:',
1073
+ status_live_session_line: '- {task} | agent: {agent} | status: {status} | plan: {plan} | micro: {micro} | handoffs: {handoffs} | work: {title}',
1074
+ status_micro_tasks_title: 'Active micro-tasks:',
1075
+ status_micro_task_line: '- {task} | parent: {parent} | status: {status} | work: {title}',
1076
+ status_handoffs_title: 'Recent handoffs:',
1077
+ status_handoff_line: '- {created} | {from} -> {to} | session: {session} | {message}'
1078
+ },
1079
+ live: {
1080
+ unsupported_tool: 'Unsupported live tool: {tool}. Supported tools: {supported}',
1081
+ plan_not_found: 'Plan file not found: {plan}',
1082
+ no_active_session: 'No active live session found for {agent}.',
1083
+ session_not_active: 'Live session for {agent} is not active.',
1084
+ json_requires_no_launch: '--json requires --no-launch for live:start because foreground launch is interactive.',
1085
+ tool_binary_not_found: 'Tool binary not found in PATH: {binary}',
1086
+ tool_mismatch: 'Active session uses tool "{existing}" but --tool={requested} was given. Close the session first or use the same tool.',
1087
+ micro_task_already_open: 'A live micro-task is already open for {agent}. Emit task_completed before task_started again.',
1088
+ handoff_same_agent: 'live:handoff requires different --agent and --to values.',
1089
+ handoff_agent_mismatch: 'No active live session found for {agent}.',
1090
+ watch_json_conflict: '--watch cannot be combined with --json.',
1091
+ no_session_found: 'No live session found.',
1092
+ no_session_for_agent: 'No live session found for {agent}.',
1093
+ session_already_closed: 'Live session {session} is already closed.',
1094
+ session_already_active: 'Live session already active: {agent} | session: {session} | run: {runKey} ({dbPath})',
1095
+ session_started: 'Live session started: {agent} | tool: {tool} | session: {session} ({dbPath})',
1096
+ event_recorded: 'Live event recorded: {agent} | {eventType} | {session} ({dbPath})',
1097
+ handoff_recorded: 'Live handoff recorded: {from} -> {to} | {session} ({dbPath})',
1098
+ session_closed: 'Live session closed: {agent} | {session} ({dbPath})',
1099
+ process_dead_warning: 'Process is dead while the live session is still open. Close it manually with `aioson live:close . --status=failed`.',
1100
+ tmux_not_found: 'tmux not found. Install tmux to use --tmux, or remove the flag to continue without terminal split.',
1101
+ tmux_starting: 'Starting tmux session: agent {agent} | tool {tool} ...',
1102
+ tmux_recreate: 'Previous tmux session ended. Recreating live session for {agent} ({session})...',
1103
+ tmux_reattach: 'Tmux session still active. Reattaching to {agent} ({session})...',
1104
+ list_title: 'Live sessions ({count}):',
1105
+ list_empty: 'No live sessions found.',
1106
+ list_line: '- {session} | {agent} | {tool} | {phase} | {updatedAt}'
1107
+ },
1108
+ squad_status: {
1109
+ no_squad: 'No squads found.',
1110
+ hint: 'Use @squad in your AI session to assemble a squad.',
1111
+ squads_found: '{count} squad(s) found:',
1112
+ most_recent: '(most recent)',
1113
+ squad_item: ' [{file}]{marker}',
1114
+ name: ' Squad : {value}',
1115
+ mode: ' Mode : {value}',
1116
+ goal: ' Goal : {value}',
1117
+ agents: ' Agents : {specialists} specialists / {total} total ({path})',
1118
+ sessions: ' Sessions : {count} ({path})',
1119
+ latest_html: ' Latest HTML : {value}',
1120
+ logs: ' Logs : {count} ({path})',
1121
+ genomes: ' Genomes : {count} squad-level / {agent_count} agent bindings',
1122
+ model_tiers: ' Model Tiers : {value}',
1123
+ estimated_cost: ' Est. Cost : ~${value}/run'
1124
+ },
1125
+ squad_agent_create: {
1126
+ no_name: 'Usage: aioson squad:agent-create [path] --name=<agent-name> [--type=agent|assistant|clone|worker] [--scope=my-agents|squad] [--squad=<slug>]',
1127
+ invalid_scope: 'Invalid scope: "{scope}". Use "my-agents" or "squad".',
1128
+ invalid_type: 'Invalid type: "{type}". Use: agent, assistant, clone, worker.',
1129
+ invalid_tier: 'Invalid tier: "{tier}". Use: 0 (foundation), 1 (master), 2 (systematizer), 3 (specialist).',
1130
+ invalid_disc: 'Invalid DISC profile: "{disc}".',
1131
+ no_squads: 'No squads found. Create a squad first with @squad or provide --squad=<slug>.',
1132
+ squad_required: '--squad=<slug> required when scope is "squad".',
1133
+ squad_not_found: 'Squad "{squad}" not found.',
1134
+ already_exists: 'Agent already exists: {path}'
1135
+ },
1136
+ squad_doctor: {
1137
+ prefix_ok: 'OK',
1138
+ prefix_warn: 'WARN',
1139
+ prefix_fail: 'FAIL',
1140
+ report_title: 'Squad report {squad}: {path}',
1141
+ check_line: '[{prefix}] {message}',
1142
+ check_metadata: 'Squad metadata present: {path}',
1143
+ check_manifest: 'Squad manifest present: {path}',
1144
+ check_rules: 'Rules/agents.md present: {path}',
1145
+ check_design_doc: 'Squad design doc: {path}',
1146
+ check_readiness: 'Squad readiness: {path}',
1147
+ check_executors: 'Declared executors: {count} | missing files: {missing}',
1148
+ check_output_dir: 'Squad output directory: {path}',
1149
+ check_media_dir: 'Squad media directory: {path}',
1150
+ check_runtime_missing: 'Runtime store missing. Run aioson runtime:init.',
1151
+ check_active_runs: 'Active runs: {count} | possibly stuck (> {minutes} min): {stale}',
1152
+ check_content_indexing: 'Indexed contents: {indexed} | pending output files: {pending}',
1153
+ summary: 'Summary -> checks OK: {passed} | warnings: {warned} | failures: {failed}'
1154
+ },
1155
+ scan_project: {
1156
+ scanning: 'aioson scan:project scanning {dir}',
1157
+ folder_required:
1158
+ 'Pass --folder=<path[,path2]> to generate full scans for specific folders. Example: --folder=src or --folder=app.',
1159
+ folder_required_examples_title: '\x1b[33mQuick start:\x1b[0m',
1160
+ folder_required_example_local:
1161
+ ' Local maps only : aioson scan:project . --folder=src',
1162
+ folder_required_example_multi:
1163
+ ' Multiple folders: aioson scan:project . --folder=src,app',
1164
+ folder_required_example_llm:
1165
+ ' API automation : aioson scan:project . --folder=src --with-llm --provider=openai',
1166
+ folder_required_example_cli:
1167
+ ' No API in aioson: aioson scan:project . --folder=src -> then run @analyst in Codex/Claude/Gemini',
1168
+ folder_required_example_prompt:
1169
+ ' Ready prompt : aioson agent:prompt analyst --tool=codex',
1170
+ folder_required_example_next:
1171
+ ' Workflow after full scan: @analyst -> @architect -> @dev',
1172
+ folder_not_found: 'Folder "{folder}" was not found in this project. Top-level directories detected: {available}',
1173
+ config_missing: '{file} not found. To use LLM mode, copy aioson-models.json and fill in your API keys.',
1174
+ config_invalid: 'Invalid JSON in aioson-models.json: {error}',
1175
+ provider_missing: 'LLM provider "{provider}" not found in aioson-models.json. Available: {available}',
1176
+ provider_info: ' Provider : {provider}',
1177
+ model_info: ' Model : {model}',
1178
+ context_found: ' Context : project.context.md found',
1179
+ context_missing: ' Context : project.context.md not found (run aioson setup:context first)',
1180
+ spec_found: ' Spec : spec.md found — development memory included',
1181
+ existing_discovery_found: ' Context : existing discovery.md found at {path}',
1182
+ existing_skeleton_found: ' Context : existing skeleton-system.md found at {path}',
1183
+ context_update_mode: ' Mode : update/merge of existing discovery.md + skeleton-system.md enabled',
1184
+ context_mode: ' Context : context-mode={mode} (recommended default for brownfield: merge)',
1185
+ local_only: ' LLM : disabled by default — local scan only (use --with-llm to generate discovery.md + skeleton-system.md)',
1186
+ walking: ' Scanning project structure...',
1187
+ walk_done: ' Files : {files} entries mapped | Key files: {keys} read',
1188
+ index_written: ' Index : local scan index written to {path} (mode: {mode})',
1189
+ folders_written: ' Folders : folder map written to {path}',
1190
+ folder_written: ' Folder : full map for {folder} written to {path}',
1191
+ forge_written: ' AIOS : useful .aioson map written to {path}',
1192
+ memory_index_written: ' Memory : memory-index.md written to {path}',
1193
+ spec_current_written: ' Memory : spec-current.md written to {path}',
1194
+ spec_history_written: ' Memory : spec-history.md written to {path}',
1195
+ module_memory_written: ' Module : focused memory for {folder} written to {path}',
1196
+ dry_run_done: '[dry-run] Would scan {treeCount} entries and {keyCount} key files — no LLM call made.',
1197
+ local_done: ' Result : local scan completed — index, folder map, requested folder scans and .aioson map are ready.',
1198
+ local_missing: ' Missing : discovery.md + skeleton-system.md were not generated in this local-only scan.',
1199
+ architecture_note: ' Note : architecture.md is not generated by scan:project; it comes later from @architect.',
1200
+ local_paths_title: '\n\x1b[33m How to generate discovery now:\x1b[0m',
1201
+ local_path_api: ' \x1b[32mPath AAPI automation\x1b[0m',
1202
+ calling_llm: ' Calling {provider} ({model})...',
1203
+ llm_missing_api_key:
1204
+ 'The API key for provider "{provider}" is still missing in {file}. Fill providers.{provider}.api_key or choose another provider with --provider=...',
1205
+ llm_error: 'LLM call failed: {error}',
1206
+ gitignore_policy_written:
1207
+ ' Gitignore: AIOSON policy updated in {path} to ignore framework-managed files',
1208
+ gitignore_tracked_note:
1209
+ ' Gitignore: if those files were already tracked by Git before, you still need one git rm --cached pass for them to stop appearing in status',
1210
+ invalid_llm_output_discovery_empty:
1211
+ 'The LLM returned an empty discovery.md. No existing files were overwritten. Keep the current backup and retry with a stronger model or fewer folders.',
1212
+ invalid_llm_output_skeleton_empty:
1213
+ 'The LLM returned an empty skeleton-system.md after the delimiter. No existing files were overwritten. Retry with a stronger model or a smaller scope.',
1214
+ gitignore_backups_written: ' Gitignore: local backup rule ensured in {path}',
1215
+ backups_written: ' Backup : saved {count} file(s) into {path}',
1216
+ discovery_written: 'discovery.md written: {path} ({chars} chars)',
1217
+ skeleton_written: 'skeleton-system.md written: {path} ({chars} chars)',
1218
+ skeleton_missing: 'Skeleton delimiter not found in LLM response — skeleton-system.md not written.',
1219
+ local_next_steps: ' 1. Run: aioson scan:project {target} --folder={folders} --with-llm --provider=<provider>',
1220
+ local_path_cli: ' \x1b[36mPath B Your AI CLI (no API inside aioson)\x1b[0m',
1221
+ local_cli_step_analyst: ' 2. In Codex, Claude Code, or another client, run @analyst — it can use scan-index.md + scan-folders.md + scan-<folder>.md to write discovery.md',
1222
+ local_cli_step_prompt_codex: ' 3. If the client does not understand @analyst, generate a ready prompt: aioson agent:prompt analyst --tool=codex',
1223
+ local_cli_step_prompt_claude: ' 4. Swap --tool=codex for --tool=claude or --tool=gemini when needed',
1224
+ local_cli_step_model_hint: ' 5. If your client supports model selection, prefer a fast/cheap model for this discovery step',
1225
+ local_workflow_title: '\n\x1b[33m After discovery:\x1b[0m',
1226
+ local_step_architect: ' 3. Run @architect — generates architecture.md from the consolidated discovery',
1227
+ local_step_dev: ' 4. Run @dev only start coding after discovery.md + architecture.md are ready',
1228
+ next_steps: '\n Next steps:',
1229
+ step_analyst: ' 1. Open your AI coding session and run @analyst — review discovery.md + skeleton-system.md and consolidate the current scope',
1230
+ step_architect: ' 2. Run @architect — generates architecture.md from the consolidated discovery',
1231
+ step_dev: ' 3. Run @dev reads skeleton-system.md first, then discovery.md + architecture.md + spec.md'
1232
+ },
1233
+ squad_investigate: {
1234
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1235
+ no_investigations: 'No investigations found.',
1236
+ not_found: 'Investigation not found: {slug}',
1237
+ no_report: 'Investigation "{slug}" has no report file.',
1238
+ report_missing: 'Report file not found: {path}',
1239
+ show_usage: 'Usage: aioson squad:investigate [path] --sub=show --investigation=<slug>',
1240
+ score_usage: 'Usage: aioson squad:investigate [path] --sub=score --investigation=<slug>',
1241
+ link_usage: 'Usage: aioson squad:investigate [path] --sub=link --investigation=<slug> --squad=<slug>',
1242
+ register_usage: 'Usage: aioson squad:investigate [path] --sub=register --report=<path> [--domain=<name>] [--squad=<slug>]',
1243
+ linked: 'Investigation "{investigation}" linked to squad "{squad}".',
1244
+ registered: 'Investigation registered: {slug} ({path})',
1245
+ unknown_sub: 'Unknown subcommand: {sub}. Use: list, show, score, link, register.'
1246
+ },
1247
+
1248
+ squad_daemon: {
1249
+ squad_required: 'Squad slug is required. Use --squad=<slug>.',
1250
+ started: 'Daemon started for squad "{squad}" on port {port} ({workers} workers, {cron} cron jobs)',
1251
+ webhook_hint: 'Webhook endpoint: POST http://127.0.0.1:{port}/webhook/<worker-slug>',
1252
+ stop_hint: 'Press Ctrl+C to stop.',
1253
+ stopping: 'Stopping daemon...',
1254
+ start_failed: 'Failed to start daemon: {error}',
1255
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1256
+ no_daemons: 'No daemon records found.',
1257
+ not_found: 'No daemon record for squad: {squad}',
1258
+ not_running: 'Daemon for squad "{squad}" is not running.',
1259
+ signal_sent: 'SIGTERM sent to daemon for "{squad}" (pid {pid}).',
1260
+ process_gone: 'Daemon process for "{squad}" is no longer running.',
1261
+ no_logs: 'No daemon activity logs found.',
1262
+ unknown_sub: 'Unknown subcommand: {sub}. Use: start, status, stop, logs.'
1263
+ },
1264
+
1265
+ squad_mcp: {
1266
+ squad_required: 'Squad slug is required. Use --squad=<slug>.',
1267
+ connectors_title: 'Built-in MCP Connectors:',
1268
+ actions: 'Actions',
1269
+ required_config: 'Required',
1270
+ no_integrations: 'No integrations configured for squad "{squad}".',
1271
+ missing_config: 'Missing config',
1272
+ calls: 'Calls',
1273
+ mcp_required: 'MCP slug is required. Use --mcp=<slug>.',
1274
+ connector_required: 'Connector ID is required. Use --connector=<id>.',
1275
+ unknown_connector: 'Unknown connector: {connector}. Use --sub=connectors to list available.',
1276
+ configured: 'Integration "{mcp}" configured with connector "{connector}" (status: {status}).',
1277
+ still_missing: 'Still missing env/config: {keys}',
1278
+ not_configured: 'Integration "{mcp}" is not configured.',
1279
+ test_missing: 'Integration "{mcp}" has missing config: {keys}',
1280
+ test_ok: 'Integration "{mcp}" ({connector}) config OK.',
1281
+ health_url: 'Health check URL: {url}',
1282
+ testing_connection: 'Testing connection...',
1283
+ health_ok: 'Connection OK (HTTP {statusCode})',
1284
+ health_error: 'Connection error: {error}',
1285
+ health_skipped: 'Health check not available for this connector',
1286
+ action_required: 'Action slug is required. Use --action=<slug>.',
1287
+ invalid_input: 'Invalid JSON. Provide valid JSON with --input.',
1288
+ unknown_sub: 'Unknown subcommand: {sub}. Use: status, connectors, configure, test, call.'
1289
+ },
1290
+
1291
+ squad_roi: {
1292
+ squad_required: 'Squad slug is required. Use --squad=<slug>.',
1293
+ config_saved: 'ROI config saved for squad "{squad}".',
1294
+ pricing_model: 'Pricing model',
1295
+ setup_fee: 'Setup fee',
1296
+ monthly_fee: 'Monthly fee',
1297
+ percentage: 'Percentage',
1298
+ contract: 'Contract',
1299
+ metric_required: 'Metric key and value are required. Use --key=<name> --value=<N>.',
1300
+ metric_saved: 'Metric "{key}" = {value} saved for squad "{squad}".',
1301
+ no_metrics: 'No metrics found for squad "{squad}".',
1302
+ report_title: 'ROI Report {squad}',
1303
+ baseline: 'Baseline',
1304
+ actual: 'Current',
1305
+ target: 'Target',
1306
+ period: 'Period',
1307
+ cost_section: 'Cost Summary:',
1308
+ monthly_cost: 'Monthly effective cost',
1309
+ exported: 'Report exported to {file} ({format}).',
1310
+ unknown_sub: 'Unknown subcommand: {sub}. Use: config, metric, report, export.'
1311
+ },
1312
+
1313
+ squad_worker: {
1314
+ squad_required: 'Squad slug is required. Use --squad=<slug>.',
1315
+ no_workers: 'No workers found for this squad.',
1316
+ run_usage: 'Usage: aioson squad:worker --sub=run --squad=<slug> --worker=<slug> [--input=<json>]',
1317
+ test_usage: 'Usage: aioson squad:worker --sub=test --squad=<slug> --worker=<slug>',
1318
+ scaffold_usage: 'Usage: aioson squad:worker --sub=scaffold --squad=<slug> --worker=<slug> [--trigger=manual|event|scheduled]',
1319
+ not_found: 'Worker not found: {worker}',
1320
+ invalid_input: 'Invalid JSON input. Provide valid JSON with --input.',
1321
+ run_success: 'Worker "{worker}" completed successfully.',
1322
+ run_failed: 'Worker "{worker}" failed: {error}',
1323
+ test_passed: 'Worker "{worker}" test passed.',
1324
+ test_failed: 'Worker "{worker}" test failed: {error}',
1325
+ scaffold_created: 'Worker "{worker}" scaffolded at {path}',
1326
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1327
+ no_logs: 'No worker runs found.',
1328
+ unknown_sub: 'Unknown subcommand: {sub}. Use: list, run, test, logs, scaffold.'
1329
+ },
1330
+
1331
+ squad_dashboard: {
1332
+ started: 'Squad Dashboard running at {url} (port {port})',
1333
+ filtered: 'Filtering to squad: {squad}',
1334
+ stop_hint: 'Press Ctrl+C to stop.',
1335
+ stopping: 'Stopping Squad Dashboard...',
1336
+ port_in_use: 'Port {port} is already in use. Try --port=<another>'
1337
+ },
1338
+
1339
+ implementation_plan: {
1340
+ not_found: 'Implementation plan not found: {file}',
1341
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1342
+ no_plans: 'No implementation plans registered.',
1343
+ no_created_date: 'Plan has no created date in frontmatter — cannot check staleness.',
1344
+ is_stale: 'Plan is STALE — source artifacts changed after plan was created.',
1345
+ is_fresh: 'Plan is up to date.',
1346
+ checkpoint_usage: 'Usage: aioson plan [path] --sub=checkpoint --feature=<slug> --phase=<N>',
1347
+ phase_completed: 'Phase {phase} marked as completed.',
1348
+ phase_not_found: 'Phase {phase} not found in plan.',
1349
+ registered: 'Implementation plan registered: {planId} ({phases} phases)'
1350
+ },
1351
+
1352
+ squad_plan: {
1353
+ slug_required: 'Squad slug is required.',
1354
+ not_found: 'Execution plan not found for squad: {slug}',
1355
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1356
+ no_plan: 'No execution plan registered for squad: {slug}',
1357
+ no_created_date: 'Plan has no created date in frontmatter — cannot check staleness.',
1358
+ is_stale: 'Execution plan is STALE — squad artifacts changed after plan was created.',
1359
+ is_fresh: 'Execution plan is up to date.',
1360
+ checkpoint_usage: 'Usage: aioson squad:plan [path] --sub=checkpoint --squad=<slug> --round=<N>',
1361
+ round_completed: 'Round {round} marked as completed.',
1362
+ round_not_found: 'Round {round} not found in plan.',
1363
+ registered: 'Execution plan registered: {planSlug} ({rounds} rounds)'
1364
+ },
1365
+
1366
+ squad_learning: {
1367
+ slug_required: 'Squad slug is required.',
1368
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1369
+ no_learnings: 'No learnings found for squad: {slug}',
1370
+ not_found: 'Learning not found: {id}',
1371
+ archived_count: '{count} learning(s) marked as stale for squad: {slug}',
1372
+ promote_usage: 'Usage: aioson squad:learning [path] --sub=promote --squad=<slug> --id=<learning-id> [--to=<rule-path>]',
1373
+ promoted: 'Learning {id} promoted to rule at {path}'
1374
+ },
1375
+
1376
+ learning: {
1377
+ no_runtime: 'Runtime store not found. Run aioson runtime:init first.',
1378
+ no_learnings: 'No project learnings found.',
1379
+ not_found: 'Learning not found: {id}',
1380
+ promote_usage: 'Usage: aioson learning [path] --sub=promote --id=<learning-id> [--to=<rule-path>]',
1381
+ promoted: 'Learning {id} promoted to rule at {path}'
1382
+ },
1383
+
1384
+ auth: {
1385
+ login_no_token: 'No token provided. Get yours at: {url}',
1386
+ login_hint: 'Run: aioson auth:login',
1387
+ login_hint_token: 'Or get a token manually at: {url}',
1388
+ login_verifying: 'Verifying token...',
1389
+ login_ok: '✓ Logged in as {username}. Token saved to {path}.',
1390
+ login_saved: '✓ Token saved to {path}. (Could not verify — API may be offline.)',
1391
+ logout_ok: 'Logged out. Token removed.',
1392
+ status_not_authenticated: 'Not authenticated.',
1393
+ status_checking: 'Checking token...',
1394
+ status_ok: 'Authenticated as {username}.',
1395
+ status_token_offline: 'Token saved (last known user: {username}). API offline or unreachable.',
1396
+ // Browser flow
1397
+ browser_opening: 'Opening browser...',
1398
+ browser_waiting: 'Waiting for browser authentication... (Ctrl+C to cancel)',
1399
+ browser_timeout: 'Timed out. Please try again.',
1400
+ browser_state_mismatch: 'Security check failed: invalid state.',
1401
+ browser_no_token: 'No token received from browser.',
1402
+ browser_failed: 'Browser login failed: {error}',
1403
+ browser_server_error: 'Failed to start local callback server',
1404
+ // Paste flow (WSL2, SSH, headless)
1405
+ paste_open_browser: 'Open the link below in your browser:',
1406
+ paste_instruction: 'After logging in, the page will show a token. Copy it and paste it here.',
1407
+ paste_token_prompt: 'Paste the token here:',
1408
+ paste_no_token: 'No token provided.',
1409
+ },
1410
+
1411
+ workspace: {
1412
+ registering: 'Registering workspace on aioson.com...',
1413
+ init_ok: 'Workspace "{slug}" linked.\n Local: {path}\n Online: {url}',
1414
+ already_linked: 'Workspace already linked: {slug}\n Online: {url}',
1415
+ not_linked: 'No workspace linked to this project.',
1416
+ init_hint: 'Run: aioson workspace:init',
1417
+ status_slug: 'Workspace: {slug}',
1418
+ status_id: 'ID: {id}',
1419
+ status_url: 'URL: {url}',
1420
+ status_created: 'Created: {date}',
1421
+ open_url: 'Open in browser: {url}'
1422
+ },
1423
+
1424
+ store: {
1425
+ error_not_authenticated: 'Not authenticated. Run: aioson auth:login',
1426
+ error_missing_slug: 'Missing --slug.',
1427
+ error_missing_code_or_slug: 'Provide a slug (--slug=X) or an install code.',
1428
+ error_invalid_response: 'Invalid response from aioson.com.',
1429
+ error_genome_not_found: 'Genome "{slug}" not found at {path}.',
1430
+ error_skill_not_found: 'Skill "{slug}" not found in .aioson/skills/ or .aioson/installed-skills/.',
1431
+ error_skill_missing_skillmd: 'Skill "{slug}" has no SKILL.md.',
1432
+ error_squad_not_found: 'Squad "{slug}" not found at {path}.',
1433
+
1434
+ publish_dry_run: '[dry-run] Would publish {type} "{slug}" (visibility: {visibility}).',
1435
+ publish_genome_validating: 'Validating genome...',
1436
+ publish_genome_sending: 'Sending to aioson.com...',
1437
+ publish_genome_done: 'Published: aioson.com/store/genomes/{slug}\n Install: aioson genome:install --slug={slug}',
1438
+ publish_skill_collecting: 'Collecting skill files...',
1439
+ publish_skill_files: ' Files: {count}',
1440
+ publish_skill_sending: 'Sending {count} file(s) to aioson.com...',
1441
+ publish_skill_done: 'Published: aioson.com/store/skills/{slug}\n Install: aioson skill:install --slug={slug}',
1442
+ publish_squad_analyzing_agents: 'Analyzing agents...',
1443
+ publish_squad_agents_found: ' Agents: {count}',
1444
+ publish_squad_analyzing_deps: 'Analyzing dependencies...',
1445
+ publish_squad_bundling_skill: ' Bundling skill: {slug}',
1446
+ publish_squad_skill_missing: ' Skill not found (skipped): {slug}',
1447
+ publish_squad_bundling_genome: ' Bundling genome: {slug}',
1448
+ publish_squad_genome_missing: ' Genome not found (skipped): {slug}',
1449
+ publish_squad_sending: 'Sending to aioson.com...',
1450
+ publish_squad_done: 'Published: aioson.com/store/squads/{slug}\n Install: aioson squad:install --slug={slug}',
1451
+ publish_squad_summary: ' Agents: {agents} | Skills bundled: {skills} | Genomes bundled: {genomes}',
1452
+
1453
+ install_genome_fetching: 'Fetching genome "{ref}" from aioson.com...',
1454
+ install_genome_done: 'Genome "{slug}" installed at {path}.',
1455
+ install_backing_up: ' Backup saved: {path}',
1456
+ install_skill_fetching: 'Fetching skill "{ref}" from aioson.com...',
1457
+ install_skill_done: 'Skill "{slug}" installed at {path}.',
1458
+ install_squad_fetching: 'Fetching squad "{ref}" from aioson.com...',
1459
+ install_squad_writing: 'Installing files...',
1460
+ install_squad_dep_skip: ' {type} "{slug}" already installed — skipping (use --force to replace).',
1461
+ install_squad_done: 'Squad "{slug}" installed at {path}.',
1462
+
1463
+ list_genome_empty: 'No genomes installed in this project.',
1464
+ list_genome_header: '{count} genome(s) installed:',
1465
+ list_genome_item: ' {slug}{version}',
1466
+ list_genome_item_v2: ' {folderMarker} {advisorMarker} {slug} {name} {track}{fidelity}{advisor}',
1467
+ list_genome_conflict_warn: '⚠️ {slug}: both folder and single-file formats exist; folder takes precedence (run "aioson genome:remove --slug={slug}" to clean up).',
1468
+ publish_genome_folder_collecting: 'Collecting genome folder files (Track 4.2/4.3 modular)...',
1469
+ publish_genome_folder_files: ' Files: {count}',
1470
+ publish_genome_folder_track: ' Track: {track} · Fidelity: {fidelity} · Advisor-ready: {advisor}',
1471
+ publish_genome_folder_sending: 'Sending {count} file(s) to aioson.com (folder format)...',
1472
+ publish_genome_conflict_warn: '⚠️ {slug}: both folder and single-file formats exist locally; folder takes precedence for publish.',
1473
+ install_backing_up_legacy: ' Legacy single-file conflict detected; backing up to: {path}',
1474
+ install_folder_exists: ' Existing folder at {path} will be overwritten (use --force to suppress this notice).',
1475
+ install_genome_folder_done: 'Genome "{slug}" installed at {path} ({count} files, folder format).',
1476
+ error_genome_missing_skillmd: 'Genome "{slug}" folder missing SKILL.md.',
1477
+ error_genome_missing_manifest: 'Genome "{slug}" folder missing manifest.json.',
1478
+ error_genome_invalid_manifest: 'Genome "{slug}" manifest.json is invalid: {detail}',
1479
+ remove_genome_done: 'Genome "{slug}" removed.',
1480
+ list_remote_fetching: 'Fetching {type} from aioson.com...',
1481
+ list_remote_empty: 'No {type} published yet.',
1482
+ list_remote_header: '{count} {type} published:',
1483
+ list_remote_item: ' {slug} [{visibility}] {name}',
1484
+ list_squad_empty: 'No squads in this project.',
1485
+ list_squad_header: '{count} squad(s):',
1486
+ list_squad_item: ' {slug} [{visibility}]',
1487
+
1488
+ grant_error_missing_code: 'Missing install code. Usage: aioson squad:grant <code> <email>',
1489
+ grant_error_missing_email: 'Missing email. Usage: aioson squad:grant <code> <email>',
1490
+ grant_sending: 'Granting access to {email} for code {code}...',
1491
+ grant_ok: '{email} can now install using code {code}.',
1492
+
1493
+ // Security scan — publish side
1494
+ publish_scanning: 'Running security scan...',
1495
+ publish_scan_ok: 'Security scan passed. Package hash: {hash}...',
1496
+ error_scan_failed: 'Publish blocked: security scan found errors. Fix them or contact support.',
1497
+ error_scan_warnings: 'Publish blocked: {count} suspicious pattern(s) detected. Review the warnings above. Use --force to override if you are sure the package is safe.',
1498
+
1499
+ // Security scan — install side
1500
+ install_scanning: 'Scanning package integrity...',
1501
+ error_install_scan_failed: 'Install blocked: package "{slug}" failed security scan. It may have been tampered with.',
1502
+ error_hash_mismatch: 'Install blocked: hash mismatch for "{slug}". The package may have been altered in transit.',
1503
+
1504
+ // Install preview
1505
+ install_preview_header: 'Package: {slug} v{version} by {publisher}',
1506
+ install_preview_trusted: ' Status: Trusted Publisher',
1507
+ install_preview_unverified: ' Status: Unverified publisher — review files before use',
1508
+ install_preview_downloads: ' Downloads: {count}',
1509
+ install_preview_rating: ' Rating: {rating}',
1510
+ install_preview_hash: ' Hash: {hash}...',
1511
+ install_inspect_files: 'Files in this package ({count} total):',
1512
+ install_inspect_hint: 'Run without --inspect to install.',
1513
+ install_unverified_hint: ' Tip: Run with --inspect to review files before installing, or --force to suppress this warning.'
1514
+ },
1515
+
1516
+ system: {
1517
+ error_no_manifest: 'system.json not found at {path}. Create a system.json in the root of your system project.',
1518
+ error_invalid_manifest: 'Invalid system.json — check that it is valid JSON.',
1519
+ error_manifest_missing_slug: 'system.json must include the "slug" field.',
1520
+ error_manifest_missing_version: 'system.json must include the "version" field.',
1521
+ error_manifest_missing_name: 'system.json must include the "name" field.',
1522
+ error_missing_package_json: 'package.json not found. A system must be a valid Node.js project.',
1523
+
1524
+ package_reading_manifest: 'Reading system.json...',
1525
+ package_manifest_ok: 'System: {name} ({slug} v{version})',
1526
+ package_collecting_files: 'Collecting source files...',
1527
+ package_files_found: ' {count} files ({kb} KB)',
1528
+ package_dry_run: '[dry-run] Would package {slug} v{version} — no files written.',
1529
+ package_saved: 'Package saved at: {path}',
1530
+
1531
+ publish_reading_manifest: 'Reading system.json...',
1532
+ publish_dry_run: '[dry-run] Would publish system "{slug}" v{version} (visibility: {visibility}).',
1533
+ publish_sending: 'Sending to aioson.com...',
1534
+ publish_done: 'Published: aioson.com/store/systems/{slug}\n Install in aioson-play using slug: {slug}',
1535
+ publish_summary: ' Files: {files} ({kb} KB)',
1536
+
1537
+ list_remote_empty: 'No systems published yet.',
1538
+ list_remote_header: '{count} system(s) published:',
1539
+ list_remote_item: ' {slug} v{version} [{visibility}] {name}',
1540
+ list_local_empty: 'No systems cached in this project.',
1541
+ list_local_header: '{count} system(s) cached:',
1542
+ list_local_item: ' {slug}',
1543
+
1544
+ install_fetching: 'Fetching system "{ref}" from aioson.com...',
1545
+ install_writing: 'Writing files...',
1546
+ install_done: 'System "{slug}" installed at {path}.'
1547
+ }
1548
+ };