@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
@@ -0,0 +1,125 @@
1
+ # Sandbox de Execução
2
+
3
+ > Executa comandos shell com timeout automático, redação de secrets e summarização de output longo.
4
+
5
+ O `sandbox:exec` roda comandos em subprocesso isolado com três garantias: o comando é interrompido se passar do tempo máximo, qualquer secret reconhecido no output é redatado antes de ser exibido, e outputs maiores que 5KB são automaticamente resumidos mantendo início e fim.
6
+
7
+ ---
8
+
9
+ ## Comando
10
+
11
+ ### `sandbox:exec`
12
+
13
+ ```bash
14
+ aioson sandbox:exec "<comando>" [opções]
15
+ ```
16
+
17
+ **Opções:**
18
+
19
+ | Opção | Descrição |
20
+ |---|---|
21
+ | `--timeout=<ms>` | Interromper após N milissegundos (padrão: 30000) |
22
+ | `--cwd=<path>` | Diretório de trabalho do comando |
23
+ | `--intent="..."` | Rótulo para output truncado (aparece na marcação de omissão) |
24
+ | `--json` | Retorna stdout, stderr, exitCode e timedOut em JSON |
25
+
26
+ **Exemplos:**
27
+
28
+ ```bash
29
+ # Rodar testes com timeout de 60 segundos
30
+ aioson sandbox:exec "npm test" --timeout=60000
31
+
32
+ # Comando que pode exibir secrets (redatado automaticamente)
33
+ aioson sandbox:exec "env | grep TOKEN"
34
+
35
+ # Executar em outro diretório
36
+ aioson sandbox:exec "npm run build" --cwd=./frontend
37
+
38
+ # Capturar resultado estruturado
39
+ aioson sandbox:exec "node -e 'console.log(JSON.stringify({ok:true}))'" --json
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Redação automática de secrets
45
+
46
+ O output é varrido automaticamente antes de ser exibido. Qualquer padrão reconhecido é substituído por `[REDACTED]`:
47
+
48
+ | Padrão | Exemplo |
49
+ |---|---|
50
+ | GitHub token (`ghp_*`) | `ghp_abc123...` → `ghp_[REDACTED]` |
51
+ | GitHub fine-grained (`github_pat_*`) | `github_pat_abc...` → `github_pat_[REDACTED]` |
52
+ | AWS access key (`AKIA*`) | `AKIAIOSFODNN7EXAMPLE` → `AKIA[REDACTED]` |
53
+ | Google OAuth (`ya29.*`) | `ya29.A0ARrd...` → `ya29.[REDACTED]` |
54
+ | Bearer token | `Bearer eyJhb...` → `Bearer [REDACTED]` |
55
+ | Senha em URL | `:minhasenha@host` → `:[REDACTED]@host` |
56
+ | `password=...` | `password=abc123` → `password=[REDACTED]` |
57
+ | `passwd=...` | `passwd=abc123` → `passwd=[REDACTED]` |
58
+ | `secret=...` | `secret=xyz` → `secret=[REDACTED]` |
59
+ | `api_key=...` | `api_key=sk-abc` → `api_key=[REDACTED]` |
60
+ | Bloco de chave privada | `-----BEGIN PRIVATE KEY-----...` → `[REDACTED]` |
61
+
62
+ A redação é aplicada tanto ao stdout quanto ao stderr.
63
+
64
+ ---
65
+
66
+ ## Timeout e interrupção
67
+
68
+ O comando é encerrado com `AbortController` quando o timeout é atingido. O resultado retorna `timedOut: true` e `ok: false`.
69
+
70
+ ```bash
71
+ # Vai ser interrompido após 500ms
72
+ aioson sandbox:exec "sleep 10" --timeout=500
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Summarização de output longo
78
+
79
+ Se o output ultrapassar 5KB, a resposta mantém o início e o fim e indica quantos bytes foram omitidos:
80
+
81
+ ```
82
+ [início do output...]
83
+
84
+ [... 12.450 bytes omitted (npm test) ...]
85
+
86
+ [...fim do output]
87
+ ```
88
+
89
+ Use `--intent="..."` para que o rótulo apareça na marcação de omissão.
90
+
91
+ ---
92
+
93
+ ## JSON output
94
+
95
+ ```json
96
+ {
97
+ "ok": true,
98
+ "stdout": "Tests: 42 passed\n",
99
+ "stderr": "",
100
+ "exitCode": 0,
101
+ "timedOut": false,
102
+ "signal": null
103
+ }
104
+ ```
105
+
106
+ Quando há timeout:
107
+
108
+ ```json
109
+ {
110
+ "ok": false,
111
+ "stdout": "",
112
+ "stderr": "Command timed out after 500ms",
113
+ "exitCode": null,
114
+ "timedOut": true
115
+ }
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Quando usar
121
+
122
+ - Rodar scripts ou testes dentro de uma sessão de agente sem expor secrets do ambiente
123
+ - Capturar output de comandos que podem conter variáveis de ambiente sensíveis
124
+ - Executar builds ou verificações com tempo máximo controlado
125
+ - Testar comandos cujo output vai ser lido de volta pelo agente (redação evita envenenamento de contexto com secrets)
@@ -0,0 +1,557 @@
1
+ # SDD Automation Scripts — Regra dos 80%
2
+
3
+ > Referência completa dos 12 comandos determinísticos do AIOSON que movem trabalho de arquivo/estado/validação para fora do contexto LLM.
4
+
5
+ ## Por que esses scripts existem
6
+
7
+ Antes desses scripts, verificações como "o gate A está aprovado?" ou "qual o classificação desse projeto?" eram resolvidas dentro da janela de contexto do agente — custando entre 7.200 e 18.500 tokens por feature. Os scripts SDD cobrem exatamente esses 80% de trabalho determinístico, deixando o agente focar nos 20% que exigem raciocínio.
8
+
9
+ ---
10
+
11
+ ## preflight
12
+
13
+ ```
14
+ aioson preflight [path] [--agent=<agent>] [--feature=<slug>] [--json]
15
+ ```
16
+
17
+ Coleta todos os dados de pré-voo em uma chamada só: modo do projeto, classificação, framework detectado, test runner, artefatos disponíveis, estado dos phase gates, dev-state, contexto compacto e prontidão para o agente pedido.
18
+
19
+ **Flags:**
20
+
21
+ | Flag | Descrição |
22
+ |---|---|
23
+ | `--agent=<name>` | Filtra prontidão para o agente específico (dev, qa, analyst…) |
24
+ | `--feature=<slug>` | Slug da feature para procurar artefatos e gates |
25
+ | `--json` | Saída estruturada JSON |
26
+
27
+ **Saída JSON (campos principais):**
28
+
29
+ ```json
30
+ {
31
+ "ok": true,
32
+ "mode": "feature",
33
+ "classification": "SMALL",
34
+ "framework": "Laravel",
35
+ "test_runner": "phpunit",
36
+ "artifacts": { "prd": true, "spec": true, "implementation_plan": false },
37
+ "phase_gates": { "A": "approved", "B": "approved", "C": null, "D": null },
38
+ "readiness": { "status": "READY", "blockers": [] },
39
+ "rules": ["process-atomic-commits.md"]
40
+ }
41
+ ```
42
+
43
+ **Quando usar:** no início de qualquer sessão de agente para eliminar a necessidade de ler vários arquivos manualmente.
44
+
45
+ ---
46
+
47
+ ## classify
48
+
49
+ ```
50
+ aioson classify [path] [--feature=<slug>] [--interactive] [--json]
51
+ ```
52
+
53
+ Detecta a classificação da feature (MICRO / SMALL / MEDIUM) automaticamente a partir do PRD e dos requirements, ou interativamente via prompts.
54
+
55
+ **Algoritmo de pontuação:**
56
+
57
+ | Dimensão | 0 pts | 1 pt | 2 pts |
58
+ |---|---|---|---|
59
+ | Tipos de usuário | 1 | 2 | 3+ |
60
+ | Integrações externas | nenhuma | 1 | 2+ |
61
+ | Regras de negócio | simples | moderadas | complexas |
62
+
63
+ - **0–1:** MICRO — só `@dev`, sem fases
64
+ - **2–3:** SMALL — `@product → @analyst → @dev → @qa`
65
+ - **4–6:** MEDIUM — adiciona `@architect`, paralelismo, conformance
66
+
67
+ **Flags:**
68
+
69
+ | Flag | Descrição |
70
+ |---|---|
71
+ | `--feature=<slug>` | Lê `prd-<slug>.md` e `requirements-<slug>.md` automaticamente |
72
+ | `--interactive` | Prompts no terminal para entrada manual |
73
+ | `--json` | Saída estruturada |
74
+
75
+ ---
76
+
77
+ ## sizing
78
+
79
+ ```
80
+ aioson sizing [path] [--feature=<slug>] [--prd=<path>] [--json]
81
+ ```
82
+
83
+ Lê o PRD e determina o modelo de sizing: `inplace`, `phased_inplace` ou `phased_external`.
84
+
85
+ **Critérios:**
86
+
87
+ | Decisão | Quando |
88
+ |---|---|
89
+ | `inplace` | ≤ 3 entidades, ≤ 2 fases, sem integração externa |
90
+ | `phased_inplace` | 4–7 entidades, 3–5 fases, 1 integração |
91
+ | `phased_external` | 8+ entidades ou 6+ fases ou 2+ integrações |
92
+
93
+ **Saída:**
94
+
95
+ ```json
96
+ {
97
+ "ok": true,
98
+ "sizing": "phased_inplace",
99
+ "entities": 5,
100
+ "phases": 4,
101
+ "integrations": 1,
102
+ "score": 10
103
+ }
104
+ ```
105
+
106
+ ---
107
+
108
+ ## detect:test-runner
109
+
110
+ ```
111
+ aioson detect:test-runner [path] [--json]
112
+ ```
113
+
114
+ Detecta o test runner do projeto verificando arquivos de configuração e `package.json`.
115
+
116
+ **Frameworks detectados:**
117
+
118
+ | Framework | Arquivo de configuração |
119
+ |---|---|
120
+ | PHPUnit | `phpunit.xml`, `phpunit.xml.dist` |
121
+ | Pest | `phpunit.xml` com `pestphp` |
122
+ | Jest | `jest.config.js`, `jest.config.ts`, `jest.config.mjs` |
123
+ | Vitest | `vitest.config.js`, `vitest.config.ts` |
124
+ | Pytest | `pytest.ini`, `pyproject.toml`, `setup.cfg` |
125
+ | RSpec | `.rspec`, `spec/spec_helper.rb` |
126
+ | Forge | `phpunit.xml` com `orchestra/testbench` |
127
+ | node:test | `package.json` com script `test` usando `node --test` |
128
+
129
+ **Saída:**
130
+
131
+ ```json
132
+ {
133
+ "ok": true,
134
+ "name": "jest",
135
+ "command": "npx jest",
136
+ "configFile": "jest.config.ts"
137
+ }
138
+ ```
139
+
140
+ ---
141
+
142
+ ## pulse:update
143
+
144
+ ```
145
+ aioson pulse:update [path] --agent=<agent> [--feature=<slug>] [--gate=<text>] [--action=<text>] [--next=<text>] [--json]
146
+ ```
147
+
148
+ Cria ou atualiza `.aioson/context/project-pulse.md` com o estado atual da sessão.
149
+
150
+ **O que atualiza:**
151
+ - `active_agent`, `active_feature`, `active_work`
152
+ - `last_gate` e `last_agent`
153
+ - Seção `## Recent Activity` (mantém as últimas 3 entradas)
154
+
155
+ **Flags:**
156
+
157
+ | Flag | Descrição |
158
+ |---|---|
159
+ | `--agent=<name>` | Agente ativo (obrigatório) |
160
+ | `--feature=<slug>` | Feature em andamento |
161
+ | `--gate=<text>` | Último gate avançado |
162
+ | `--action=<text>` | O que está sendo feito agora |
163
+ | `--next=<text>` | Próximo passo previsto |
164
+
165
+ **Exemplo:**
166
+
167
+ ```bash
168
+ aioson pulse:update . \
169
+ --agent=dev \
170
+ --feature=checkout \
171
+ --gate="Gate C: approved" \
172
+ --action="Implementing Phase 2: AddToCart" \
173
+ --next="Phase 3: Payment webhook"
174
+ ```
175
+
176
+ ---
177
+
178
+ ## state:save
179
+
180
+ ```
181
+ aioson state:save [path] --feature=<slug> [--phase=<n>] [--next=<text>] [--spec-version=<n>] [--status=<status>] [--json]
182
+ ```
183
+
184
+ Cria ou atualiza `.aioson/context/dev-state.md` com o ponto de continuação atual.
185
+
186
+ **Status válidos:** `in_progress`, `blocked`, `complete`, `paused`
187
+
188
+ **O que grava:**
189
+ - Frontmatter: `feature`, `phase`, `status`, `spec_version`, `updated_at`
190
+ - Seção `## History` com entrada timestampada para auditoria
191
+
192
+ **Exemplo:**
193
+
194
+ ```bash
195
+ aioson state:save . \
196
+ --feature=checkout \
197
+ --phase=3 \
198
+ --next="Implement webhook idempotency" \
199
+ --spec-version=4 \
200
+ --status=in_progress
201
+ ```
202
+
203
+ ---
204
+
205
+ ## feature:close
206
+
207
+ ```
208
+ aioson feature:close [path] --feature=<slug> --verdict=<PASS|FAIL> [--residual=<text>] [--notes=<text>] [--json]
209
+ ```
210
+
211
+ Fecha uma feature após QA sign-off. Atualiza três arquivos:
212
+
213
+ 1. **`spec-<slug>.md`** — adiciona bloco `## QA Sign-off` e atualiza `gate_execution` no frontmatter
214
+ 2. **`features.md`** — muda status para `done` ou `qa_failed`
215
+ 3. **`project-pulse.md`** — zera `active_feature`, atualiza `last_gate`
216
+
217
+ **Exemplo (PASS):**
218
+
219
+ ```bash
220
+ aioson feature:close . --feature=checkout --verdict=PASS
221
+ # Com residual (item não testado mas aceito):
222
+ aioson feature:close . \
223
+ --feature=checkout \
224
+ --verdict=PASS \
225
+ --residual="Email delivery not tested E2E"
226
+ ```
227
+
228
+ **Exemplo (FAIL):**
229
+
230
+ ```bash
231
+ aioson feature:close . \
232
+ --feature=checkout \
233
+ --verdict=FAIL \
234
+ --notes="Auth edge case missing — re-open after fix"
235
+ ```
236
+
237
+ **Saída JSON:**
238
+
239
+ ```json
240
+ {
241
+ "ok": true,
242
+ "feature": "checkout",
243
+ "verdict": "PASS",
244
+ "date": "2026-04-04",
245
+ "residual": null,
246
+ "updates": [
247
+ "spec-checkout.md: added QA sign-off (2026-04-04, PASS)",
248
+ "features.md: checkout → done (2026-04-04)",
249
+ "project-pulse.md: updated active work"
250
+ ]
251
+ }
252
+ ```
253
+
254
+ ---
255
+
256
+ ## gate:check
257
+
258
+ ```
259
+ aioson gate:check [path] --feature=<slug> --gate=<gate> [--json]
260
+ ```
261
+
262
+ Verifica se um phase gate pode ser aprovado. Retorna `PASS` ou `BLOCKED` com lista de evidências.
263
+
264
+ **Gates aceitos:** `A` / `requirements`, `B` / `design`, `C` / `plan`, `D` / `execution`
265
+
266
+ **Pré-requisitos por gate:**
267
+
268
+ | Gate | Requer | Artefato obrigatório |
269
+ |---|---|---|
270
+ | A | — | `requirements-<slug>.md` ou `prd-<slug>.md` |
271
+ | B | Gate A | `spec-<slug>.md` |
272
+ | C | Gates A + B | `implementation-plan-<slug>.md` |
273
+ | D | Gates A + B + C | QA sign-off em `spec-<slug>.md` |
274
+
275
+ **Exemplo:**
276
+
277
+ ```bash
278
+ aioson gate:check . --feature=checkout --gate=C --json
279
+ ```
280
+
281
+ ```json
282
+ {
283
+ "ok": true,
284
+ "gate": "C",
285
+ "gate_name": "plan",
286
+ "verdict": "PASS",
287
+ "evidence": [
288
+ "Gate A: approved",
289
+ "Gate B: approved",
290
+ "implementation-plan-checkout.md: found"
291
+ ]
292
+ }
293
+ ```
294
+
295
+ **Quando BLOCKED:**
296
+
297
+ ```json
298
+ {
299
+ "ok": false,
300
+ "gate": "C",
301
+ "verdict": "BLOCKED",
302
+ "blockers": ["Gate B not approved — spec-checkout.md missing or gate_design not set"],
303
+ "evidence": ["Gate A: approved"]
304
+ }
305
+ ```
306
+
307
+ ---
308
+
309
+ ## artifact:validate
310
+
311
+ ```
312
+ aioson artifact:validate [path] --feature=<slug> [--json]
313
+ ```
314
+
315
+ Valida a cadeia completa de artefatos de uma feature. Verifica a existência de cada arquivo esperado e reporta o que está presente, ausente ou opcional.
316
+
317
+ **Cadeia verificada:**
318
+
319
+ ```
320
+ project.context.md
321
+ → prd-<slug>.md
322
+ → sheldon-<slug>.md (opcional para MICRO)
323
+ → requirements-<slug>.md
324
+ → spec-<slug>.md
325
+ → architecture.md
326
+ → implementation-plan-<slug>.md
327
+ → conformance-<slug>.yaml (somente MEDIUM)
328
+ ```
329
+
330
+ **Saída:**
331
+
332
+ ```json
333
+ {
334
+ "ok": true,
335
+ "feature": "checkout",
336
+ "classification": "SMALL",
337
+ "present": ["project.context.md", "prd-checkout.md", "spec-checkout.md"],
338
+ "missing": ["implementation-plan-checkout.md"],
339
+ "optional_missing": ["sheldon-checkout.md"],
340
+ "chain_complete": false,
341
+ "next_missing": "implementation-plan-checkout.md"
342
+ }
343
+ ```
344
+
345
+ ---
346
+
347
+ ## workflow:execute
348
+
349
+ ```
350
+ aioson workflow:execute [path] --feature=<slug> [--tool=<tool>] [--classification=<tier>] [--dry-run] [--start-from=<agent>] [--json]
351
+ ```
352
+
353
+ Monta e executa o plano de agentes para uma feature com base na classificação.
354
+
355
+ **Planos por tier:**
356
+
357
+ | Tier | Passos |
358
+ |---|---|
359
+ | MICRO | `@dev` |
360
+ | SMALL | `@product → @analyst → @dev → @qa` |
361
+ | MEDIUM | `@product → @analyst → @architect → gate:check C → @dev (por fase) → @qa` |
362
+
363
+ **Flags:**
364
+
365
+ | Flag | Descrição |
366
+ |---|---|
367
+ | `--tool=<tool>` | Ferramenta a usar (`claude`, `codex`, `gemini`) |
368
+ | `--classification=<tier>` | Override manual da classificação |
369
+ | `--dry-run` | Mostra o plano sem executar |
370
+ | `--start-from=<agent>` | Pula agentes anteriores ao agente dado |
371
+
372
+ **Exemplo dry-run:**
373
+
374
+ ```bash
375
+ aioson workflow:execute . \
376
+ --feature=checkout \
377
+ --classification=SMALL \
378
+ --dry-run \
379
+ --json
380
+ ```
381
+
382
+ ```json
383
+ {
384
+ "ok": true,
385
+ "dry_run": true,
386
+ "feature": "checkout",
387
+ "classification": "SMALL",
388
+ "steps": [
389
+ { "agent": "product", "skip": false, "reason": "prd not found" },
390
+ { "agent": "analyst", "skip": false },
391
+ { "agent": "dev", "skip": false },
392
+ { "agent": "qa", "skip": false }
393
+ ]
394
+ }
395
+ ```
396
+
397
+ **Exemplo com retomada:**
398
+
399
+ ```bash
400
+ # Feature travada em dev — pular product e analyst
401
+ aioson workflow:execute . \
402
+ --feature=checkout \
403
+ --tool=claude \
404
+ --start-from=dev
405
+ ```
406
+
407
+ ---
408
+
409
+ ## runner:queue:from-plan
410
+
411
+ ```
412
+ aioson runner:queue:from-plan [path] --feature=<slug> [--plan=<path>] [--agent=<agent>] [--dry-run] [--json]
413
+ ```
414
+
415
+ Extrai as fases de um plano de implementação e as enfileira no runner do AIOSON com prioridades correspondentes ao número da fase.
416
+
417
+ **Formato reconhecido:**
418
+
419
+ O arquivo deve conter headers `## Phase N: Título da fase` (onde N é um inteiro). Qualquer nível de heading funciona.
420
+
421
+ **Requer:** banco de runtime inicializado (`aioson runtime:init .` ou uso prévio do runner).
422
+
423
+ **Flags:**
424
+
425
+ | Flag | Descrição |
426
+ |---|---|
427
+ | `--feature=<slug>` | Lê `.aioson/context/implementation-plan-<slug>.md` |
428
+ | `--plan=<path>` | Caminho arbitrário para o arquivo de plano |
429
+ | `--agent=<name>` | Agente padrão para as tarefas enfileiradas |
430
+ | `--dry-run` | Lista as fases sem enfileirar |
431
+
432
+ **Exemplo:**
433
+
434
+ ```bash
435
+ # Dry-run para ver as fases antes de enfileirar
436
+ aioson runner:queue:from-plan . --feature=checkout --dry-run
437
+
438
+ # Enfileirar todas as fases para o agente dev
439
+ aioson runner:queue:from-plan . --feature=checkout --agent=dev
440
+ ```
441
+
442
+ **Saída (modo enfileirado):**
443
+
444
+ ```json
445
+ {
446
+ "ok": true,
447
+ "feature": "checkout",
448
+ "queued": [
449
+ { "phase": 1, "title": "Create database migrations", "priority": 1 },
450
+ { "phase": 2, "title": "Implement AddToCart action", "priority": 2 },
451
+ { "phase": 3, "title": "Payment webhook handler", "priority": 3 }
452
+ ]
453
+ }
454
+ ```
455
+
456
+ ---
457
+
458
+ ## learning:auto-promote
459
+
460
+ ```
461
+ aioson learning:auto-promote [path] [--threshold=<n>] [--dry-run] [--json]
462
+ ```
463
+
464
+ Lê `project_learnings` do SQLite de runtime e promove automaticamente aprendizados de processo e qualidade de alta frequência para arquivos de regra em `.aioson/rules/`.
465
+
466
+ **Tipos promovidos:** `process`, `quality`
467
+ **Tipos não promovidos:** `domain` (anotados em `noted_items`, não viram regras)
468
+
469
+ **Threshold padrão:** 3 ocorrências
470
+
471
+ **Arquivo gerado:** `.aioson/rules/<type>-<slug>.md`
472
+
473
+ **Exemplo:**
474
+
475
+ ```bash
476
+ # Ver o que seria promovido sem escrever nada
477
+ aioson learning:auto-promote . --threshold=3 --dry-run
478
+
479
+ # Promover com threshold mais alto
480
+ aioson learning:auto-promote . --threshold=5
481
+ ```
482
+
483
+ **Saída:**
484
+
485
+ ```json
486
+ {
487
+ "ok": true,
488
+ "dry_run": false,
489
+ "threshold": 3,
490
+ "eligible": 2,
491
+ "promoted": 2,
492
+ "skipped": 0,
493
+ "noted": 1,
494
+ "promoted_items": [
495
+ { "title": "Commit after each atomic step", "type": "process", "file": ".aioson/rules/process-commit-after-each-atomic-step.md" },
496
+ { "title": "Run tests before commit", "type": "process", "file": ".aioson/rules/process-run-tests-before-commit.md" }
497
+ ],
498
+ "noted_items": [
499
+ { "title": "Cart uniqueness constraint", "type": "domain" }
500
+ ]
501
+ }
502
+ ```
503
+
504
+ ---
505
+
506
+ ## Fluxo completo de uma feature SMALL
507
+
508
+ ```bash
509
+ # 1. Pré-voo: ver o estado antes de começar
510
+ aioson preflight . --agent=dev --feature=checkout
511
+
512
+ # 2. Classificar automaticamente
513
+ aioson classify . --feature=checkout
514
+
515
+ # 3. Verificar cadeia de artefatos
516
+ aioson artifact:validate . --feature=checkout
517
+
518
+ # 4. Checar gate C antes de começar dev
519
+ aioson gate:check . --feature=checkout --gate=C
520
+
521
+ # 5. Executar workflow (ou dry-run primeiro)
522
+ aioson workflow:execute . --feature=checkout --tool=claude --dry-run
523
+ aioson workflow:execute . --feature=checkout --tool=claude
524
+
525
+ # 6. Durante dev: salvar estado ao final de cada fase
526
+ aioson state:save . --feature=checkout --phase=2 --status=in_progress \
527
+ --next="Phase 3: webhook" --spec-version=3
528
+ aioson pulse:update . --agent=dev --feature=checkout \
529
+ --action="Phase 2 done" --next="Phase 3"
530
+
531
+ # 7. QA sign-off
532
+ aioson feature:close . --feature=checkout --verdict=PASS
533
+
534
+ # 8. Promover aprendizados para regras
535
+ aioson learning:auto-promote . --threshold=3
536
+ ```
537
+
538
+ ---
539
+
540
+ ## Integração com a Regra dos 80%
541
+
542
+ Esses scripts foram criados conforme o **Plan 79 — SDD Automation Scripts**. A ideia central é:
543
+
544
+ - **80% do trabalho** de verificação, estado e validação é determinístico — scripts fazem melhor que LLMs
545
+ - **20% restantes** exigem raciocínio — reserve o contexto do agente para isso
546
+
547
+ **Economia estimada por feature:**
548
+
549
+ | Comando | Tokens economizados |
550
+ |---|---|
551
+ | `preflight` | 1.800–3.200 tokens (leitura de vários arquivos) |
552
+ | `classify` | 800–1.500 tokens (análise de scoring) |
553
+ | `gate:check` | 600–1.200 tokens (verificação de pré-requisitos) |
554
+ | `artifact:validate` | 500–900 tokens (varredura de cadeia) |
555
+ | `state:save` + `pulse:update` | 300–600 tokens (escrita de estado) |
556
+ | `feature:close` | 800–1.400 tokens (atualização de três arquivos) |
557
+ | **Total** | **4.800–8.800 por feature** |