@jaimevalasek/aioson 1.5.1 → 1.7.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 (341) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +729 -226
  3. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  4. package/docs/design-previews/aurora-command-ui.html +682 -0
  5. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  6. package/docs/design-previews/bold-editorial-ui.html +717 -0
  7. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  8. package/docs/design-previews/clean-saas-ui.html +549 -0
  9. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  10. package/docs/design-previews/cognitive-core-ui.html +463 -0
  11. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  12. package/docs/design-previews/glassmorphism-ui.html +886 -0
  13. package/docs/design-previews/index.html +699 -0
  14. package/docs/design-previews/interface-design-website.html +1187 -0
  15. package/docs/design-previews/interface-design.html +513 -0
  16. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  17. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  18. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  19. package/docs/design-previews/premium-command-center-ui.html +552 -0
  20. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  21. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  22. package/docs/design-previews/warm-craft-ui.html +739 -0
  23. package/docs/en/cli-reference.md +20 -9
  24. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  25. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  26. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  27. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  28. package/docs/pt/README.md +10 -0
  29. package/docs/pt/agent-sharding.md +132 -0
  30. package/docs/pt/agentes.md +9 -2
  31. package/docs/pt/busca-de-contexto.md +129 -0
  32. package/docs/pt/cache-de-contexto.md +156 -0
  33. package/docs/pt/comandos-cli.md +915 -1
  34. package/docs/pt/design-hybrid-forge.md +356 -0
  35. package/docs/pt/devlog-pipeline.md +270 -0
  36. package/docs/pt/fluxo-artefatos.md +178 -0
  37. package/docs/pt/hooks-session-guard.md +454 -0
  38. package/docs/pt/inicio-rapido.md +54 -3
  39. package/docs/pt/inteligencia-adaptativa.md +324 -0
  40. package/docs/pt/monitor-de-contexto.md +158 -0
  41. package/docs/pt/recuperacao-de-sessao.md +125 -0
  42. package/docs/pt/sandbox.md +125 -0
  43. package/docs/pt/sdd-automation-scripts.md +557 -0
  44. package/docs/pt/site-forge.md +309 -0
  45. package/docs/pt/skills.md +98 -6
  46. package/docs/pt/spec-learnings-pipeline.md +265 -0
  47. package/package.json +1 -1
  48. package/src/a2a/client.js +165 -0
  49. package/src/a2a/server.js +223 -0
  50. package/src/agent-loader.js +280 -0
  51. package/src/cli.js +329 -1
  52. package/src/commands/agent-audit.js +397 -0
  53. package/src/commands/agent-export-skill.js +229 -0
  54. package/src/commands/agent-loader.js +85 -0
  55. package/src/commands/artifact-validate.js +189 -0
  56. package/src/commands/brief-gen.js +405 -0
  57. package/src/commands/brief-validate.js +65 -0
  58. package/src/commands/classify.js +256 -0
  59. package/src/commands/context-cache.js +90 -0
  60. package/src/commands/context-compact.js +49 -0
  61. package/src/commands/context-health.js +175 -0
  62. package/src/commands/context-monitor.js +163 -0
  63. package/src/commands/context-search.js +66 -0
  64. package/src/commands/context-trim.js +177 -0
  65. package/src/commands/design-hybrid-options.js +385 -0
  66. package/src/commands/detect-test-runner.js +55 -0
  67. package/src/commands/devlog-export-brains.js +27 -0
  68. package/src/commands/devlog-process.js +292 -0
  69. package/src/commands/devlog-watch.js +131 -0
  70. package/src/commands/feature-close.js +165 -0
  71. package/src/commands/gate-check.js +228 -0
  72. package/src/commands/health.js +214 -0
  73. package/src/commands/hooks-emit.js +253 -0
  74. package/src/commands/hooks-install.js +347 -0
  75. package/src/commands/init.js +54 -13
  76. package/src/commands/install.js +52 -13
  77. package/src/commands/learning-auto-promote.js +195 -0
  78. package/src/commands/learning-evolve.js +364 -0
  79. package/src/commands/learning-export.js +103 -0
  80. package/src/commands/learning-rollback.js +164 -0
  81. package/src/commands/live.js +59 -1
  82. package/src/commands/pattern-detect.js +33 -0
  83. package/src/commands/preflight-context.js +30 -0
  84. package/src/commands/preflight.js +208 -0
  85. package/src/commands/pulse-update.js +130 -0
  86. package/src/commands/recovery.js +43 -0
  87. package/src/commands/runner-daemon.js +274 -0
  88. package/src/commands/runner-plan.js +70 -0
  89. package/src/commands/runner-queue-from-plan.js +166 -0
  90. package/src/commands/runner-queue.js +189 -0
  91. package/src/commands/runner-run.js +129 -0
  92. package/src/commands/runtime.js +47 -1
  93. package/src/commands/sandbox.js +37 -0
  94. package/src/commands/self-implement-loop.js +256 -0
  95. package/src/commands/session-guard.js +218 -0
  96. package/src/commands/setup-context.js +22 -2
  97. package/src/commands/setup.js +178 -0
  98. package/src/commands/sizing.js +165 -0
  99. package/src/commands/skill.js +144 -32
  100. package/src/commands/spec-checkpoint.js +177 -0
  101. package/src/commands/spec-status.js +79 -0
  102. package/src/commands/spec-sync.js +190 -0
  103. package/src/commands/spec-tasks.js +288 -0
  104. package/src/commands/squad-autorun.js +1220 -0
  105. package/src/commands/squad-bus.js +217 -0
  106. package/src/commands/squad-card.js +149 -0
  107. package/src/commands/squad-daemon.js +134 -0
  108. package/src/commands/squad-dependency-graph.js +164 -0
  109. package/src/commands/squad-review.js +106 -0
  110. package/src/commands/squad-scaffold.js +55 -0
  111. package/src/commands/squad-tool-register.js +157 -0
  112. package/src/commands/state-save.js +122 -0
  113. package/src/commands/tool-registry-cmd.js +232 -0
  114. package/src/commands/update.js +9 -0
  115. package/src/commands/verify-gate.js +572 -0
  116. package/src/commands/workflow-execute.js +241 -0
  117. package/src/constants.js +18 -0
  118. package/src/context-cache.js +159 -0
  119. package/src/context-search.js +326 -0
  120. package/src/design-variation-catalog.js +503 -0
  121. package/src/i18n/messages/en.js +32 -2
  122. package/src/i18n/messages/es.js +30 -2
  123. package/src/i18n/messages/fr.js +30 -2
  124. package/src/i18n/messages/pt-BR.js +32 -2
  125. package/src/install-animation.js +260 -0
  126. package/src/install-profile.js +143 -0
  127. package/src/install-wizard.js +475 -0
  128. package/src/installer.js +44 -10
  129. package/src/lib/health-check.js +158 -0
  130. package/src/lib/hook-protocol.js +76 -0
  131. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  132. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  133. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  134. package/src/mcp/resources/squad-state.js +130 -0
  135. package/src/parser.js +7 -1
  136. package/src/preflight-engine.js +443 -0
  137. package/src/recovery-context-session.js +154 -0
  138. package/src/runner/cascade.js +97 -0
  139. package/src/runner/cli-launcher.js +109 -0
  140. package/src/runner/plan-importer.js +63 -0
  141. package/src/runner/queue-store.js +159 -0
  142. package/src/runtime-store.js +158 -4
  143. package/src/sandbox.js +177 -0
  144. package/src/squad/agent-teams-adapter.js +264 -0
  145. package/src/squad/brief-validator.js +350 -0
  146. package/src/squad/bus-bridge.js +140 -0
  147. package/src/squad/context-compactor.js +265 -0
  148. package/src/squad/cross-ai-synthesizer.js +250 -0
  149. package/src/squad/hooks-generator.js +196 -0
  150. package/src/squad/inter-squad-events.js +175 -0
  151. package/src/squad/intra-bus.js +345 -0
  152. package/src/squad/learning-extractor.js +213 -0
  153. package/src/squad/pattern-detector.js +365 -0
  154. package/src/squad/preflight-context.js +296 -0
  155. package/src/squad/recovery-context.js +242 -71
  156. package/src/squad/reflection.js +365 -0
  157. package/src/squad/squad-scaffold.js +177 -0
  158. package/src/squad/state-manager.js +310 -0
  159. package/src/squad/task-decomposer.js +652 -0
  160. package/src/squad/verify-gate.js +303 -0
  161. package/src/tool-executor.js +94 -0
  162. package/src/updater.js +10 -3
  163. package/src/worker-runner.js +186 -1
  164. package/template/.aioson/agents/analyst.md +119 -3
  165. package/template/.aioson/agents/architect.md +98 -0
  166. package/template/.aioson/agents/design-hybrid-forge.md +141 -0
  167. package/template/.aioson/agents/dev.md +335 -14
  168. package/template/.aioson/agents/deyvin.md +117 -2
  169. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  170. package/template/.aioson/agents/genome.md +14 -0
  171. package/template/.aioson/agents/neo.md +78 -1
  172. package/template/.aioson/agents/orache.md +50 -4
  173. package/template/.aioson/agents/orchestrator.md +197 -1
  174. package/template/.aioson/agents/pm.md +93 -0
  175. package/template/.aioson/agents/product.md +77 -4
  176. package/template/.aioson/agents/profiler-enricher.md +14 -0
  177. package/template/.aioson/agents/profiler-forge.md +14 -0
  178. package/template/.aioson/agents/profiler-researcher.md +14 -0
  179. package/template/.aioson/agents/qa.md +249 -19
  180. package/template/.aioson/agents/setup.md +144 -12
  181. package/template/.aioson/agents/sheldon.md +237 -11
  182. package/template/.aioson/agents/site-forge.md +1753 -0
  183. package/template/.aioson/agents/squad.md +162 -0
  184. package/template/.aioson/agents/tester.md +209 -0
  185. package/template/.aioson/agents/ux-ui.md +34 -1
  186. package/template/.aioson/brains/README.md +128 -0
  187. package/template/.aioson/brains/_index.json +16 -0
  188. package/template/.aioson/brains/scripts/query.js +103 -0
  189. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  190. package/template/.aioson/config.md +158 -13
  191. package/template/.aioson/constitution.md +33 -0
  192. package/template/.aioson/context/forensics/.gitkeep +0 -0
  193. package/template/.aioson/context/project-pulse.md +34 -0
  194. package/template/.aioson/context/seeds/seed-example.md +27 -0
  195. package/template/.aioson/context/user-profile.md +42 -0
  196. package/template/.aioson/docs/LAYERS.md +79 -0
  197. package/template/.aioson/docs/README.md +76 -0
  198. package/template/.aioson/docs/example-external-api-context.md +72 -0
  199. package/template/.aioson/locales/en/agents/architect.md +17 -0
  200. package/template/.aioson/locales/en/agents/dev.md +79 -13
  201. package/template/.aioson/locales/en/agents/orache.md +6 -0
  202. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  203. package/template/.aioson/locales/en/agents/product.md +50 -0
  204. package/template/.aioson/locales/en/agents/setup.md +33 -1
  205. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  206. package/template/.aioson/locales/en/agents/squad.md +14 -0
  207. package/template/.aioson/locales/en/agents/tester.md +6 -0
  208. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  209. package/template/.aioson/locales/es/agents/architect.md +19 -0
  210. package/template/.aioson/locales/es/agents/dev.md +64 -4
  211. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  212. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  213. package/template/.aioson/locales/es/agents/genome.md +2 -0
  214. package/template/.aioson/locales/es/agents/neo.md +2 -0
  215. package/template/.aioson/locales/es/agents/orache.md +2 -0
  216. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  217. package/template/.aioson/locales/es/agents/pair.md +2 -0
  218. package/template/.aioson/locales/es/agents/pm.md +2 -0
  219. package/template/.aioson/locales/es/agents/product.md +52 -0
  220. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  221. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  222. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  223. package/template/.aioson/locales/es/agents/qa.md +2 -0
  224. package/template/.aioson/locales/es/agents/setup.md +35 -1
  225. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  226. package/template/.aioson/locales/es/agents/squad.md +16 -0
  227. package/template/.aioson/locales/es/agents/tester.md +9 -0
  228. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  229. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  230. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  231. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  232. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  233. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  234. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  235. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  236. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  237. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  238. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  239. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  240. package/template/.aioson/locales/fr/agents/product.md +52 -0
  241. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  242. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  243. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  244. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  245. package/template/.aioson/locales/fr/agents/setup.md +35 -1
  246. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  247. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  248. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  249. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  250. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  251. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  252. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  253. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  254. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  255. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  256. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  257. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  258. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  259. package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
  260. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  261. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  262. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  263. package/template/.aioson/rules/README.md +69 -0
  264. package/template/.aioson/rules/data-format-convention.md +136 -0
  265. package/template/.aioson/rules/example-monetary-values.md +30 -0
  266. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  267. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  268. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  269. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  270. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  271. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  272. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  273. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  274. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  275. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  276. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  277. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  278. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  279. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  280. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  281. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  282. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  283. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  284. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  285. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  286. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  287. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  288. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  289. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  290. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  291. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  292. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  293. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  294. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  295. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  296. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  297. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  298. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
  299. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  300. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  301. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  302. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  303. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  304. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  305. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  306. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  307. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
  308. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  309. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  310. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  311. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  312. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
  313. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  314. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  315. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
  316. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
  317. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
  318. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  319. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  320. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  321. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  322. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  323. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  324. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  325. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  326. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  327. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  328. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  329. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  330. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  331. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  332. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  333. package/template/.aioson/tasks/implementation-plan.md +21 -1
  334. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  335. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  336. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  337. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  338. package/template/AGENTS.md +75 -1
  339. package/template/CLAUDE.md +31 -0
  340. package/template/OPENCODE.md +4 -0
  341. package/template/researchs/.gitkeep +0 -0
@@ -104,6 +104,8 @@
104
104
  | `squad:roi` | Define modelo de precificação e registra métricas de resultado | Quando quer calcular e reportar ROI da squad |
105
105
  | `squad:processes` | Lista e encerra processos ativos de uma squad | Quando quer inspecionar ou parar agentes sem usar o dashboard |
106
106
  | `squad:recovery` | Gera contexto de recovery para reinjecting após compact | Quando um agente perdeu contexto após compactação |
107
+ | `squad:bus` | Posta, lê, monitora e resume mensagens do intra-bus de uma sessão de squad | Quando quer inspecionar a comunicação entre executores ou postar um finding/block manualmente. Veja [Squad Bus](#37-intra-bus-de-squad) |
108
+ | `squad:autorun` | Decompõe um objetivo em tarefas, executa em grupos paralelos com reflection e registra no bus | Quando quer que uma squad execute autonomamente a partir de um goal de alto nível. Veja [Squad Autorun](#38-execuçao-autonoma-de-squad-squadautorun) |
107
109
  | `output-strategy:export` | Exporta a estratégia de output (webhooks, delivery) de uma squad | Quando quer copiar configuração para outra squad ou documentar |
108
110
  | `output-strategy:import` | Importa estratégia de output de um arquivo ou outra squad | Quando quer replicar webhooks/delivery entre squads |
109
111
  | `deliver` | Dispara delivery manual de conteúdo para webhooks configurados | Quando quer reenviar conteúdo ou testar webhooks |
@@ -128,12 +130,13 @@
128
130
  | `runtime:session:finish` | Encerra a sessao direta ativa | Quando terminou a sessao ou vai fazer handoff |
129
131
  | `runtime:session:status` | Mostra o estado da sessao direta e os ultimos eventos | Quando quer saber se a sessao ainda esta aberta ou acompanhar com `--watch` |
130
132
  | `live:start` | Abre uma sessao viva rastreada para Codex, Claude, Gemini ou OpenCode | Quando quer iniciar o cliente externo a partir do AIOSON e manter status, agente ativo e logs no dashboard |
131
- | `runtime:emit` | Registra eventos compactos da sessao viva atual | Quando quer marcar tarefa concluida, milestone, block ou step de plano sem abrir uma sessao paralela |
133
+ | `runtime:emit` | Registra eventos compactos da sessão viva atual; aceita `--worker-status`, `--verdict`, `--token-count`, `--progress-pct` | Quando quer marcar tarefa concluída, milestone, block ou step de plano sem abrir uma sessão paralela |
132
134
  | `live:status` | Mostra o estado da sessao viva e do processo filho | Quando quer acompanhar `active_agent`, progresso do plano e se o cliente ainda esta vivo |
133
135
  | `live:handoff` | Transfere a mesma sessao viva para outro agente AIOSON | Quando o agente atual precisa passar a continuidade para `@product`, `@architect`, `@dev` ou outro agente |
134
136
  | `live:close` | Fecha a sessao viva e gera `summary.md` | Quando terminou a sessao externa e quer consolidar o historico compacto + verbose |
135
137
  | `runtime:backup` | Faz backup incremental do SQLite para S3 ou HTTP do cliente | Quando quer persistir dados de runtime na nuvem do cliente |
136
138
  | `runtime:restore` | Restaura dados de runtime a partir de um backup remoto | Quando quer recuperar dados em outra máquina ou após perda |
139
+ | `agent:done` | Registra conclusão de sessão de agente; aceita `--verdict`, `--artifacts` (CSV de paths) e `--plan-step` | Ao final de cada sessão de agente — é o comando que fecha a run e popula artifacts + verdict no SQLite |
137
140
  | `runtime:prune` | Remove registros antigos do SQLite de runtime | Quando o banco está grande e quer liberar espaço |
138
141
 
139
142
  ### Skills
@@ -143,6 +146,7 @@
143
146
  | `skill:install` | Instala skill de terceiros via npm, cloud ou path local | Quando quer adicionar capacidade ao projeto. Veja [Skills](./skills.md) |
144
147
  | `skill:list` | Lista skills instaladas em `.aioson/installed-skills/` | Quando quer saber quais skills estão ativas |
145
148
  | `skill:remove` | Remove skill instalada e limpa diretórios de ferramentas | Quando uma skill não é mais necessária |
149
+ | `design-hybrid:options` | Abre um seletor visual com setas + espaço para montar um preset temporário de variações de design | Quando quer alimentar a `design-hybrid-forge` com direções mais extravagantes, clássicas, animadas ou com CSS avançado. Usa o locale do projeto automaticamente e aceita `--locale` como override; com `--advanced` libera um 3º modificador. Veja [design-hybrid-forge](./design-hybrid-forge.md) |
146
150
 
147
151
  ### Cloud
148
152
 
@@ -153,6 +157,81 @@
153
157
  | `cloud:publish:squad` | Publica snapshot de uma squad local | Quando quer distribuir uma squad para outro projeto ou catálogo |
154
158
  | `cloud:publish:genome` | Publica snapshot de um genome local | Quando quer versionar e compartilhar um genome |
155
159
 
160
+ ### Contexto e recuperação de sessão
161
+
162
+ | Comando | O que faz | Quando usar |
163
+ |---|---|---|
164
+ | `recovery:generate` | Gera `.aioson/context/recovery-context.md` com objetivo, agente, arquivos modificados e commits recentes | Antes de encerrar uma sessão longa ou ao detectar compactação iminente. Veja [Recuperação de Sessão](./recuperacao-de-sessao.md) |
165
+ | `recovery:show` | Exibe o conteúdo do arquivo de recovery da sessão atual | Quando quer re-injetar o contexto no início de uma nova sessão |
166
+ | `context:health` | Analisa `.aioson/context/`, estima tokens por arquivo, sinaliza arquivos pesados e specs de features já concluídas | Antes de iniciar qualquer sessão longa — dá visibilidade do custo de contexto |
167
+ | `context:trim` | Detecta specs stale (feature `done`) e seções muito longas, arquiva com `--force` | Quando o contexto está crescendo ou há specs de features já entregues |
168
+ | `context:monitor` | Exibe barras ASCII com uso de contexto por agente de uma squad; aceita `--budget` + `--tokens` para modo de budget de projeto | Quando quer acompanhar em tempo real o contexto de uma squad ou checar se está perto do limite. Veja [Monitor de Contexto](./monitor-de-contexto.md) |
169
+ | `context:search:index` | Indexa arquivos `.md`, `.txt` e `.json` do projeto em banco FTS5 | Antes de usar `context:search` — normalmente uma vez, depois incrementalmente. Veja [Busca de Contexto](./busca-de-contexto.md) |
170
+ | `context:search` | Busca documentos relevantes no índice por query em linguagem natural | Quando quer encontrar quais arquivos do projeto contêm contexto relevante para uma tarefa |
171
+ | `context:cache` | Lista sessões de contexto em cache (mais recentes primeiro) | Quando quer saber quais snapshots de sessão estão disponíveis para restaurar. Veja [Cache de Contexto](./cache-de-contexto.md) |
172
+ | `context:cache:save` | Salva um snapshot de conteúdo em `~/.aioson/temp/` | Quando quer preservar o estado de uma sessão antes de trocar de branch ou agente |
173
+ | `context:cache:restore` | Restaura o conteúdo de uma sessão salva, com filtro opcional por query | Quando quer recuperar contexto de uma sessão anterior |
174
+ | `context:cache:cleanup` | Remove sessões expiradas do cache (padrão: mais de 24h) | Quando quer liberar espaço ou forçar limpeza antes do prazo |
175
+
176
+ ### SDD Automation (Regra dos 80%)
177
+
178
+ Scripts determinísticos que movem verificações de estado, validação de artefatos e gate checks para fora do contexto LLM, economizando entre 4.800–8.800 tokens por feature. Veja [SDD Automation Scripts](./sdd-automation-scripts.md).
179
+
180
+ | Comando | O que faz | Quando usar |
181
+ |---|---|---|
182
+ | `preflight` | Coleta modo, classificação, framework, test runner, artefatos, gates e prontidão em uma chamada | No início de qualquer sessão de agente |
183
+ | `classify` | Detecta classificação MICRO/SMALL/MEDIUM por scoring automático do PRD ou entrada interativa | Antes de decidir o fluxo de agentes |
184
+ | `sizing` | Determina modelo de sizing: `inplace`, `phased_inplace` ou `phased_external` | Quando o `@architect` ou `@analyst` precisa decidir a estrutura de entrega |
185
+ | `detect:test-runner` | Detecta PHPUnit, Jest, Vitest, Pytest, RSpec, Forge e node:test via arquivos de config | Quando `@dev` ou `@tester` precisa saber como rodar os testes |
186
+ | `pulse:update` | Atualiza `project-pulse.md` com agente, feature, gate e próximo passo | Ao final de cada sessão de agente |
187
+ | `state:save` | Salva ponto de continuação em `dev-state.md` (fase, status, spec-version, histórico) | Durante `@dev` ao fim de cada fase ou antes de encerrar |
188
+ | `feature:close` | Fecha feature com verdict PASS/FAIL: atualiza spec, features.md e project-pulse.md | Após QA sign-off |
189
+ | `gate:check` | Valida pré-requisitos e artefatos de um phase gate (A/B/C/D); retorna PASS ou BLOCKED | Antes de avançar para o próximo agente |
190
+ | `artifact:validate` | Verifica a cadeia completa de artefatos de uma feature (PRD → spec → plano → conformance) | A qualquer momento para checar completude |
191
+ | `workflow:execute` | Monta e executa o plano de agentes baseado na classificação; aceita `--dry-run` e `--start-from` | Para orquestrar features sem o dashboard |
192
+ | `runner:queue:from-plan` | Extrai fases `## Phase N:` do plano e enfileira no runner com prioridades | Antes de iniciar execução por fase com o runner |
193
+ | `learning:auto-promote` | Promove aprendizados de alta frequência para arquivos de regra em `.aioson/rules/` | Após várias sessões — quando quer solidificar padrões em regras |
194
+
195
+ ### Spec e learnings
196
+
197
+ | Comando | O que faz | Quando usar |
198
+ |---|---|---|
199
+ | `spec:sync` | Lê todos os `spec*.md` de `.aioson/context/` e sincroniza learnings + phase gates para o SQLite | Após cada sessão de `@dev` — garante que learnings e progresso de fase aparecem no dashboard |
200
+ | `spec:status` | Exibe tabela de features com fase atual, último agente e último checkpoint | Quando quer saber exatamente onde cada feature está sem abrir os arquivos manualmente |
201
+ | `spec:checkpoint` | Lê `last_checkpoint` do spec e registra no SQLite como ponto de recuperação explícito | Quando uma sessão caiu sem `agent:done` e o dashboard não reflete o estado real |
202
+ | `learning:export` | Exporta `project_learnings` do SQLite para `.aioson/brains/` como nodes Zettelkasten | Quando quer promover learnings acumulados para memória procedural do projeto |
203
+
204
+ ### Devlog pipeline
205
+
206
+ | Comando | O que faz | Quando usar |
207
+ |---|---|---|
208
+ | `devlog:process` | Processa devlogs de `aioson-logs/devlog-*.md` e sincroniza artifacts, decisions, learnings e verdict com o SQLite | Quando o CLI não estava disponível durante a sessão e o agente escreveu devlog manual |
209
+ | `devlog:watch` | Daemon que observa `aioson-logs/` e processa novos devlogs automaticamente (WSL2: polling de 5s) | Quando quer processamento zero-touch durante sessões longas |
210
+ | `devlog:export-brains` | Exporta learnings de alta frequência dos devlogs para `.aioson/brains/` (min-frequency=2 por padrão) | Após `devlog:process` — etapa final do pipeline devlog → brains |
211
+
212
+ ### Execução segura
213
+
214
+ | Comando | O que faz | Quando usar |
215
+ |---|---|---|
216
+ | `sandbox:exec` | Executa um comando shell com timeout, redação automática de secrets e summarização de output longo | Quando quer rodar scripts dentro de uma sessão de agente sem expor variáveis sensíveis do ambiente. Veja [Sandbox de Execução](./sandbox.md) |
217
+
218
+ ### Sharding de agente
219
+
220
+ | Comando | O que faz | Quando usar |
221
+ |---|---|---|
222
+ | `agent:shard:index` | Divide arquivos de instrução de agente em shards por heading e indexa via FTS5 | Após adicionar ou atualizar arquivos de agente. Veja [Agent Sharding](./agent-sharding.md) |
223
+ | `agent:load` | Carrega os shards mais relevantes de um agente para um objetivo dado, dentro de orçamento de tokens | Quando quer enviar ao LLM apenas as seções do agente necessárias para a tarefa atual |
224
+
225
+ ### Auditoria, briefs e verificação
226
+
227
+ Três comandos de inteligência de sistema para otimizar tokens, gerar contexto autocontido e verificar entregas sem viés de conversa.
228
+
229
+ | Comando | O que faz | Quando usar |
230
+ |---|---|---|
231
+ | `agent:audit` | Audita tamanho e tokens de todos os arquivos de agente; detecta seções candidatas a on-demand loading e calcula economia potencial por sessão | Quando quer entender o custo de contexto dos agentes e identificar o que pode ser movido para `.aioson/docs/` (carregamento sob demanda). Veja [Auditoria de Agentes](#39-auditar-agentes-agentaudit) |
232
+ | `brief:gen` | Lê uma fase do plano de implementação + `architecture.md` + `spec.md` e gera um brief 100% autocontido para um worker | Antes de entregar uma fase a um executor de squad — garante que o worker tem tudo que precisa sem buscar contexto adicional. Veja [Geração de Brief](#40-gerar-brief-de-worker-briefgen) |
233
+ | `verify:gate` | Verificação de olhos frescos: compara spec vs artefato entregue sem histórico de conversa; emite `PASS`, `PASS_WITH_NOTES`, `FAIL_WITH_ISSUES` ou `BLOCKED` | Após cada entrega de fase — detecta bugs que o agente gerador não consegue ver por viés de contexto. Veja [Verify Gate](#41-verificar-entrega-verifygate) |
234
+
156
235
  ---
157
236
 
158
237
  ## Exemplos e usos práticos
@@ -706,6 +785,841 @@ Use quando você quer:
706
785
 
707
786
  Veja [Output Strategy e Delivery](../output-strategy-delivery.md) para guia completo sobre webhooks, payloads, env vars e troubleshooting.
708
787
 
788
+ ### 28. Verificar saúde do contexto antes de uma sessão
789
+
790
+ ```bash
791
+ aioson context:health .
792
+ ```
793
+
794
+ Saída esperada:
795
+
796
+ ```
797
+ Context Health Report — meu-projeto
798
+ ────────────────────────────────────────────────────────
799
+ Files Size Tokens (est.)
800
+ ────────────────────────────────────────────────────────
801
+ discovery.md 28.3KB ~7,075 ⚠ HEAVY
802
+ architecture.md 18.1KB ~4,525
803
+ spec-checkout.md 12.0KB ~3,000
804
+ spec-auth.md 8.2KB ~2,050
805
+ project.context.md 3.9KB ~975
806
+ ────────────────────────────────────────────────────────
807
+ Total context load: ~17,625 tokens
808
+
809
+ ⚠ discovery.md is heavy (28.3KB). Consider:
810
+ → Run: aioson context:pack . --scope=checkout
811
+
812
+ ⚠ 1 stale spec file(s) (features: done):
813
+ → spec-auth.md (feature: auth is done)
814
+ Run: aioson context:trim . to archive them
815
+ ```
816
+
817
+ Use **antes de começar uma sessão longa** — se `Total context load` estiver acima de 15.000 tokens, considere arquivar specs stale ou criar um contexto escopado.
818
+
819
+ ### 29. Arquivar specs de features já entregues
820
+
821
+ ```bash
822
+ # Ver o que seria arquivado (sem mover nada)
823
+ aioson context:trim . --dry-run
824
+
825
+ # Arquivar de verdade
826
+ aioson context:trim . --force
827
+ ```
828
+
829
+ Os arquivos são movidos para `.aioson/context/archive/` — nunca deletados. Para restaurar:
830
+
831
+ ```bash
832
+ mv .aioson/context/archive/spec-auth.md .aioson/context/spec-auth.md
833
+ ```
834
+
835
+ ### 30. Monitorar budget de tokens durante uma sessão
836
+
837
+ ```bash
838
+ # Verificar se está no safe zone (< 60%), warning (60–80%) ou critical (≥ 80%)
839
+ aioson context:monitor . --budget=80000 --tokens=52000
840
+ # ⚠ Context: 52,000 tokens (65%) — WARNING
841
+ # Suggestion: /clear before next agent activation
842
+
843
+ # Verificar com output JSON para integrar em scripts
844
+ aioson context:monitor . --budget=80000 --tokens=67000 --json
845
+ ```
846
+
847
+ O comando emite automaticamente um evento no SQLite quando entra em warning ou critical — visível no dashboard como `context_budget_warning`.
848
+
849
+ ### 31. Sincronizar spec com o banco após sessão do @dev
850
+
851
+ ```bash
852
+ # Sincroniza learnings e phase_gates de todos os specs
853
+ aioson spec:sync .
854
+
855
+ # Ver o estado atual de todas as features
856
+ aioson spec:status .
857
+ ```
858
+
859
+ Saída do `spec:status`:
860
+
861
+ ```
862
+ Project Status — meu-projeto
863
+ ────────────────────────────────────────────────────────────────────────────────
864
+ Feature Phase Status Last Agent Checkpoint
865
+ ────────────────────────────────────────────────────────────────────────────────
866
+ checkout 2/5 in_progress dev Criando migration...
867
+ auth 5/5 done qa QA sign-off 2026-03-28
868
+ ────────────────────────────────────────────────────────────────────────────────
869
+ Active learnings: 8 | Promotable (freq≥3): 3
870
+ ```
871
+
872
+ Execute `spec:sync` logo após cada sessão do `@dev` para manter o dashboard atualizado sem precisar do `live:start`.
873
+
874
+ ### 32. Registrar checkpoint manual quando a sessão caiu
875
+
876
+ ```bash
877
+ # O @dev estava trabalhando em checkout mas o Claude travou sem chamar agent:done
878
+ aioson spec:checkpoint . --feature=checkout
879
+
880
+ # Para um agente diferente de dev
881
+ aioson spec:checkpoint . --feature=checkout --agent=architect
882
+ ```
883
+
884
+ Saída:
885
+
886
+ ```
887
+ Reading spec-checkout.md...
888
+ last_checkpoint: "Criando migration cart_items — step 3 of 5"
889
+ phase_gates: {"plan":"approved","requirements":"approved","design":"pending"}
890
+
891
+ Checkpoint registered:
892
+ run_key: dev-1711234567890
893
+ summary: "Criando migration cart_items — step 3 of 5"
894
+ status: in_progress (checkpoint only — use agent:done to close)
895
+
896
+ Next: continue with /dev — start from last_checkpoint
897
+ ```
898
+
899
+ ### 33. Processar devlogs acumulados após sessões sem CLI
900
+
901
+ ```bash
902
+ # Processar todos os devlogs de aioson-logs/ que ainda não foram processados
903
+ aioson devlog:process .
904
+ ```
905
+
906
+ Saída:
907
+
908
+ ```
909
+ Devlog Processing — meu-projeto
910
+ ──────────────────────────────────────────────────
911
+ Found 3 devlog(s):
912
+
913
+ devlog-dev-1711234567.md
914
+ run: dev-1711234567890
915
+ Artifacts: 3 registered ✓
916
+ Decisions: 1 logged ✓
917
+ Learnings: 2 upserted ✓
918
+
919
+ devlog-qa-1711237890.md
920
+ run: qa-1711237890123
921
+ Artifacts: 1 registered ✓
922
+ Learnings: 1 upserted ✓
923
+ Verdict: PASS ✓
924
+
925
+ devlog-dev-1711241234.md — ⚠ missing frontmatter or agent field. Fix and re-run.
926
+ ──────────────────────────────────────────────────
927
+ Processed: 2/3 devlogs
928
+ New learnings: 3 (queued for brains export)
929
+ Artifacts registered: 4
930
+ ```
931
+
932
+ O devlog processado recebe `processed_at` no frontmatter — rodar de novo não cria duplicatas.
933
+
934
+ ### 34. Pipeline completo: devlog → learnings → brains
935
+
936
+ ```bash
937
+ # 1. Processar devlogs acumulados
938
+ aioson devlog:process .
939
+
940
+ # 2. Exportar learnings com frequência ≥ 3 para .aioson/brains/
941
+ aioson devlog:export-brains . --min-frequency=3
942
+
943
+ # 3. Promover nodes com frequência ≥ 5 para genome (memória de longo prazo)
944
+ aioson learning:evolve .
945
+ ```
946
+
947
+ Ou, para processamento automático durante uma sessão longa:
948
+
949
+ ```bash
950
+ # Rodar em background — processa novos devlogs assim que são criados
951
+ aioson devlog:watch . &
952
+
953
+ # No WSL2, usa polling de 5s automaticamente
954
+ # Para forçar polling em qualquer ambiente:
955
+ aioson devlog:watch . --poll &
956
+ ```
957
+
958
+ ### 35. Fechar sessão com verdict e artifacts
959
+
960
+ ```bash
961
+ # @dev — sessão concluída com artefatos
962
+ aioson agent:done . --agent=dev \
963
+ --summary="Cart implementado com migration + testes" \
964
+ --artifacts="src/database/migrations/003_cart_items.ts,src/actions/cart/AddToCart.ts" \
965
+ --plan-step=FASE-2
966
+
967
+ # @qa — sessão com verdict
968
+ aioson agent:done . --agent=qa \
969
+ --summary="QA checkout — PASS" \
970
+ --verdict=PASS \
971
+ --artifacts="output/qa/checkout-report.md"
972
+ ```
973
+
974
+ Os artifacts aparecem na tabela `artifacts` do SQLite e ficam visíveis no dashboard. O verdict é indexado em `execution_events.verdict` para busca e filtragem rápida.
975
+
976
+ ### 36. Emitir evento enriquecido durante sessão live
977
+
978
+ ```bash
979
+ # Checkpoint de plano com consumo de tokens e progresso
980
+ aioson runtime:emit . --agent=dev \
981
+ --type=plan_checkpoint \
982
+ --plan-step=FASE-1 \
983
+ --summary="Migration de cart_items criada e testada" \
984
+ --token-count=3800 \
985
+ --progress-pct=40
986
+
987
+ # Blocker com worker status
988
+ aioson runtime:emit . --agent=dev \
989
+ --type=task_blocked \
990
+ --worker-status=blocked \
991
+ --summary="Aguardando schema de pagamentos do @architect"
992
+ ```
993
+
994
+ ### 37. Intra-bus de squad
995
+
996
+ O `squad:bus` é o canal de comunicação em tempo real entre executores de uma mesma sessão de squad. Cada sessão tem um arquivo JSONL em `.aioson/squads/{slug}/sessions/{id}/bus.jsonl` com todos os eventos de status, findings, bloqueios e resultados.
997
+
998
+ ```bash
999
+ # Postar uma mensagem no bus (executor → coordenador)
1000
+ aioson squad:bus . post \
1001
+ --squad=content-team \
1002
+ --session=abc123 \
1003
+ --from=roteirista \
1004
+ --to=coordenador \
1005
+ --type=finding \
1006
+ --content="Briefing do episódio 3 está incompleto — falta o CTA final"
1007
+
1008
+ # Ler todas as mensagens da sessão
1009
+ aioson squad:bus . read --squad=content-team --session=abc123
1010
+
1011
+ # Ler apenas os últimos 10 mensagens, compacto
1012
+ aioson squad:bus . read --squad=content-team --session=abc123 --last=10 --compact
1013
+
1014
+ # Filtrar só bloqueios
1015
+ aioson squad:bus . read --squad=content-team --session=abc123 --type=block
1016
+
1017
+ # Monitorar em tempo real (aguarda novas mensagens)
1018
+ aioson squad:bus . watch --squad=content-team --session=abc123
1019
+
1020
+ # Resumo da sessão (totais por tipo, lista de bloqueios)
1021
+ aioson squad:bus . summary --squad=content-team --session=abc123
1022
+
1023
+ # Listar todas as sessões da squad
1024
+ aioson squad:bus . list --squad=content-team
1025
+
1026
+ # Limpar o bus de uma sessão encerrada
1027
+ aioson squad:bus . clear --squad=content-team --session=abc123
1028
+ ```
1029
+
1030
+ **Tipos de mensagem suportados:**
1031
+
1032
+ | Tipo | Quando usar |
1033
+ |------|-------------|
1034
+ | `status` | Início, progresso ou conclusão de tarefa |
1035
+ | `finding` | Descoberta relevante que outros executores precisam saber |
1036
+ | `feedback` | Resultado da reflection após executar uma tarefa |
1037
+ | `question` | Dúvida que bloqueia o executor e precisa de resposta |
1038
+ | `result` | Output final de uma tarefa |
1039
+ | `block` | Bloqueio que impede continuar sem intervenção |
1040
+
1041
+ **Exemplo: coordenador respondendo a um bloqueio**
1042
+
1043
+ ```bash
1044
+ # 1. Ver o que está bloqueado
1045
+ aioson squad:bus . read --squad=content-team --session=abc123 --type=block
1046
+
1047
+ # Saída:
1048
+ # [10:14:32] roteirista → coordenador [block]
1049
+ # Aguardando aprovação do outline do ep.3 antes de escrever roteiro
1050
+
1051
+ # 2. Coordenador desbloqueia postando no bus
1052
+ aioson squad:bus . post \
1053
+ --squad=content-team \
1054
+ --session=abc123 \
1055
+ --from=coordenador \
1056
+ --to=roteirista \
1057
+ --type=feedback \
1058
+ --content="Outline aprovado. Pode prosseguir com o roteiro completo."
1059
+ ```
1060
+
1061
+ ---
1062
+
1063
+ ### 38. Execução autônoma de squad — `squad:autorun`
1064
+
1065
+ O `squad:autorun` recebe um objetivo de alto nível, decompõe em tarefas, organiza em grupos paralelos e executa tudo automaticamente. Pode usar reflection após cada tarefa e registrar tudo no intra-bus.
1066
+
1067
+ #### Fluxo básico
1068
+
1069
+ ```bash
1070
+ # Executar com goal direto (decomposição heurística)
1071
+ aioson squad:autorun . \
1072
+ --squad=content-team \
1073
+ --goal="Criar 3 episódios de podcast para o mês de abril"
1074
+ ```
1075
+
1076
+ O comando:
1077
+ 1. Detecta os executores da squad em `squad.json`
1078
+ 2. Decompõe o goal em tarefas usando verbos de ação (criar, revisar, publicar, etc.)
1079
+ 3. Organiza tarefas em grupos paralelos por dependência
1080
+ 4. Executa cada grupo (tarefas independentes em paralelo)
1081
+ 5. Grava o plano em `.aioson/squads/content-team/sessions/{id}/plan.json`
1082
+
1083
+ #### Com reflection e bus
1084
+
1085
+ ```bash
1086
+ aioson squad:autorun . \
1087
+ --squad=content-team \
1088
+ --goal="Criar 3 episódios de podcast para o mês de abril" \
1089
+ --reflect \
1090
+ --bus
1091
+ ```
1092
+
1093
+ Com `--reflect`, após cada tarefa o sistema roda uma checklist de qualidade. Se falhar em critérios críticos, marca como `NEEDS_ITERATION` e tenta de novo (até `max_iterations` configurado em `squad.json`). Se esgotar as iterações, marca como `ESCALATE` — o coordenador precisa intervir.
1094
+
1095
+ #### Ver o plano sem executar (dry-run)
1096
+
1097
+ ```bash
1098
+ aioson squad:autorun . \
1099
+ --squad=content-team \
1100
+ --goal="Criar campanha de lançamento do produto X" \
1101
+ --dry-run
1102
+ ```
1103
+
1104
+ Saída de exemplo:
1105
+
1106
+ ```
1107
+ Plan ready: 6 tasks across 3 parallel group(s)
1108
+
1109
+ Group 1 (2 tasks) — running in parallel
1110
+ ○ task-1: Criar briefing da campanha [executor: estrategista]
1111
+ ○ task-2: Mapear canais de distribuição [executor: analista]
1112
+
1113
+ Group 2 (3 tasks) — running in parallel
1114
+ ○ task-3: Escrever copy das redes sociais [executor: copywriter]
1115
+ ○ task-4: Criar roteiro do vídeo de lançamento [executor: roteirista]
1116
+ ○ task-5: Definir calendário de publicação [executor: estrategista]
1117
+
1118
+ Group 3 (1 task)
1119
+ ○ task-6: Revisar pacote completo da campanha [executor: coordenador]
1120
+
1121
+ [dry-run] Plan shown above. No tasks executed.
1122
+ ```
1123
+
1124
+ #### Modo estruturado (LLM decompõe o plano)
1125
+
1126
+ ```bash
1127
+ aioson squad:autorun . \
1128
+ --squad=content-team \
1129
+ --goal="Criar campanha de lançamento" \
1130
+ --mode=structured
1131
+ ```
1132
+
1133
+ No modo `structured`, o comando salva um prompt de decomposição para o agente preencher o plano manualmente e depois retoma:
1134
+
1135
+ ```bash
1136
+ # Depois que o agente preencheu o plano:
1137
+ aioson squad:autorun . --squad=content-team --plan=SESSION_ID
1138
+ ```
1139
+
1140
+ #### Retomar uma sessão existente
1141
+
1142
+ ```bash
1143
+ # Ver sessões disponíveis
1144
+ aioson squad:bus . list --squad=content-team
1145
+
1146
+ # Retomar do ponto onde parou
1147
+ aioson squad:autorun . --squad=content-team --plan=abc-123-def-456
1148
+ ```
1149
+
1150
+ #### Flags disponíveis
1151
+
1152
+ | Flag | Padrão | O que faz |
1153
+ |------|--------|-----------|
1154
+ | `--goal` | — | Objetivo de alto nível (obrigatório se não usar `--plan`) |
1155
+ | `--plan` | — | ID de sessão para retomar plano existente |
1156
+ | `--reflect` | false | Roda reflection após cada tarefa |
1157
+ | `--bus` | true | Ativa o intra-bus de comunicação |
1158
+ | `--mode` | heuristic | `heuristic` (regex + executores) ou `structured` (LLM) |
1159
+ | `--dry-run` | false | Mostra o plano sem executar |
1160
+ | `--sequential` | false | Força execução sequencial mesmo para tarefas paralelas |
1161
+ | `--timeout` | 120 | Timeout por tarefa em segundos |
1162
+
1163
+ ---
1164
+
1165
+ ### 39. Auditar agentes — `agent:audit`
1166
+
1167
+ Escaneia todos os arquivos de agente, estima tokens, classifica por tipo e aponta seções que podem ser movidas para `.aioson/docs/` (on-demand loading) — economizando tokens toda vez que um agente é lido.
1168
+
1169
+ **Por que isso importa:** cada sessão longa com um agente de 38KB custa ~9.800 tokens só de instrução. Se metade dessas seções raramente são usadas (convenções de stack, exemplos, templates), movê-las para docs reduz o custo de contexto sem perder capacidade.
1170
+
1171
+ #### Auditoria básica
1172
+
1173
+ ```bash
1174
+ aioson agent:audit .
1175
+ ```
1176
+
1177
+ Saída de exemplo:
1178
+
1179
+ ```
1180
+ Agent Audit
1181
+ ──────────────────────────────────────────────────────────────────────
1182
+ Files scanned : 25
1183
+ Total tokens : ~119,557 per session
1184
+ Over hard limit: 6 Over target: 11
1185
+ Potential save : ~12,565 tokens/session (on-demand split)
1186
+
1187
+ File Type Size Tokens Status
1188
+ ──────────────────────────────────────────────────────────────────────
1189
+ template/.aioson/agents/squad.md orchestrator 65.0KB ~16,641 tok ✗ hard
1190
+ template/.aioson/agents/dev.md generalist 38.4KB ~9,832 tok ⚠ target
1191
+ template/.aioson/agents/ux-ui.md generalist 33.6KB ~8,614 tok ⚠ target
1192
+ template/.aioson/agents/deyvin.md generalist 14.2KB ~3,633 tok ✓ ok
1193
+
1194
+ On-demand candidates (move to .aioson/docs/ to save tokens):
1195
+ template/.aioson/agents/dev.md save ~2,100 tok (4 sections)
1196
+ template/.aioson/agents/ux-ui.md save ~1,400 tok (3 sections)
1197
+ ```
1198
+
1199
+ #### Breakdown por seção (verbose)
1200
+
1201
+ ```bash
1202
+ aioson agent:audit . --verbose
1203
+ ```
1204
+
1205
+ Mostra as 5 maiores seções de cada arquivo e marca quais são candidatas a on-demand:
1206
+
1207
+ ```
1208
+ template/.aioson/agents/dev.md generalist 38.4KB ~9,832 tok ⚠ target
1209
+ § Stack e Convenções de Código 4.2KB [on-demand candidate]
1210
+ § Exemplos de implementação 3.1KB [on-demand candidate]
1211
+ § Debugging e troubleshooting 2.8KB [on-demand candidate]
1212
+ § Regras de trabalho 2.1KB
1213
+ § Working memory (task list) 1.4KB
1214
+ ```
1215
+
1216
+ #### Incluir variantes de locale
1217
+
1218
+ ```bash
1219
+ aioson agent:audit . --locales
1220
+ ```
1221
+
1222
+ Inclui os arquivos de `template/.aioson/locales/*/agents/` na análise — útil para detectar qual locale está mais fora do orçamento.
1223
+
1224
+ #### Salvar relatório completo
1225
+
1226
+ ```bash
1227
+ aioson agent:audit . --fix
1228
+ ```
1229
+
1230
+ Escreve `.aioson/docs/agent-audit.md` com tabela completa, lista de candidatos on-demand e recomendações de split. Use para revisão em equipe ou para planejar refatorações de agentes.
1231
+
1232
+ **Limites de orçamento por tipo de agente:**
1233
+
1234
+ | Tipo | Alvo | Limite |
1235
+ |------|------|--------|
1236
+ | Auto-loaded (`CLAUDE.md`, `AGENTS.md`) | 3.500 chars | 4.000 chars |
1237
+ | Orquestrador (`orchestrator`, `squad`) | 12.000 chars | 20.000 chars |
1238
+ | Generalista (`dev`, `architect`, `sheldon`, etc.) | 15.000 chars | 40.000 chars |
1239
+ | Focado (todos os demais) | 8.000 chars | 16.000 chars |
1240
+
1241
+ **Seções automaticamente detectadas como candidatas a on-demand:** convenções, folder structure, stack, laravel, next.js, debugging, worktree, animação, output contract, exemplos, templates e outras seções raramente necessárias no início da sessão.
1242
+
1243
+ ---
1244
+
1245
+ ### 40. Gerar brief de worker — `brief:gen`
1246
+
1247
+ Um brief autocontido é o que garante que um executor de squad não vai falhar por falta de contexto. O `brief:gen` lê o plano de implementação, puxa excerpts relevantes de `architecture.md` e `spec.md` e monta um documento que o worker pode executar sem olhar mais nada.
1248
+
1249
+ **Regra de ouro dos briefs:**
1250
+
1251
+ > O worker não tem acesso ao histórico de conversa. Tudo que ele precisa saber deve estar no brief.
1252
+
1253
+ #### Gerar brief para a primeira fase não executada
1254
+
1255
+ ```bash
1256
+ aioson brief:gen .
1257
+ ```
1258
+
1259
+ O comando descobre automaticamente `implementation-plan.md` em `.aioson/context/` e usa a fase 1 por padrão.
1260
+
1261
+ #### Especificar uma fase
1262
+
1263
+ ```bash
1264
+ aioson brief:gen . --phase=2
1265
+ ```
1266
+
1267
+ #### Especificar o arquivo de plano
1268
+
1269
+ ```bash
1270
+ aioson brief:gen . --plan=plans/sprint-2.md --phase=1
1271
+ ```
1272
+
1273
+ #### Gerar brief para executor de squad
1274
+
1275
+ ```bash
1276
+ aioson brief:gen . --squad=content-team --executor=roteirista --phase=3
1277
+ ```
1278
+
1279
+ O brief é salvo em `.aioson/squads/content-team/briefs/phase-3-roteirista.md`.
1280
+
1281
+ #### Sobrescrever o caminho de saída
1282
+
1283
+ ```bash
1284
+ aioson brief:gen . --phase=2 --out=briefs/fase-2-dev.md
1285
+ ```
1286
+
1287
+ #### Estrutura gerada
1288
+
1289
+ O brief gerado contém:
1290
+
1291
+ ```markdown
1292
+ ---
1293
+ generated_at : 2026-04-02T10:00:00.000Z
1294
+ plan_file : .aioson/context/implementation-plan.md
1295
+ phase : 2
1296
+ ---
1297
+
1298
+ # Worker Brief — ## Phase 2 — API de autenticação
1299
+
1300
+ > Este brief é 100% autocontido. Não busque contexto adicional.
1301
+ > Leia apenas os arquivos listados. Escreva apenas os arquivos listados.
1302
+
1303
+ ## Phase goal and tasks
1304
+
1305
+ [conteúdo da fase 2 do plano]
1306
+
1307
+ ## Architecture reference (excerpts)
1308
+
1309
+ [seções relevantes de architecture.md — tech stack, folder structure, conventions]
1310
+
1311
+ ## Spec reference (excerpts)
1312
+
1313
+ [spec.md truncado em 4.000 chars]
1314
+
1315
+ ## Project context
1316
+
1317
+ [resumo de project.context.md]
1318
+
1319
+ ## Done criteria
1320
+
1321
+ > Preencha critérios verificáveis antes de entregar ao worker.
1322
+ > Exemplo:
1323
+ > - [ ] `src/auth/login.ts` existe e exporta `loginHandler`
1324
+ > - [ ] Todos os testes passam (`npm test`)
1325
+
1326
+ ## Hard constraints
1327
+
1328
+ > O que o worker NÃO pode tocar ou modificar.
1329
+
1330
+ ## Out of scope
1331
+
1332
+ > O que explicitamente fica fora desta fase.
1333
+ ```
1334
+
1335
+ **Importante:** as seções "Done criteria", "Hard constraints" e "Out of scope" são deixadas como placeholder propositalmente — o orquestrador ou coordenador deve preenchê-las antes de entregar o brief ao worker. Um brief entregue sem done criteria claros é uma das causas mais comuns de falha em squads.
1336
+
1337
+ ---
1338
+
1339
+ ### 41. Verificar entrega — `verify:gate`
1340
+
1341
+ O `verify:gate` é uma passagem de "olhos frescos" — ele verifica se o artefato entregue atende ao spec sem carregar nenhum histórico de conversa. Isso elimina o viés de contexto que o agente gerador acumula ao longo da sessão.
1342
+
1343
+ **Por que isso funciona:** o agente que implementou uma feature, ao revisar o próprio código, tende a "ver" o que pretendia escrever, não o que está escrito. O verify:gate parte do zero: só spec e artefato.
1344
+
1345
+ #### Verificação básica
1346
+
1347
+ ```bash
1348
+ aioson verify:gate . \
1349
+ --spec=.aioson/context/briefs/phase-2.md \
1350
+ --artifact=src/auth/
1351
+ ```
1352
+
1353
+ Saída de exemplo:
1354
+
1355
+ ```
1356
+ Verify Gate
1357
+ ────────────────────────────────────────────────────────────
1358
+ Spec : .aioson/context/briefs/phase-2.md
1359
+ Artifact : src/auth/
1360
+ Files : 7
1361
+
1362
+ Verdict : ✗ FAIL_WITH_ISSUES
1363
+
1364
+ Issues:
1365
+ ✗ Missing required file: `src/auth/login.ts`
1366
+ ✗ Unchecked criterion: `src/auth/middleware.ts` existe e exporta `authMiddleware`
1367
+
1368
+ Notes:
1369
+ ⚠ Empty file: `src/auth/refresh-token.ts`
1370
+
1371
+ Passed: 3 checks
1372
+
1373
+ Report : .aioson/context/verify-gate-phase-2.md
1374
+ ```
1375
+
1376
+ #### Verificar com spec completa do projeto
1377
+
1378
+ ```bash
1379
+ aioson verify:gate . \
1380
+ --spec=.aioson/context/spec.md \
1381
+ --artifact=src/
1382
+ ```
1383
+
1384
+ #### Modo strict (notas viram issues)
1385
+
1386
+ ```bash
1387
+ aioson verify:gate . \
1388
+ --spec=.aioson/context/briefs/phase-2.md \
1389
+ --artifact=src/auth/ \
1390
+ --strict
1391
+ ```
1392
+
1393
+ No modo strict, arquivos vazios e critérios sem checkbox marcado também viram `FAIL_WITH_ISSUES`.
1394
+
1395
+ #### Salvar relatório em path customizado
1396
+
1397
+ ```bash
1398
+ aioson verify:gate . \
1399
+ --spec=.aioson/context/briefs/phase-2.md \
1400
+ --artifact=src/auth/ \
1401
+ --out=output/qa/verify-fase-2.md
1402
+ ```
1403
+
1404
+ #### Usar no CI (JSON + exit code)
1405
+
1406
+ ```bash
1407
+ aioson verify:gate . \
1408
+ --spec=.aioson/context/briefs/phase-2.md \
1409
+ --artifact=src/ \
1410
+ --json
1411
+ ```
1412
+
1413
+ Saída JSON:
1414
+
1415
+ ```json
1416
+ {
1417
+ "ok": false,
1418
+ "verdict": "FAIL_WITH_ISSUES",
1419
+ "spec": ".aioson/context/briefs/phase-2.md",
1420
+ "artifact": "src/auth/",
1421
+ "report_path": ".aioson/context/verify-gate-phase-2.md",
1422
+ "files_scanned": 7,
1423
+ "issues": [
1424
+ "Missing required file: `src/auth/login.ts`",
1425
+ "Unchecked criterion: `src/auth/middleware.ts` existe e exporta `authMiddleware`"
1426
+ ],
1427
+ "notes": ["Empty file: `src/auth/refresh-token.ts`"],
1428
+ "passes": ["Required file exists: `src/auth/index.ts`"],
1429
+ "requirements": {
1430
+ "required_files": 3,
1431
+ "acceptance_criteria": 5,
1432
+ "required_patterns": 1,
1433
+ "forbidden_patterns": 0
1434
+ }
1435
+ }
1436
+ ```
1437
+
1438
+ #### O que o verify:gate checa
1439
+
1440
+ | Checagem | Como funciona |
1441
+ |----------|---------------|
1442
+ | **Arquivos obrigatórios** | Extrai paths de seções "Files to write", "Output files" e "Done criteria" do spec |
1443
+ | **Critérios de aceite** | Lê checkboxes `- [ ]` e `- [x]` da seção "Done criteria" — reporta os não marcados |
1444
+ | **Padrões obrigatórios** | Busca strings de "Must contain" e "Required patterns" nos arquivos do artefato |
1445
+ | **Padrões proibidos** | Busca strings de "Hard constraints" — falha se encontrar |
1446
+ | **Arquivos vazios** | Reporta qualquer arquivo de 0 bytes como nota (issue no modo `--strict`) |
1447
+
1448
+ **Dica para máxima cobertura:** use `brief:gen` para gerar o spec — ele já formata a seção "Done criteria" com checkboxes e "Files to write" com paths explícitos, que são exatamente o que o `verify:gate` sabe checar.
1449
+
1450
+ #### Fluxo completo com brief:gen + verify:gate
1451
+
1452
+ ```bash
1453
+ # 1. Gerar brief para a fase 2
1454
+ aioson brief:gen . --phase=2
1455
+ # → .aioson/context/briefs/phase-2.md
1456
+
1457
+ # 2. [Orquestrador preenche: Done criteria, Hard constraints, Out of scope]
1458
+ # 3. Worker executa a fase 2
1459
+
1460
+ # 4. Verificar a entrega
1461
+ aioson verify:gate . \
1462
+ --spec=.aioson/context/briefs/phase-2.md \
1463
+ --artifact=src/
1464
+
1465
+ # 5. Se PASS → agent:done
1466
+ aioson agent:done . --agent=dev \
1467
+ --summary="Fase 2 concluída — auth implementado" \
1468
+ --artifacts="src/auth/login.ts,src/auth/middleware.ts" \
1469
+ --plan-step=FASE-2
1470
+
1471
+ # 6. Se FAIL_WITH_ISSUES → corrigir e rodar verify:gate de novo
1472
+ ```
1473
+
1474
+ ---
1475
+
1476
+ ### 42. Pré-voo antes de começar o dev
1477
+
1478
+ ```bash
1479
+ aioson preflight . --agent=dev --feature=checkout --json
1480
+ ```
1481
+
1482
+ Retorna modo, classificação, framework, test runner, gates e prontidão em uma chamada. Use antes de abrir qualquer sessão de agente.
1483
+
1484
+ ### 43. Classificar feature automaticamente
1485
+
1486
+ ```bash
1487
+ aioson classify . --feature=checkout
1488
+ # Com override manual via prompts:
1489
+ aioson classify . --feature=checkout --interactive
1490
+ ```
1491
+
1492
+ Detecta MICRO / SMALL / MEDIUM lendo PRD e requirements. Use para decidir o fluxo antes de acionar `workflow:execute`.
1493
+
1494
+ ### 44. Determinar modelo de sizing
1495
+
1496
+ ```bash
1497
+ aioson sizing . --feature=checkout
1498
+ ```
1499
+
1500
+ Decide entre `inplace`, `phased_inplace` e `phased_external` contando entidades, fases e integrações do PRD.
1501
+
1502
+ ### 45. Detectar test runner do projeto
1503
+
1504
+ ```bash
1505
+ aioson detect:test-runner . --json
1506
+ ```
1507
+
1508
+ Verifica phpunit.xml, jest.config.*, vitest.config.*, pytest.ini, .rspec e package.json. Use no início do `@dev` para saber o comando correto de testes.
1509
+
1510
+ ### 46. Verificar gate antes de avançar
1511
+
1512
+ ```bash
1513
+ # Checar se Gate C (plano) está aprovado
1514
+ aioson gate:check . --feature=checkout --gate=C
1515
+
1516
+ # Usar nome aliases
1517
+ aioson gate:check . --feature=checkout --gate=plan --json
1518
+ ```
1519
+
1520
+ Valida pré-requisitos e artefatos. Retorna PASS ou BLOCKED com lista de evidências. Use antes de acionar `@dev` após `@analyst`.
1521
+
1522
+ ### 47. Validar cadeia de artefatos
1523
+
1524
+ ```bash
1525
+ aioson artifact:validate . --feature=checkout --json
1526
+ ```
1527
+
1528
+ Verifica toda a cadeia PRD → spec → plano → conformance e indica o próximo artefato faltante.
1529
+
1530
+ ### 48. Atualizar pulse ao final da sessão
1531
+
1532
+ ```bash
1533
+ aioson pulse:update . \
1534
+ --agent=dev \
1535
+ --feature=checkout \
1536
+ --gate="Gate C: approved" \
1537
+ --action="Phase 2 concluída" \
1538
+ --next="Phase 3: webhook"
1539
+ ```
1540
+
1541
+ Atualiza `project-pulse.md` com estado atual. Use no `agent:done` ou antes de encerrar a sessão.
1542
+
1543
+ ### 49. Salvar ponto de continuação
1544
+
1545
+ ```bash
1546
+ aioson state:save . \
1547
+ --feature=checkout \
1548
+ --phase=2 \
1549
+ --status=in_progress \
1550
+ --next="Implement webhook idempotency" \
1551
+ --spec-version=4
1552
+ ```
1553
+
1554
+ Cria entrada em `dev-state.md` para recuperação de sessão. Use ao fim de cada fase.
1555
+
1556
+ ### 50. Fechar feature após QA
1557
+
1558
+ ```bash
1559
+ # PASS com residual
1560
+ aioson feature:close . \
1561
+ --feature=checkout \
1562
+ --verdict=PASS \
1563
+ --residual="Email delivery não testado E2E"
1564
+
1565
+ # FAIL
1566
+ aioson feature:close . \
1567
+ --feature=checkout \
1568
+ --verdict=FAIL \
1569
+ --notes="Auth edge case ausente"
1570
+ ```
1571
+
1572
+ Fecha a feature: atualiza spec (QA sign-off), features.md e project-pulse.md em uma chamada.
1573
+
1574
+ ### 51. Executar workflow completo
1575
+
1576
+ ```bash
1577
+ # Dry-run para ver o plano
1578
+ aioson workflow:execute . \
1579
+ --feature=checkout \
1580
+ --classification=SMALL \
1581
+ --dry-run
1582
+
1583
+ # Executar de verdade
1584
+ aioson workflow:execute . --feature=checkout --tool=claude
1585
+
1586
+ # Retomar do dev (pular product e analyst)
1587
+ aioson workflow:execute . \
1588
+ --feature=checkout \
1589
+ --tool=claude \
1590
+ --start-from=dev
1591
+ ```
1592
+
1593
+ ### 52. Enfileirar fases do plano no runner
1594
+
1595
+ ```bash
1596
+ # Ver fases antes de enfileirar
1597
+ aioson runner:queue:from-plan . --feature=checkout --dry-run
1598
+
1599
+ # Enfileirar para o agente dev
1600
+ aioson runner:queue:from-plan . --feature=checkout --agent=dev
1601
+
1602
+ # Usar arquivo de plano arbitrário
1603
+ aioson runner:queue:from-plan . \
1604
+ --plan=docs/implementation-plan.md \
1605
+ --agent=dev
1606
+ ```
1607
+
1608
+ ### 53. Promover aprendizados para regras
1609
+
1610
+ ```bash
1611
+ # Ver o que seria promovido (sem escrever)
1612
+ aioson learning:auto-promote . --threshold=3 --dry-run
1613
+
1614
+ # Promover aprendizados frequentes
1615
+ aioson learning:auto-promote . --threshold=3
1616
+
1617
+ # Threshold mais exigente
1618
+ aioson learning:auto-promote . --threshold=5
1619
+ ```
1620
+
1621
+ Cria arquivos em `.aioson/rules/` para aprendizados `process` e `quality` com frequência ≥ threshold. Aprendizados `domain` são anotados mas não viram regras.
1622
+
709
1623
  ---
710
1624
 
711
1625
  ## Atalhos úteis