@jaimevalasek/aioson 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +153 -10
  3. package/docs/en/cli-reference.md +56 -1
  4. package/docs/en/i18n.md +18 -18
  5. package/docs/en/schemas/index.json +10 -0
  6. package/docs/en/schemas/parallel-assign.schema.json +9 -0
  7. package/docs/en/schemas/parallel-doctor.schema.json +36 -0
  8. package/docs/en/schemas/parallel-guard.schema.json +63 -0
  9. package/docs/en/schemas/parallel-merge.schema.json +84 -0
  10. package/docs/en/schemas/parallel-status.schema.json +91 -1
  11. package/docs/integrations/apps-publish-marketplace.md +94 -0
  12. package/docs/pt/README.md +9 -0
  13. package/docs/pt/agentes.md +324 -3
  14. package/docs/pt/clientes-ai.md +7 -3
  15. package/docs/pt/comandos-cli.md +160 -13
  16. package/docs/pt/compress-agents.md +304 -0
  17. package/docs/pt/design-docs-governance.md +59 -0
  18. package/docs/pt/feature-archive.md +191 -0
  19. package/docs/pt/genome-3.0-spec.md +115 -4
  20. package/docs/pt/genome-distribution.md +232 -0
  21. package/docs/pt/inicio-rapido.md +1 -0
  22. package/docs/pt/motor-hardening.md +492 -0
  23. package/docs/pt/runner-system.md +113 -0
  24. package/package.json +2 -1
  25. package/src/agent-manifests.js +66 -0
  26. package/src/agents.js +27 -7
  27. package/src/autonomy-policy.js +139 -0
  28. package/src/brain-query.js +161 -0
  29. package/src/cli.js +1377 -1099
  30. package/src/commands/agents.js +102 -7
  31. package/src/commands/artifact-validate.js +33 -4
  32. package/src/commands/auth.js +272 -0
  33. package/src/commands/brain-query.js +44 -0
  34. package/src/commands/briefing.js +344 -0
  35. package/src/commands/commit-prepare.js +547 -0
  36. package/src/commands/compress-agents.js +416 -0
  37. package/src/commands/context-health.js +4 -2
  38. package/src/commands/context-trim.js +17 -11
  39. package/src/commands/design-hybrid-options.js +3 -3
  40. package/src/commands/devlog-process.js +6 -4
  41. package/src/commands/dossier.js +423 -0
  42. package/src/commands/feature-archive.js +513 -0
  43. package/src/commands/feature-close.js +123 -18
  44. package/src/commands/gate-approve.js +198 -0
  45. package/src/commands/gate-check.js +24 -5
  46. package/src/commands/genome-doctor.js +166 -9
  47. package/src/commands/git-guard.js +170 -0
  48. package/src/commands/harness.js +121 -0
  49. package/src/commands/implementation-plan.js +47 -20
  50. package/src/commands/init.js +6 -2
  51. package/src/commands/install.js +6 -2
  52. package/src/commands/live.js +497 -56
  53. package/src/commands/locale-apply.js +9 -6
  54. package/src/commands/locale-diff.js +11 -112
  55. package/src/commands/mcp-doctor.js +2 -1
  56. package/src/commands/mcp-init.js +4 -10
  57. package/src/commands/memory.js +234 -0
  58. package/src/commands/parallel-assign.js +107 -27
  59. package/src/commands/parallel-doctor.js +416 -3
  60. package/src/commands/parallel-guard.js +241 -0
  61. package/src/commands/parallel-init.js +66 -4
  62. package/src/commands/parallel-merge.js +299 -0
  63. package/src/commands/parallel-status.js +147 -3
  64. package/src/commands/preflight.js +63 -4
  65. package/src/commands/qa-init.js +10 -5
  66. package/src/commands/revision.js +235 -0
  67. package/src/commands/scaffold-complete.js +188 -0
  68. package/src/commands/security-audit.js +275 -0
  69. package/src/commands/security-scan.js +376 -0
  70. package/src/commands/self-implement-loop.js +46 -2
  71. package/src/commands/setup-context.js +11 -10
  72. package/src/commands/squad-agent-create.js +51 -9
  73. package/src/commands/squad-investigate.js +53 -0
  74. package/src/commands/squad-plan.js +33 -1
  75. package/src/commands/squad-scaffold.js +4 -3
  76. package/src/commands/squad-score.js +71 -14
  77. package/src/commands/squad-status.js +22 -1
  78. package/src/commands/squad-validate.js +93 -2
  79. package/src/commands/store-genome.js +304 -0
  80. package/src/commands/store-skill.js +247 -0
  81. package/src/commands/store-squad.js +431 -0
  82. package/src/commands/store-system.js +392 -0
  83. package/src/commands/tool-capabilities.js +63 -0
  84. package/src/commands/update.js +3 -3
  85. package/src/commands/verify-gate.js +40 -0
  86. package/src/commands/workflow-execute.js +644 -155
  87. package/src/commands/workflow-harden.js +231 -0
  88. package/src/commands/workflow-heal.js +136 -0
  89. package/src/commands/workflow-next.js +460 -22
  90. package/src/commands/workflow-status.js +328 -138
  91. package/src/commands/workspace.js +144 -0
  92. package/src/constants.js +55 -75
  93. package/src/context-memory.js +133 -4
  94. package/src/context-writer.js +2 -1
  95. package/src/context.js +32 -2
  96. package/src/doctor.js +46 -6
  97. package/src/dossier/codemap-store.js +267 -0
  98. package/src/dossier/dossier-bootstrap.js +222 -0
  99. package/src/dossier/dossier-compact.js +159 -0
  100. package/src/dossier/lock.js +128 -0
  101. package/src/dossier/revision-store.js +313 -0
  102. package/src/dossier/schema.js +155 -0
  103. package/src/dossier/store.js +400 -0
  104. package/src/execution-gateway.js +3 -0
  105. package/src/friction-scanner.js +202 -0
  106. package/src/genome-schema.js +24 -1
  107. package/src/genomes.js +33 -0
  108. package/src/handoff-contract.js +363 -0
  109. package/src/handoff-validator.js +45 -0
  110. package/src/harness/circuit-breaker.js +135 -0
  111. package/src/i18n/messages/en.js +317 -22
  112. package/src/i18n/messages/es.js +259 -18
  113. package/src/i18n/messages/fr.js +260 -18
  114. package/src/i18n/messages/pt-BR.js +313 -22
  115. package/src/install-profile.js +0 -16
  116. package/src/installer.js +70 -6
  117. package/src/lib/git-commit-guard.js +691 -0
  118. package/src/lib/security/artifact-reader.js +167 -0
  119. package/src/lib/security/exit-codes.js +51 -0
  120. package/src/lib/security/findings-writer.js +176 -0
  121. package/src/lib/security/runtime-events.js +77 -0
  122. package/src/lib/security/secrets-regex.js +115 -0
  123. package/src/lib/store/security-scan.js +173 -0
  124. package/src/lib/terminal-checkbox.js +130 -0
  125. package/src/lib/tmux-launcher.js +163 -0
  126. package/src/lib/tool-capabilities.js +102 -0
  127. package/src/locales.js +12 -8
  128. package/src/parallel-workspace.js +756 -0
  129. package/src/parser.js +8 -1
  130. package/src/path-guard.js +47 -0
  131. package/src/preflight-engine.js +237 -26
  132. package/src/self-healing.js +142 -0
  133. package/src/session-handoff.js +111 -1
  134. package/src/squad/squad-scaffold.js +183 -19
  135. package/src/test-briefing.js +226 -0
  136. package/src/updater.js +1 -1
  137. package/src/utils.js +3 -0
  138. package/src/workflow-gates.js +185 -0
  139. package/template/.aioson/agents/analyst.md +76 -130
  140. package/template/.aioson/agents/architect.md +53 -86
  141. package/template/.aioson/agents/committer.md +161 -0
  142. package/template/.aioson/agents/copywriter.md +463 -0
  143. package/template/.aioson/agents/cypher.md +252 -0
  144. package/template/.aioson/agents/dev.md +112 -600
  145. package/template/.aioson/agents/deyvin.md +33 -235
  146. package/template/.aioson/agents/discover.md +235 -0
  147. package/template/.aioson/agents/discovery-design-doc.md +17 -252
  148. package/template/.aioson/agents/genome.md +76 -26
  149. package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
  150. package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
  151. package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
  152. package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
  153. package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
  154. package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
  155. package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
  156. package/template/.aioson/agents/manifests/product.manifest.json +23 -0
  157. package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
  158. package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
  159. package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
  160. package/template/.aioson/agents/neo.md +10 -8
  161. package/template/.aioson/agents/orache.md +2 -6
  162. package/template/.aioson/agents/orchestrator.md +81 -182
  163. package/template/.aioson/agents/pentester.md +235 -0
  164. package/template/.aioson/agents/pm.md +40 -104
  165. package/template/.aioson/agents/product.md +99 -344
  166. package/template/.aioson/agents/profiler-enricher.md +57 -6
  167. package/template/.aioson/agents/profiler-forge.md +17 -7
  168. package/template/.aioson/agents/profiler-researcher.md +29 -6
  169. package/template/.aioson/agents/qa.md +165 -410
  170. package/template/.aioson/agents/setup.md +52 -262
  171. package/template/.aioson/agents/sheldon.md +122 -754
  172. package/template/.aioson/agents/site-forge.md +111 -1583
  173. package/template/.aioson/agents/squad.md +139 -1820
  174. package/template/.aioson/agents/tester.md +10 -0
  175. package/template/.aioson/agents/ux-ui.md +103 -645
  176. package/template/.aioson/agents/validator.md +69 -0
  177. package/template/.aioson/brains/scripts/query.js +5 -1
  178. package/template/.aioson/config/autonomy-protocol.json +43 -0
  179. package/template/.aioson/config.md +43 -15
  180. package/template/.aioson/constitution.md +36 -33
  181. package/template/.aioson/context/design-doc.md +136 -0
  182. package/template/.aioson/context/project-map.md +57 -0
  183. package/template/.aioson/design-docs/code-reuse.md +48 -0
  184. package/template/.aioson/design-docs/componentization.md +47 -0
  185. package/template/.aioson/design-docs/file-size.md +52 -0
  186. package/template/.aioson/design-docs/folder-structure.md +51 -0
  187. package/template/.aioson/design-docs/naming.md +54 -0
  188. package/template/.aioson/docs/LAYERS.md +12 -2
  189. package/template/.aioson/docs/dev/execution-discipline.md +106 -0
  190. package/template/.aioson/docs/dev/stack-conventions.md +83 -0
  191. package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
  192. package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
  193. package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
  194. package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
  195. package/template/.aioson/docs/product/conversation-playbook.md +116 -0
  196. package/template/.aioson/docs/product/prd-contract.md +107 -0
  197. package/template/.aioson/docs/product/quality-lens.md +57 -0
  198. package/template/.aioson/docs/product/research-loop.md +65 -0
  199. package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
  200. package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
  201. package/template/.aioson/docs/sheldon/research-loop.md +56 -0
  202. package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
  203. package/template/.aioson/docs/site-forge-build.md +195 -0
  204. package/template/.aioson/docs/site-forge-extraction.md +135 -0
  205. package/template/.aioson/docs/site-forge-qa.md +155 -0
  206. package/template/.aioson/docs/site-forge-recon.md +434 -0
  207. package/template/.aioson/docs/site-forge-transform.md +249 -0
  208. package/template/.aioson/docs/squad/content-output.md +91 -0
  209. package/template/.aioson/docs/squad/creation-flow.md +135 -0
  210. package/template/.aioson/docs/squad/domain-classification.md +117 -0
  211. package/template/.aioson/docs/squad/genome-bindings.md +47 -0
  212. package/template/.aioson/docs/squad/package-contract.md +234 -0
  213. package/template/.aioson/docs/squad/quality-lens.md +56 -0
  214. package/template/.aioson/docs/squad/research-loop.md +59 -0
  215. package/template/.aioson/docs/squad/session-operations.md +117 -0
  216. package/template/.aioson/docs/squad/workflow-quality.md +165 -0
  217. package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
  218. package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
  219. package/template/.aioson/docs/ux-ui/component-map.md +35 -0
  220. package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
  221. package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
  222. package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
  223. package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
  224. package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
  225. package/template/.aioson/genomes/copywriting.md +204 -0
  226. package/template/.aioson/genomes/copywriting.meta.json +48 -0
  227. package/template/.aioson/git-guard.json +11 -0
  228. package/template/.aioson/mcp/servers.md +0 -1
  229. package/template/.aioson/rules/agent-language-policy.md +93 -0
  230. package/template/.aioson/rules/aioson-context-boundary.md +63 -0
  231. package/template/.aioson/rules/canonical-path-contract.md +47 -0
  232. package/template/.aioson/rules/data-format-convention.md +24 -86
  233. package/template/.aioson/rules/disk-first-artifacts.md +44 -0
  234. package/template/.aioson/rules/output-brevity.md +44 -0
  235. package/template/.aioson/rules/prd-section-ownership.md +49 -0
  236. package/template/.aioson/rules/security-baseline.md +139 -0
  237. package/template/.aioson/rules/spec-level-ownership.md +61 -0
  238. package/template/.aioson/rules/squad-driver-pattern.md +81 -0
  239. package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
  240. package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
  241. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
  242. package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
  243. package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
  244. package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
  245. package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
  246. package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
  247. package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
  248. package/template/.aioson/skills/marketing/references/patterns.md +218 -0
  249. package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
  250. package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
  251. package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
  252. package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
  253. package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
  254. package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
  255. package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
  256. package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
  257. package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
  258. package/template/.aioson/skills/static/landing-page-forge.md +730 -0
  259. package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
  260. package/template/.aioson/skills/static/web-research-cache.md +3 -0
  261. package/template/.aioson/tasks/squad-create.md +56 -7
  262. package/template/.aioson/tasks/squad-design.md +80 -2
  263. package/template/.aioson/tasks/squad-investigate.md +14 -1
  264. package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
  265. package/template/.claude/commands/aioson/agent/committer.md +5 -0
  266. package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
  267. package/template/.claude/commands/aioson/agent/cypher.md +5 -0
  268. package/template/.claude/commands/aioson/agent/pair.md +5 -0
  269. package/template/.claude/commands/aioson/agent/validator.md +5 -0
  270. package/template/.gemini/commands/aios-analyst.toml +6 -3
  271. package/template/.gemini/commands/aios-architect.toml +7 -6
  272. package/template/.gemini/commands/aios-committer.toml +7 -0
  273. package/template/.gemini/commands/aios-copywriter.toml +7 -0
  274. package/template/.gemini/commands/aios-cypher.toml +7 -0
  275. package/template/.gemini/commands/aios-dev.toml +8 -7
  276. package/template/.gemini/commands/aios-deyvin.toml +6 -5
  277. package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
  278. package/template/.gemini/commands/aios-genome.toml +7 -0
  279. package/template/.gemini/commands/aios-neo.toml +5 -3
  280. package/template/.gemini/commands/aios-orache.toml +7 -0
  281. package/template/.gemini/commands/aios-orchestrator.toml +8 -7
  282. package/template/.gemini/commands/aios-pair.toml +6 -5
  283. package/template/.gemini/commands/aios-pm.toml +8 -7
  284. package/template/.gemini/commands/aios-product.toml +5 -3
  285. package/template/.gemini/commands/aios-qa.toml +6 -5
  286. package/template/.gemini/commands/aios-setup.toml +5 -2
  287. package/template/.gemini/commands/aios-sheldon.toml +7 -0
  288. package/template/.gemini/commands/aios-site-forge.toml +7 -0
  289. package/template/.gemini/commands/aios-squad.toml +7 -0
  290. package/template/.gemini/commands/aios-tester.toml +6 -5
  291. package/template/.gemini/commands/aios-ux-ui.toml +8 -7
  292. package/template/.gemini/commands/aios-validator.toml +7 -0
  293. package/template/AGENTS.md +12 -1
  294. package/template/CLAUDE.md +6 -1
  295. package/template/.aioson/locales/en/agents/analyst.md +0 -244
  296. package/template/.aioson/locales/en/agents/architect.md +0 -245
  297. package/template/.aioson/locales/en/agents/dev.md +0 -397
  298. package/template/.aioson/locales/en/agents/deyvin.md +0 -137
  299. package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
  300. package/template/.aioson/locales/en/agents/genome.md +0 -212
  301. package/template/.aioson/locales/en/agents/neo.md +0 -8
  302. package/template/.aioson/locales/en/agents/orache.md +0 -6
  303. package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
  304. package/template/.aioson/locales/en/agents/pair.md +0 -5
  305. package/template/.aioson/locales/en/agents/pm.md +0 -84
  306. package/template/.aioson/locales/en/agents/product.md +0 -378
  307. package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
  308. package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
  309. package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
  310. package/template/.aioson/locales/en/agents/qa.md +0 -270
  311. package/template/.aioson/locales/en/agents/setup.md +0 -421
  312. package/template/.aioson/locales/en/agents/sheldon.md +0 -455
  313. package/template/.aioson/locales/en/agents/squad.md +0 -449
  314. package/template/.aioson/locales/en/agents/tester.md +0 -6
  315. package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
  316. package/template/.aioson/locales/es/agents/analyst.md +0 -225
  317. package/template/.aioson/locales/es/agents/architect.md +0 -245
  318. package/template/.aioson/locales/es/agents/dev.md +0 -370
  319. package/template/.aioson/locales/es/agents/deyvin.md +0 -99
  320. package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
  321. package/template/.aioson/locales/es/agents/genome.md +0 -104
  322. package/template/.aioson/locales/es/agents/neo.md +0 -50
  323. package/template/.aioson/locales/es/agents/orache.md +0 -105
  324. package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
  325. package/template/.aioson/locales/es/agents/pair.md +0 -7
  326. package/template/.aioson/locales/es/agents/pm.md +0 -90
  327. package/template/.aioson/locales/es/agents/product.md +0 -372
  328. package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
  329. package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
  330. package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
  331. package/template/.aioson/locales/es/agents/qa.md +0 -198
  332. package/template/.aioson/locales/es/agents/setup.md +0 -405
  333. package/template/.aioson/locales/es/agents/sheldon.md +0 -309
  334. package/template/.aioson/locales/es/agents/squad.md +0 -532
  335. package/template/.aioson/locales/es/agents/tester.md +0 -9
  336. package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
  337. package/template/.aioson/locales/fr/agents/analyst.md +0 -225
  338. package/template/.aioson/locales/fr/agents/architect.md +0 -245
  339. package/template/.aioson/locales/fr/agents/dev.md +0 -370
  340. package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
  341. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
  342. package/template/.aioson/locales/fr/agents/genome.md +0 -104
  343. package/template/.aioson/locales/fr/agents/neo.md +0 -50
  344. package/template/.aioson/locales/fr/agents/orache.md +0 -106
  345. package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
  346. package/template/.aioson/locales/fr/agents/pair.md +0 -7
  347. package/template/.aioson/locales/fr/agents/pm.md +0 -90
  348. package/template/.aioson/locales/fr/agents/product.md +0 -372
  349. package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
  350. package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
  351. package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
  352. package/template/.aioson/locales/fr/agents/qa.md +0 -198
  353. package/template/.aioson/locales/fr/agents/setup.md +0 -405
  354. package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
  355. package/template/.aioson/locales/fr/agents/squad.md +0 -532
  356. package/template/.aioson/locales/fr/agents/tester.md +0 -9
  357. package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
  358. package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
  359. package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
  360. package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
  361. package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
  362. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
  363. package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
  364. package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
  365. package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
  366. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
  367. package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
  368. package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
  369. package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
  370. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
  371. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
  372. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
  373. package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
  374. package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
  375. package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
  376. package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
  377. package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
  378. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
  379. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  380. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  381. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  382. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  383. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
@@ -0,0 +1,185 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * workflow-gates — technical compilation/test gates enforced by the workflow engine.
5
+ *
6
+ * Blocks broken handoffs from @dev → @qa when code does not compile or tests fail.
7
+ * Auto-detects stack and runs the minimal appropriate verification commands.
8
+ */
9
+
10
+ const path = require('node:path');
11
+ const { execSync } = require('node:child_process');
12
+ const { readFileSafe, fileExists } = require('./preflight-engine');
13
+
14
+ const MAX_OUTPUT_LINES = 60;
15
+
16
+ async function detectStack(targetDir) {
17
+ const checks = [];
18
+
19
+ // TypeScript
20
+ if (await fileExists(path.join(targetDir, 'tsconfig.json'))) {
21
+ checks.push({ id: 'tsc', name: 'TypeScript compilation', command: 'npx tsc --noEmit', files: ['tsconfig.json'] });
22
+ }
23
+
24
+ // Rust
25
+ if (await fileExists(path.join(targetDir, 'Cargo.toml'))) {
26
+ checks.push({ id: 'cargo-check', name: 'Rust compilation', command: 'cargo check', files: ['Cargo.toml'] });
27
+ checks.push({ id: 'cargo-test', name: 'Rust tests', command: 'cargo test', files: ['Cargo.toml'], optional: true });
28
+ }
29
+
30
+ // Node.js / package.json based
31
+ const pkgPath = path.join(targetDir, 'package.json');
32
+ if (await fileExists(pkgPath)) {
33
+ const pkgRaw = await readFileSafe(pkgPath);
34
+ let pkg = null;
35
+ try { pkg = JSON.parse(pkgRaw); } catch { /* ignore */ }
36
+
37
+ if (pkg && pkg.scripts) {
38
+ // Prefer test scripts that look comprehensive
39
+ if (pkg.scripts.test) {
40
+ const script = pkg.scripts.test;
41
+ if (!script.includes('echo')) {
42
+ checks.push({ id: 'npm-test', name: 'npm test', command: 'npm test', files: ['package.json'], optional: true });
43
+ }
44
+ }
45
+ if (pkg.scripts['test:unit']) {
46
+ checks.push({ id: 'npm-test-unit', name: 'npm test:unit', command: 'npm run test:unit', files: ['package.json'], optional: true });
47
+ }
48
+ if (pkg.scripts['test:ci']) {
49
+ checks.push({ id: 'npm-test-ci', name: 'npm test:ci', command: 'npm run test:ci', files: ['package.json'], optional: true });
50
+ }
51
+ if (pkg.scripts.lint) {
52
+ checks.push({ id: 'npm-lint', name: 'npm lint', command: 'npm run lint', files: ['package.json'], optional: true });
53
+ }
54
+ }
55
+ }
56
+
57
+ // Python
58
+ if (await fileExists(path.join(targetDir, 'pytest.ini')) || await fileExists(path.join(targetDir, 'pyproject.toml'))) {
59
+ checks.push({ id: 'pytest', name: 'Pytest', command: 'pytest', files: ['pytest.ini', 'pyproject.toml'], optional: true });
60
+ }
61
+
62
+ return checks;
63
+ }
64
+
65
+ function truncateOutput(stdout, stderr) {
66
+ const combined = [stdout, stderr].filter(Boolean).join('\n').trim();
67
+ if (!combined) return '';
68
+ const lines = combined.split('\n');
69
+ if (lines.length <= MAX_OUTPUT_LINES) return combined;
70
+ return lines.slice(0, MAX_OUTPUT_LINES).join('\n') + '\n... (truncated)';
71
+ }
72
+
73
+ function runCheck(targetDir, check) {
74
+ try {
75
+ const stdout = execSync(check.command, {
76
+ cwd: targetDir,
77
+ encoding: 'utf8',
78
+ maxBuffer: 4 * 1024 * 1024,
79
+ timeout: 300000, // 5 minutes
80
+ stdio: ['ignore', 'pipe', 'pipe']
81
+ });
82
+ return {
83
+ ok: true,
84
+ check: check.id,
85
+ name: check.name,
86
+ command: check.command,
87
+ output: truncateOutput(stdout, '')
88
+ };
89
+ } catch (err) {
90
+ return {
91
+ ok: false,
92
+ check: check.id,
93
+ name: check.name,
94
+ command: check.command,
95
+ output: truncateOutput(err.stdout || '', err.stderr || '')
96
+ };
97
+ }
98
+ }
99
+
100
+ async function runTechnicalGate(targetDir, stage, options = {}) {
101
+ // Only enforce gates after dev (compilation) and before qa (tests).
102
+ // If the caller explicitly passes --force, skip technical checks.
103
+ if (options.force) {
104
+ return { ok: true, stage, forced: true, results: [] };
105
+ }
106
+
107
+ const checks = await detectStack(targetDir);
108
+ if (checks.length === 0) {
109
+ return { ok: true, stage, results: [], reason: 'No detectable stack — skipping technical gate.' };
110
+ }
111
+
112
+ let relevantChecks = [];
113
+ if (stage === 'dev') {
114
+ // After dev: enforce compilation gates (non-optional)
115
+ // Also run optional test gates, but do not block on them unless strict mode
116
+ relevantChecks = checks.map((c) => ({
117
+ ...c,
118
+ blocking: !c.optional
119
+ }));
120
+ } else if (stage === 'qa') {
121
+ // Before qa: enforce tests if available
122
+ relevantChecks = checks.map((c) => ({
123
+ ...c,
124
+ blocking: c.optional === false || !c.optional
125
+ }));
126
+ } else {
127
+ return { ok: true, stage, results: [], reason: 'No technical gate for this stage.' };
128
+ }
129
+
130
+ const results = [];
131
+ let blocked = false;
132
+ let blockReasons = [];
133
+
134
+ for (const check of relevantChecks) {
135
+ const result = runCheck(targetDir, check);
136
+ results.push(result);
137
+ if (!result.ok && check.blocking) {
138
+ blocked = true;
139
+ blockReasons.push(`${check.name} failed`);
140
+ }
141
+ }
142
+
143
+ if (blocked) {
144
+ return {
145
+ ok: false,
146
+ stage,
147
+ blocked: true,
148
+ reasons: blockReasons,
149
+ results
150
+ };
151
+ }
152
+
153
+ return {
154
+ ok: true,
155
+ stage,
156
+ results
157
+ };
158
+ }
159
+
160
+ function formatGateError(gateResult) {
161
+ const lines = [
162
+ '[Technical Gate BLOCKED]',
163
+ `Stage: @${gateResult.stage}`,
164
+ 'Reasons:',
165
+ ...gateResult.reasons.map((r) => ` - ${r}`),
166
+ '',
167
+ 'Fix the errors above before completing this stage.',
168
+ 'Use --force to override (not recommended).',
169
+ '',
170
+ '=== Command output ==='
171
+ ];
172
+ for (const r of gateResult.results) {
173
+ if (!r.ok) {
174
+ lines.push(`\n[$${r.name}] $${r.command}`);
175
+ lines.push(r.output || '(no output)');
176
+ }
177
+ }
178
+ return lines.join('\n');
179
+ }
180
+
181
+ module.exports = {
182
+ detectStack,
183
+ runTechnicalGate,
184
+ formatGateError
185
+ };
@@ -1,23 +1,62 @@
1
1
  # Agent @analyst
2
2
 
3
- > **ACTIVATED** You are now operating as @analyst. Execute the instructions in this file immediately.
3
+ > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
+
5
+ ## Project rules, docs & design governance
6
+
7
+ These directories are optional. Check them silently — if absent or empty, continue without mentioning them.
8
+
9
+ 1. `.aioson/rules/` — if `.md` files exist, read YAML frontmatter:
10
+ - if `agents:` is absent or `[]` → load the rule
11
+ - if `agents:` includes `analyst` → load the rule
12
+ - otherwise skip it
13
+ 2. `.aioson/docs/` — load only docs whose `description` is relevant to the current analysis task, or that are referenced by a loaded rule.
14
+ 3. `.aioson/context/design-doc*.md` — load when `scope`, `description`, or `agents:` matches the current feature or analysis task.
15
+ 4. `.aioson/design-docs/*.md` — load only when requirements imply module boundaries, file creation, naming, reuse, or componentization. Treat loaded governance docs as structural constraints for downstream agents.
16
+
17
+ Loaded rules and governance override the default conventions in this file.
4
18
 
5
19
  ## Mission
6
20
  Discover requirements deeply and produce implementation-ready artifacts. For new projects: `discovery.md`. For new features: `requirements-{slug}.md` + `spec-{slug}.md`.
7
21
 
8
- ## Project rules, docs & design docs
22
+ ## Bootstrap context
23
+
24
+ If `.aioson/context/bootstrap/` exists, read these files before starting discovery:
25
+ - `.aioson/context/bootstrap/what-is.md` — system identity and users
26
+ - `.aioson/context/bootstrap/what-it-does.md` — features, business rules, constraints
27
+
28
+ Use this semantic knowledge to avoid re-discovering domain basics that are already documented.
29
+
30
+ ## Tool-first session preflight
31
+
32
+ Before any manual checks, run these commands if the `aioson` CLI is available:
33
+
34
+ ```bash
35
+ aioson workflow:status . # confirm current stage and what is expected
36
+ aioson context:validate . # validate project.context.md; detects brownfield state
37
+ ```
38
+
39
+ For feature mode with existing requirements, run before the synchronization gate:
40
+ ```bash
41
+ aioson plan:stale . --feature={slug} # STALE → enter sync mode; OK → check if rediscovery is needed
42
+ ```
43
+
44
+ Trust CLI output over manual date comparisons. Skip prompt-based context reconstruction when a command already confirms the state.
45
+
46
+ ## Synchronization gate
47
+
48
+ Before starting feature discovery, check whether `requirements-{slug}.md` already exists.
9
49
 
10
- These directories are **optional**. Check silentlyif a directory is absent or empty, move on without mentioning it.
50
+ If the CLI is available, run `aioson plan:stale . --feature={slug}` — a STALE result means at least one source artifact is newer than the current requirements file, and you must enter sync mode without comparing dates manually.
11
51
 
12
- 1. **`.aioson/rules/`** If `.md` files exist, read each file's YAML frontmatter:
13
- - If `agents:` is absent load (universal rule).
14
- - If `agents:` includes `analyst` load. Otherwise skip.
15
- - Loaded rules **override** the default conventions in this file.
16
- 2. **`.aioson/docs/`** If files exist, load only those whose `description` frontmatter is relevant to the current task, or that are explicitly referenced by a loaded rule.
17
- 3. **`.aioson/context/design-doc*.md`** If `design-doc.md` or `design-doc-{slug}.md` files exist, read each file's YAML frontmatter:
18
- - If `agents:` is absent load when the `scope` or `description` matches the current task.
19
- - If `agents:` includes `analyst` load. Otherwise skip.
20
- - Design docs provide architectural decisions, technical flows, and implementation guidance — use them as constraints, not suggestions.
52
+ If the CLI is not available, compare modification dates manually:
53
+ - Compare `requirements-{slug}.md` modification date with `prd-{slug}.md`.
54
+ - If `.aioson/plans/{slug}/manifest.md` exists, compare against that too.
55
+ - If either source is newer than the current requirements file, enter **requirements sync mode**:
56
+ - identify what changed upstream
57
+ - update the requirements to match the newer source
58
+ - tell the user you are synchronizing requirements instead of rediscovering from scratch
59
+ - Never ignore newer changes from `@product` or a Sheldon phased plan.
21
60
 
22
61
  ## Mode detection
23
62
 
@@ -34,39 +73,39 @@ Check the following before doing anything else:
34
73
  - Run the full 3-phase project discovery below.
35
74
  - Output: `discovery.md`.
36
75
 
76
+ ## Feature dossier
77
+
78
+ Before loading per-slug PRD/spec, check `.aioson/context/features/{slug}/dossier.md`. If present, read it FIRST — it consolidates Why/What and the code map for the active feature, and is the canonical entry point for chained agent context. If absent, continue with the standard required input below without warning (legacy flow stays intact).
79
+
37
80
  ## Required input
38
81
  - `.aioson/context/project.context.md` (always)
39
82
  - `.aioson/context/prd-{slug}.md` (feature mode)
40
83
  - `.aioson/context/design-doc.md` + `readiness.md` (if present)
41
84
  - `.aioson/context/discovery.md` + `spec.md` (feature mode — project context, if present)
42
- - `.aioson/plans/{slug}/manifest.md` (if present — Sheldon phased plans; check subdirectories of `.aioson/plans/`)
43
85
 
44
86
  ## Sheldon enrichment context (RDA-01)
45
87
 
46
- If `.aioson/context/sheldon-enrichment.md` (or `sheldon-enrichment-{slug}.md`) exists at session start:
88
+ If `.aioson/context/sheldon-enrichment.md` exists at session start:
47
89
  - Read it silently — do not display its contents to the user
48
90
  - Use the gaps identified and pre-made decisions as additional context for discovery
49
91
  - Do not re-ask questions that are already documented in the enrichment log
50
92
  - If `plan_path` is set in the frontmatter: read the manifest at that path and scope discovery to Phase 1 first
51
93
 
52
- ## Context loading policy
53
-
54
- **Sempre carregar:**
55
- - `.aioson/context/project.context.md`
56
- - `prd*.md` ou `prd-{slug}.md` relevante
57
- - `sheldon-enrichment-{slug}.md` (se existir)
94
+ ## Briefing validation context (RDA-02)
58
95
 
59
- **Carregar se relevante ao scope:**
60
- - `architecture.md` (brownfield apenas)
61
- - skills do domínio atual
96
+ Run after Sheldon enrichment context check. Check the frontmatter of the PRD being analyzed (`prd-{slug}.md`).
62
97
 
63
- **Nunca carregar:**
64
- - Arquivos de implementação (src/, routes/, etc.)
65
- - Specs de features não relacionadas
66
-
67
- ## Disk-first principle
68
-
69
- Escreva `discovery.md` ou `requirements-{slug}.md` no disco antes de retornar qualquer resposta ao usuário. Se a sessão cair no meio do trabalho, os artefatos escritos são recuperáveis — análises apenas na conversa são perdidas. Para cada fase significativa: execute, escreva o artefato, então responda.
98
+ - **If `briefing_source` is absent or null:** do nothing. Do not mention briefings. Continue normally.
99
+ - **If `briefing_source: {slug}` is present:**
100
+ - Read `.aioson/briefings/{slug}/briefings.md` before starting discovery.
101
+ - Compare the original intent in the briefing (`## Problem`, `## Proposed solution`, `## Themes`) with the PRD received.
102
+ - If coherent: note silently and proceed with requirement mapping.
103
+ - If divergences detected: report them as a **non-blocking warning** before starting requirement mapping:
104
+ > "⚠ Divergence detected between the original briefing and the PRD:
105
+ > - [divergence 1]
106
+ > - [divergence 2]
107
+ > Proceeding with requirement mapping. Consider reviewing the PRD with @product if these gaps are significant."
108
+ - This check never blocks — analyst always continues regardless of divergence.
70
109
 
71
110
  ## Context integrity
72
111
 
@@ -111,10 +150,6 @@ Stop here only when neither `discovery.md` nor local scan artifacts exist. Do no
111
150
 
112
151
  > **Rule:** whenever `discovery.md` is present, always read `spec.md` alongside it — never one without the other.
113
152
 
114
- ## Web research cache
115
-
116
- Before running any web search, load `.aioson/skills/static/web-research-cache.md` and follow the protocol: check `researchs/{slug}/summary.md` first (7-day cache), search only if missing or stale, save results after every search. Use this when validating technology choices, integration options, or domain patterns found during discovery.
117
-
118
153
  ## Skills and docs on demand
119
154
 
120
155
  Before deepening discovery:
@@ -123,8 +158,8 @@ Before deepening discovery:
123
158
  - use `readiness.md` to avoid unnecessary rediscovery
124
159
  - load only the docs that actually matter for this batch
125
160
  - consult local skills only when they improve domain mapping or flow clarity
126
- - check `.aioson/installed-skills/` for any installed skill relevant to the current discovery scope load `SKILL.md` of matching skills, then load per-agent references only if they reduce ambiguity for the current phase
127
- - if `aioson-spec-driven` exists in `.aioson/installed-skills/aioson-spec-driven/SKILL.md` OR in `.aioson/skills/process/aioson-spec-driven/SKILL.md`, load it when starting feature discovery or project discovery then load `references/analyst.md` from that skill
161
+ - check `.aioson/installed-skills/` for installed skills relevant to the current scope and load only the needed `SKILL.md` files
162
+ - if `aioson-spec-driven` exists in `.aioson/installed-skills/aioson-spec-driven/SKILL.md` or `.aioson/skills/process/aioson-spec-driven/SKILL.md`, load it before project or feature discovery and then load `references/analyst.md`
128
163
 
129
164
  Do not inflate context without need.
130
165
 
@@ -198,7 +233,7 @@ Focus questions on:
198
233
  - Data that must be migrated or seeded
199
234
 
200
235
  ### Phase B — Feature entity design
201
- For each new or modified entity, produce field-level detail (same format as Phase 3 of full discovery). Map relationships to existing entities from `discovery.md`. Define migration order for new tables only.
236
+ For each new or modified entity, produce field-level detail (same format as Phase 3). Map relationships to existing entities from `discovery.md`. Define migration order for new tables only.
202
237
 
203
238
  ### Output contract — feature mode
204
239
 
@@ -209,15 +244,8 @@ For each new or modified entity, produce field-level detail (same format as Phas
209
244
  4. Relationships (with existing entities from discovery.md)
210
245
  5. Migration additions (ordered)
211
246
  6. Business rules
212
- - Use format: `REQ-{slug}-{N}` for each rule (e.g., `REQ-checkout-01`)
213
- - Each rule must state: condition + expected behavior + who can trigger it
214
- 7. Acceptance criteria
215
- - Use format: `AC-{slug}-{N}` (e.g., `AC-checkout-01`)
216
- - Each AC must be independently verifiable by QA without implementation knowledge
217
- 8. Edge cases and failure modes
218
- - Cover: invalid input, empty states, concurrent operations, external service failure
219
- 9. Out of scope for this feature
220
- - Be explicit — list what was deliberately excluded and why
247
+ 7. Edge cases
248
+ 8. Out of scope for this feature
221
249
 
222
250
  **`spec-{slug}.md`** — feature memory skeleton (will be enriched by @dev):
223
251
 
@@ -226,13 +254,6 @@ For each new or modified entity, produce field-level detail (same format as Phas
226
254
  feature: {slug}
227
255
  status: in_progress
228
256
  started: {ISO-date}
229
- spec_version: 1
230
- phase_gates:
231
- requirements: approved # approved | pending | needs_work
232
- design: pending # approved | pending | skipped (MICRO/SMALL sem @architect)
233
- plan: pending # approved | pending | skipped (MICRO sem implementation-plan)
234
- last_checkpoint: null # filled by @dev after each completed phase
235
- pending_review: [] # items that need human review before next phase
236
257
  ---
237
258
 
238
259
  # Spec — {Feature Name}
@@ -257,51 +278,7 @@ pending_review: [] # items that need human review before next phase
257
278
  [Anything @dev or @qa should know before touching this feature]
258
279
  ```
259
280
 
260
- After producing both files, use `AskUserQuestion` with `multiSelect: true` to confirm which requirements are approved:
261
-
262
- ```
263
- AskUserQuestion:
264
- question: "Quais requirements estão aprovados para prosseguir?"
265
- multiSelect: true
266
- options:
267
- - label: "REQ-{slug}-01: [título]"
268
- - label: "REQ-{slug}-02: [título]"
269
- - label: "Todos aprovados"
270
- ```
271
-
272
- ### Conformance contract (MEDIUM only)
273
-
274
- If classification is MEDIUM, also generate `.aioson/context/conformance-{slug}.yaml` — a YAML file that structures each AC into machine-readable format:
275
-
276
- ```yaml
277
- # Conformance Contract — {feature}
278
- # Generated by: @analyst
279
- # Verified by: @qa
280
-
281
- feature: {slug}
282
- spec_version: 1
283
- generated_at: {ISO-date}
284
-
285
- acceptance_criteria:
286
- - id: AC-{slug}-01
287
- description: "..."
288
- type: behavior # behavior | data | security | performance
289
- preconditions:
290
- - "..."
291
- action: "..."
292
- expected:
293
- - "..."
294
- negative_cases:
295
- - input: "..."
296
- expected: "..."
297
- ```
298
-
299
- Rules:
300
- - Only for MEDIUM classification — do not generate for MICRO or SMALL
301
- - @qa uses it as a structured verification checklist
302
- - @dev uses it to understand exact expected behavior for test writing
303
-
304
- Then tell the user: "Feature spec ready. Activate **@dev** to implement — it will read `prd-{slug}.md`, `requirements-{slug}.md`, and `spec-{slug}.md`."
281
+ After producing both files, tell the user: "Feature spec ready. Activate **@dev** to implement it will read `prd-{slug}.md`, `requirements-{slug}.md`, and `spec-{slug}.md`."
305
282
 
306
283
  ## MICRO shortcut
307
284
  If classification is MICRO (score 0–1) or the user describes a clearly single-entity project with no integrations, adapt the process:
@@ -318,9 +295,6 @@ The `@analyst` owns all technical and structural content: requirements, entities
318
295
  Copy, interface text, onboarding messages, and marketing content are not within `@analyst` scope.
319
296
 
320
297
  ## Output contract
321
-
322
- > **CRITICAL — FILE WRITE RULE:** Every artifact listed below MUST be written to disk using the Write tool before this agent session ends. Generating content as chat text is NOT sufficient. Always write the file, then confirm it was saved with: `✅ discovery.md written — @architect can proceed.`
323
-
324
298
  Generate `.aioson/context/discovery.md` with the following sections:
325
299
 
326
300
  1. **What we are building** — 2–3 objective lines
@@ -336,37 +310,9 @@ Generate `.aioson/context/discovery.md` with the following sections:
336
310
  11. **Risks identified** — what could become a problem during development
337
311
  12. **Out of scope** — explicitly excluded from the MVP
338
312
 
339
- > **`.aioson/context/` rule:** this folder accepts only `.md` files. Never write `.html`, `.css`, `.js`, or any other non-markdown file inside `.aioson/`.
340
-
341
313
  ## Hard constraints
342
- - Use `conversation_language` from project context for all interaction and output.
314
+ - Use `interaction_language` (fallback: `conversation_language`) from project context for all interaction and output.
343
315
  - Keep output actionable for `@architect` (project mode) or `@dev` (feature mode) without requiring re-discovery.
344
316
  - Do not finalize any output file with missing or assumed fields.
345
317
  - In feature mode: never duplicate content already in `discovery.md` — only document what is new or changed.
346
318
  - If `readiness.md` already says the context is sufficiently clear, do not reopen broad discovery without a good reason.
347
- - At session end, before registering, update the project pulse via CLI: `aioson pulse:update . --agent=analyst --feature={slug} --gate="Gate A: approved" --action="<discovery summary>" --next="<next agent recommendation>" 2>/dev/null || true`. If `aioson` CLI is not available, update `.aioson/context/project-pulse.md` manually.
348
- - At session end, after writing the discovery file, register the session: `aioson agent:done . --agent=analyst --summary="<one-line summary of discovery produced>" 2>/dev/null || true`
349
- - If `aioson` CLI is not available, write a devlog at session end following the "Devlog" section in `.aioson/config.md`.
350
-
351
- ---
352
- ## ▶ Próximo passo
353
- **[@architect ou @dev]** — [SMALL/MEDIUM: @architect para decisões técnicas | MICRO: @dev direto]
354
- Ative: `/architect` ou `/dev`
355
- > Recomendado: `/clear` antes — janela de contexto fresca
356
-
357
- Também disponível: `/sheldon` (enriquecimento adicional), `/qa` (revisão dos requisitos)
358
- ---
359
-
360
- ## Continuation Protocol
361
-
362
- Before ending your response, always append:
363
-
364
- ---
365
- ## Next Up
366
- - Domain modeled: [scope]
367
- - Next step: `@architect` (technical decisions) or `@product` (PRD refinement) or `/sheldon` (enrichment)
368
- - `/clear` → fresh context window before continuing
369
-
370
- **Session artifacts written:**
371
- - [ ] [list each file created or modified]
372
- ---