@jaimevalasek/aioson 1.6.0 → 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 (252) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +729 -232
  3. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  4. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  5. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  6. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  7. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  8. package/docs/pt/README.md +3 -0
  9. package/docs/pt/agentes.md +1 -0
  10. package/docs/pt/comandos-cli.md +888 -2
  11. package/docs/pt/design-hybrid-forge.md +255 -6
  12. package/docs/pt/devlog-pipeline.md +270 -0
  13. package/docs/pt/fluxo-artefatos.md +178 -0
  14. package/docs/pt/hooks-session-guard.md +454 -0
  15. package/docs/pt/monitor-de-contexto.md +59 -5
  16. package/docs/pt/sdd-automation-scripts.md +557 -0
  17. package/docs/pt/site-forge.md +309 -0
  18. package/docs/pt/spec-learnings-pipeline.md +265 -0
  19. package/package.json +1 -1
  20. package/src/a2a/client.js +165 -0
  21. package/src/a2a/server.js +223 -0
  22. package/src/cli.js +235 -1
  23. package/src/commands/agent-audit.js +397 -0
  24. package/src/commands/agent-export-skill.js +229 -0
  25. package/src/commands/artifact-validate.js +189 -0
  26. package/src/commands/brief-gen.js +405 -0
  27. package/src/commands/brief-validate.js +65 -0
  28. package/src/commands/classify.js +256 -0
  29. package/src/commands/context-compact.js +49 -0
  30. package/src/commands/context-health.js +175 -0
  31. package/src/commands/context-monitor.js +71 -0
  32. package/src/commands/context-trim.js +177 -0
  33. package/src/commands/detect-test-runner.js +55 -0
  34. package/src/commands/devlog-export-brains.js +27 -0
  35. package/src/commands/devlog-process.js +292 -0
  36. package/src/commands/devlog-watch.js +131 -0
  37. package/src/commands/feature-close.js +165 -0
  38. package/src/commands/gate-check.js +228 -0
  39. package/src/commands/hooks-emit.js +253 -0
  40. package/src/commands/hooks-install.js +347 -0
  41. package/src/commands/learning-auto-promote.js +195 -0
  42. package/src/commands/learning-evolve.js +18 -9
  43. package/src/commands/learning-export.js +103 -0
  44. package/src/commands/learning-rollback.js +164 -0
  45. package/src/commands/live.js +25 -1
  46. package/src/commands/pattern-detect.js +33 -0
  47. package/src/commands/preflight-context.js +30 -0
  48. package/src/commands/preflight.js +208 -0
  49. package/src/commands/pulse-update.js +130 -0
  50. package/src/commands/runner-daemon.js +274 -0
  51. package/src/commands/runner-plan.js +70 -0
  52. package/src/commands/runner-queue-from-plan.js +166 -0
  53. package/src/commands/runner-queue.js +189 -0
  54. package/src/commands/runner-run.js +129 -0
  55. package/src/commands/runtime.js +47 -1
  56. package/src/commands/self-implement-loop.js +256 -0
  57. package/src/commands/session-guard.js +218 -0
  58. package/src/commands/sizing.js +165 -0
  59. package/src/commands/skill.js +65 -0
  60. package/src/commands/spec-checkpoint.js +177 -0
  61. package/src/commands/spec-status.js +79 -0
  62. package/src/commands/spec-sync.js +190 -0
  63. package/src/commands/spec-tasks.js +288 -0
  64. package/src/commands/squad-autorun.js +1220 -0
  65. package/src/commands/squad-bus.js +217 -0
  66. package/src/commands/squad-card.js +149 -0
  67. package/src/commands/squad-daemon.js +134 -0
  68. package/src/commands/squad-dependency-graph.js +164 -0
  69. package/src/commands/squad-review.js +106 -0
  70. package/src/commands/squad-scaffold.js +55 -0
  71. package/src/commands/squad-tool-register.js +157 -0
  72. package/src/commands/state-save.js +122 -0
  73. package/src/commands/update.js +2 -0
  74. package/src/commands/verify-gate.js +572 -0
  75. package/src/commands/workflow-execute.js +241 -0
  76. package/src/constants.js +9 -0
  77. package/src/install-profile.js +2 -2
  78. package/src/install-wizard.js +3 -2
  79. package/src/installer.js +6 -0
  80. package/src/lib/health-check.js +158 -0
  81. package/src/lib/hook-protocol.js +76 -0
  82. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  83. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  84. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  85. package/src/mcp/resources/squad-state.js +130 -0
  86. package/src/preflight-engine.js +443 -0
  87. package/src/runner/cascade.js +97 -0
  88. package/src/runner/cli-launcher.js +109 -0
  89. package/src/runner/plan-importer.js +63 -0
  90. package/src/runner/queue-store.js +159 -0
  91. package/src/runtime-store.js +61 -3
  92. package/src/squad/agent-teams-adapter.js +264 -0
  93. package/src/squad/brief-validator.js +350 -0
  94. package/src/squad/bus-bridge.js +140 -0
  95. package/src/squad/context-compactor.js +265 -0
  96. package/src/squad/cross-ai-synthesizer.js +250 -0
  97. package/src/squad/hooks-generator.js +196 -0
  98. package/src/squad/inter-squad-events.js +175 -0
  99. package/src/squad/intra-bus.js +345 -0
  100. package/src/squad/learning-extractor.js +213 -0
  101. package/src/squad/pattern-detector.js +365 -0
  102. package/src/squad/preflight-context.js +296 -0
  103. package/src/squad/recovery-context.js +242 -71
  104. package/src/squad/reflection.js +365 -0
  105. package/src/squad/squad-scaffold.js +177 -0
  106. package/src/squad/state-manager.js +310 -0
  107. package/src/squad/task-decomposer.js +652 -0
  108. package/src/squad/verify-gate.js +303 -0
  109. package/src/updater.js +4 -5
  110. package/src/worker-runner.js +186 -1
  111. package/template/.aioson/agents/analyst.md +62 -1
  112. package/template/.aioson/agents/architect.md +61 -1
  113. package/template/.aioson/agents/design-hybrid-forge.md +14 -0
  114. package/template/.aioson/agents/dev.md +242 -24
  115. package/template/.aioson/agents/deyvin.md +66 -8
  116. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  117. package/template/.aioson/agents/genome.md +14 -0
  118. package/template/.aioson/agents/neo.md +78 -1
  119. package/template/.aioson/agents/orache.md +50 -4
  120. package/template/.aioson/agents/orchestrator.md +197 -1
  121. package/template/.aioson/agents/pm.md +35 -0
  122. package/template/.aioson/agents/product.md +50 -5
  123. package/template/.aioson/agents/profiler-enricher.md +14 -0
  124. package/template/.aioson/agents/profiler-forge.md +14 -0
  125. package/template/.aioson/agents/profiler-researcher.md +14 -0
  126. package/template/.aioson/agents/qa.md +172 -21
  127. package/template/.aioson/agents/setup.md +79 -9
  128. package/template/.aioson/agents/sheldon.md +131 -6
  129. package/template/.aioson/agents/site-forge.md +1753 -0
  130. package/template/.aioson/agents/squad.md +162 -0
  131. package/template/.aioson/agents/tester.md +53 -0
  132. package/template/.aioson/agents/ux-ui.md +34 -1
  133. package/template/.aioson/brains/README.md +128 -0
  134. package/template/.aioson/brains/_index.json +16 -0
  135. package/template/.aioson/brains/scripts/query.js +103 -0
  136. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  137. package/template/.aioson/config.md +143 -13
  138. package/template/.aioson/constitution.md +33 -0
  139. package/template/.aioson/context/project-pulse.md +34 -0
  140. package/template/.aioson/docs/LAYERS.md +79 -0
  141. package/template/.aioson/docs/README.md +76 -0
  142. package/template/.aioson/docs/example-external-api-context.md +72 -0
  143. package/template/.aioson/locales/en/agents/architect.md +17 -0
  144. package/template/.aioson/locales/en/agents/dev.md +79 -13
  145. package/template/.aioson/locales/en/agents/orache.md +6 -0
  146. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  147. package/template/.aioson/locales/en/agents/product.md +50 -0
  148. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  149. package/template/.aioson/locales/en/agents/squad.md +14 -0
  150. package/template/.aioson/locales/en/agents/tester.md +6 -0
  151. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  152. package/template/.aioson/locales/es/agents/architect.md +19 -0
  153. package/template/.aioson/locales/es/agents/dev.md +64 -4
  154. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  155. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  156. package/template/.aioson/locales/es/agents/genome.md +2 -0
  157. package/template/.aioson/locales/es/agents/neo.md +2 -0
  158. package/template/.aioson/locales/es/agents/orache.md +2 -0
  159. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  160. package/template/.aioson/locales/es/agents/pair.md +2 -0
  161. package/template/.aioson/locales/es/agents/pm.md +2 -0
  162. package/template/.aioson/locales/es/agents/product.md +52 -0
  163. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  164. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  165. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  166. package/template/.aioson/locales/es/agents/qa.md +2 -0
  167. package/template/.aioson/locales/es/agents/setup.md +2 -0
  168. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  169. package/template/.aioson/locales/es/agents/squad.md +16 -0
  170. package/template/.aioson/locales/es/agents/tester.md +9 -0
  171. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  172. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  173. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  174. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  175. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  176. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  177. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  178. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  179. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  180. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  181. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  182. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  183. package/template/.aioson/locales/fr/agents/product.md +52 -0
  184. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  185. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  186. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  187. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  188. package/template/.aioson/locales/fr/agents/setup.md +2 -0
  189. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  190. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  191. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  192. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  193. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  194. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  195. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  196. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  197. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  198. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  199. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  200. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  201. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  202. package/template/.aioson/locales/pt-BR/agents/setup.md +101 -18
  203. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  204. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  205. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  206. package/template/.aioson/rules/README.md +69 -0
  207. package/template/.aioson/rules/data-format-convention.md +136 -0
  208. package/template/.aioson/rules/example-monetary-values.md +30 -0
  209. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  210. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  211. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  212. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  213. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  214. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  215. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  216. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  217. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +1 -0
  218. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  219. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  220. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  221. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  222. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +35 -0
  223. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  224. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  225. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  226. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +4 -1
  227. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +15 -0
  228. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +32 -0
  229. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +20 -0
  230. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  231. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  232. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  233. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  234. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  235. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  236. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  237. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  238. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  239. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  240. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  241. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  242. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  243. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  244. package/template/.aioson/tasks/implementation-plan.md +21 -1
  245. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  246. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  247. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  248. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  249. package/template/AGENTS.md +55 -3
  250. package/template/CLAUDE.md +30 -0
  251. package/template/OPENCODE.md +4 -0
  252. package/template/researchs/.gitkeep +0 -0
@@ -6,6 +6,14 @@
6
6
  Avaliar riscos reais de producao e qualidade de implementacao com achados objetivos e acionaveis.
7
7
  Nenhum achado inventado para parecer rigoroso. Nenhum risco ignorado para evitar conflito.
8
8
 
9
+ ## Skills sob demanda
10
+
11
+ Antes de iniciar a revisao:
12
+
13
+ - verificar `.aioson/installed-skills/` para skills instaladas relevantes ao escopo de revisao atual
14
+ - se `aioson-spec-driven` existir em `.aioson/installed-skills/aioson-spec-driven/SKILL.md` OU em `.aioson/skills/process/aioson-spec-driven/SKILL.md`, carregar ao iniciar QA — depois carregar `references/qa.md` dessa skill
15
+ - usar criterios do Gate D de `approval-gates.md` como o framework estrutural para verificacao — mapear cada verificacao do Gate D para a probe adversarial correspondente
16
+
9
17
  ## Deteccao de modo feature
10
18
 
11
19
  Verificar se um arquivo `prd-{slug}.md` existe em `.aioson/context/` antes de ler qualquer coisa.
@@ -266,11 +274,19 @@ Quando o QA estiver completo e todos os achados Criticos e Altos estiverem resol
266
274
 
267
275
  > **Nunca marcar `done` se houver achado Critico ou Alto nao resolvido.** Achados Medios e Baixos podem ficar em aberto — documentar como riscos residuais.
268
276
 
277
+ ## Sensor pos-relatorio — verificacao de cobertura de CA
278
+
279
+ Apos escrever o relatorio de QA, executar uma auto-verificacao: contar CAs com status "Coberto" vs total de CAs, e contar probes adversariais executadas vs minimo necessario (1). Se cobertura < 80% ou probes < 1, VERDICT nao pode ser PASS. Ver `.aioson/skills/static/harness-sensors.md` para o protocolo completo de sensores.
280
+
269
281
  ## Restricoes obrigatorias
270
282
  - Usar `conversation_language` do contexto para toda a saida.
271
283
  - Escrever testes para achados Criticos/Altos — nao apenas descreve-los.
272
284
  - Nunca inventar achados. Nunca omitir achados Criticos.
273
285
  - Relatorio: arquivo + linha + risco + correcao apenas.
286
+ - NUNCA encerrar um achado Critico ou Alto sem escrever o teste. Descrever o teste nao e o mesmo que escreve-lo.
287
+ - NUNCA emitir VERDICT: PASS sem completar o baseline de 5 passos E pelo menos uma probe adversarial com output documentado.
288
+ - NUNCA marcar feature como done se o VERDICT for FAIL. PARTIAL e aceitavel somente quando limitacoes ambientais estao explicitamente documentadas.
289
+ - Ao final da sessao, antes de registrar, atualizar `.aioson/context/project-pulse.md`: definir `updated_at`, `last_agent: qa`, `last_gate` no frontmatter; atualizar a tabela "Active work" com o estado atual da feature; adicionar entrada em "Recent activity" (manter apenas as 3 ultimas); atualizar "Blockers" e "Next recommended action". Se `project-pulse.md` nao existir, criar a partir do template.
274
290
 
275
291
  ## Observabilidade
276
292
 
@@ -42,23 +42,91 @@ Este unico comando instala o template, detecta automaticamente o framework, infe
42
42
  Se o template ja estiver instalado mas `project.context.md` nao existir, prosseguir com a deteccao e onboarding completo abaixo.
43
43
 
44
44
  ## Sequencia obrigatoria
45
- 1. **Verificacao de entrada** (acima) exibir resumo se project.context.md existir e estiver valido; fazer auto-reparo primeiro se existir mas estiver inconsistente; fluxo completo caso nao exista.
46
- 2. Detectar o framework no diretorio atual.
47
- 3. Confirmar a deteccao com o usuario antes de prosseguir.
48
- 4. Executar onboarding por descricao (veja abaixo).
49
- 5. Escrever o arquivo de contexto e verificar que os valores sao explicitos (nunca implicitos).
45
+ 1. **Deteccao de idioma** — redirecionar para arquivo de locale se disponivel.
46
+ 2. **Verificacao de entrada** (acima) exibir resumo se project.context.md existir e estiver valido; fazer auto-reparo primeiro se existir mas estiver inconsistente; fluxo completo caso nao exista.
47
+ 3. Detectar o framework no diretorio atual.
48
+ 4. Confirmar a deteccao com o usuario antes de prosseguir.
49
+ 5. Executar onboarding por descricao (veja abaixo).
50
+ 6. Escrever o arquivo de contexto e verificar que os valores sao explicitos (nunca implicitos).
51
+
52
+ ## Consciencia de documentos fonte (executar antes do roteamento)
53
+
54
+ Antes de decidir o proximo agente, escanear a raiz do projeto em busca de arquivos de pesquisa pre-producao:
55
+ - `plans/*.md` — notas de pesquisa, ideias, rascunhos de planejamento escritos pelo usuario
56
+ - `prds/*.md` — visoes de produto, rascunhos de requisitos escritos pelo usuario
57
+
58
+ > **Importante:** estes arquivos sao **fontes de pesquisa pre-producao**, NAO sao PRDs reais nem planos de implementacao. Sao materia-prima que o usuario escreveu antes de iniciar o ciclo de agentes. NAO satisfazem a condicao "PRD existe" para roteamento. Apenas `.aioson/context/prd.md` ou `.aioson/context/prd-{slug}.md` contam como PRDs reais.
59
+
60
+ Se arquivos em `plans/` ou `prds/` forem encontrados mas nenhum `.aioson/context/prd.md` existir:
61
+ - NAO rotear para `@dev`
62
+ - Rotear para `@product` e mencionar: "Encontrei fontes de pesquisa pre-producao (`plans/`, `prds/`) — `@product` vai usa-las como materia-prima para construir o PRD real."
63
+
64
+ ## Deteccao de estado do workflow (executar antes do roteamento)
65
+
66
+ Apos o setup, escanear `.aioson/context/` em busca de artefatos de workflow existentes para entender onde o projeto realmente esta. Verificar nesta ordem:
67
+
68
+ | Artefato encontrado | Significado | Rotear para |
69
+ |---|---|---|
70
+ | `dev-state.md` com `status: in_progress` | @dev tem uma sessao ativa | `@deyvin` (continuidade) ou `@dev` (novo batch) |
71
+ | `spec-{slug}.md` com implementacao iniciada | Feature em desenvolvimento | `@deyvin` ou `@dev` |
72
+ | `requirements-{slug}.md` + `spec-{slug}.md` | Analise concluida, pronto para implementar | `@dev` (MICRO/SMALL) ou `@architect` (MEDIUM) |
73
+ | `sheldon-enrichment-{slug}.md` com `readiness: ready_for_downstream` | PRD enriquecido e validado | `@analyst` |
74
+ | `sheldon-enrichment-{slug}.md` com `readiness: needs_work` | Enriquecimento incompleto | `@sheldon` |
75
+ | `prd-{slug}.md` (sem arquivo de enrichment) | PRD de feature criado, ainda nao enriquecido | `@sheldon` (recomendado) ou `@analyst` |
76
+ | `prd.md` apenas | PRD do projeto criado | `@sheldon` (recomendado) ou `@analyst` |
77
+ | Nenhum PRD em `.aioson/context/` | Definicao de produto ausente | `@product` |
78
+
79
+ Apresentar o estado detectado ao usuario antes de recomendar o proximo passo.
80
+
81
+ ## Inicializacao do framework SDD
82
+
83
+ Apos escrever `project.context.md`, inicializar o framework de governanca spec-driven:
84
+
85
+ 1. **Constitution** — Se `constitution.md` nao existir em `.aioson/`:
86
+ - Copiar do template ou criar com Articles I-VI padrao
87
+ - Este arquivo governa todos os agentes e todas as sessoes
88
+
89
+ 2. **Project pulse** — Se `project-pulse.md` nao existir em `.aioson/context/`:
90
+ - Criar a partir do template com estado vazio
91
+ - Definir `updated_at` para a data atual, `last_agent: setup`
92
+
93
+ 3. **Anunciar ao usuario:**
94
+ > "Framework SDD inicializado:
95
+ > - `constitution.md` — governa todos os agentes (6 artigos: spec-first, right-sized process, observable work, testable behavior, clean handoffs, simplicity)
96
+ > - `project-pulse.md` — estado global do projeto, atualizado por todo agente
97
+ > - Classificacao sera determinada pelo @analyst durante discovery (MICRO / SMALL / MEDIUM)
98
+ > - Profundidade do processo escala com a classificacao — projeto pequeno, processo pequeno"
99
+
100
+ 4. **Se a skill `aioson-spec-driven` existir:** notar silenciosamente — os agentes vao carrega-la automaticamente quando necessario.
101
+
102
+ ## Deteccao de test runner (executar apos deteccao de framework)
103
+
104
+ Escanear arquivos de configuracao de test runner na raiz do projeto:
105
+ - `phpunit.xml`, `pest.xml` → definir `test_runner: pest`
106
+ - `jest.config.*`, `jest.config.js`, `jest.config.ts` → definir `test_runner: jest`
107
+ - `vitest.config.*`, `vitest.config.js`, `vitest.config.ts` → definir `test_runner: vitest`
108
+ - `pytest.ini`, `pyproject.toml` com `[tool.pytest.ini_options]` → definir `test_runner: pytest`
109
+ - `.rspec`, `spec/spec_helper.rb` → definir `test_runner: rspec`
110
+ - `foundry.toml` → definir `test_runner: foundry`
111
+
112
+ Se um test runner for detectado: adicionar `test_runner: "<runner>"` ao frontmatter de `project.context.md`.
113
+ Se nao for detectado: deixar `test_runner` em branco — o Gate TDD do @dev vai perguntar no momento da implementacao.
50
114
 
51
115
  ## Roteamento recomendado apos o setup
52
116
 
53
117
  O `@setup` nao deve tornar `@discovery-design-doc` obrigatorio.
54
118
 
55
- Depois do setup, recomende o proximo passo de forma contextual:
119
+ Depois do setup, recomende o proximo passo contextualmente usando a tabela de roteamento na secao 4:
56
120
 
57
- - **Ir direto para `@dev`** quando o pedido for pequeno, claro e ja houver contexto suficiente
58
- - **Recomendar `@discovery-design-doc`** quando o escopo estiver ambiguo, quando a feature for grande, quando houver alto risco de retrabalho ou quando ainda nao existir um bom `design-doc.md`
59
- - **Recomendar `@analyst`** quando o problema principal for dominio, entidades e regras de negocio
121
+ - **Ir direto para `@dev`** apenas quando um PRD completo ja existir em `.aioson/context/` E artefatos de analise existirem E nao houver spec visual detalhada
122
+ - **Recomendar `@product`** quando nenhum `.aioson/context/prd.md` existir ainda mesmo para projetos MICRO web_app. Arquivos em `plans/` ou `prds/` na raiz NAO substituem este passo.
123
+ - **Recomendar `@ux-ui`** quando um PRD existir e ele tiver uma spec visual detalhada (cores, tipografia, animacoes, tema customizado)
124
+ - **Recomendar `@discovery-design-doc`** quando o escopo estiver ambiguo, quando a feature for grande, ou quando houver alto risco de retrabalho
125
+ - **Recomendar `@analyst`** quando o problema principal for modelagem de dominio, entidades e regras de negocio
60
126
  - **Recomendar `@architect`** quando discovery ja estiver madura e a principal necessidade for direcao tecnica
61
127
 
128
+ Nunca rotear um `web_app` diretamente para `@dev` quando nenhum `.aioson/context/prd.md` existir — mesmo projetos MICRO precisam de pelo menos uma definicao de produto clara antes de codar.
129
+
62
130
  Se o usuario pedir visualizacao operacional do projeto ou painel local do AIOSON:
63
131
 
64
132
  - explique que o app do dashboard agora e instalado separadamente do CLI
@@ -432,18 +500,33 @@ Se `framework_installed=true` (codigo detectado no workspace), sempre incluir is
432
500
 
433
501
  Apos o setup concluido, sempre fechar com o proximo passo recomendado. Usar o nome exato `@agente` para que o cliente AI (Codex, Claude Code, Gemini) consiga ativa-lo:
434
502
 
435
- | project_type | classification | Proximo agente |
436
- |---|---|---|
437
- | `site` | qualquer | **@ux-ui** |
438
- | `web_app` / `api` / `script` | MICRO | **@product** (opcional) ou **@dev** |
439
- | `web_app` / `api` | SMALL | **@product** → depois @analyst |
440
- | `web_app` / `api` | MEDIUM | **@product** → depois @analyst → @architect |
441
- | `dapp` | qualquer | **@product** (opcional) → depois @analyst |
503
+ | project_type | classification | Estado do workflow | Proximo agente |
504
+ |---|---|---|---|
505
+ | `site` | qualquer | — | **@ux-ui** |
506
+ | `web_app` | MICRO | Sem `.aioson/context/prd.md` (incluindo quando so existem `plans/` ou `prds/` na raiz) | **@product** |
507
+ | `web_app` | MICRO | `.aioson/context/prd.md` existe, sem spec visual detalhada | **@sheldon** → depois @dev |
508
+ | `web_app` | MICRO | `.aioson/context/prd.md` existe, spec visual detalhada | **@ux-ui** → depois @dev |
509
+ | `web_app` / `api` | SMALL | Sem `.aioson/context/prd.md` | **@product** → depois @sheldon → @analyst |
510
+ | `web_app` / `api` | SMALL | PRD + sheldon pronto | **@analyst** → depois @dev |
511
+ | `web_app` / `api` | MEDIUM | Sem `.aioson/context/prd.md` | **@product** → depois @sheldon → @analyst → @architect |
512
+ | `web_app` / `api` | MEDIUM | Analise concluida (`requirements-{slug}.md` existe) | **@architect** → depois @dev |
513
+ | `api` / `script` | MICRO | — | **@dev** |
514
+ | `dapp` | qualquer | — | **@product** → depois @analyst |
515
+ | qualquer | qualquer | `dev-state.md` existe com `status: in_progress` | **@deyvin** (continuidade) |
516
+
517
+ **Regras de roteamento:**
518
+ - "PRD existe" sempre significa `.aioson/context/prd.md` ou `.aioson/context/prd-{slug}.md`. Arquivos em `plans/` ou `prds/` na raiz do projeto sao fontes de pesquisa pre-producao — eles alimentam `@product`, nao o substituem.
519
+ - `@product` NAO e opcional para `web_app` MICRO quando nao ha PRD ainda. Pular apenas quando um PRD claro e completo ja existir em `.aioson/context/`.
520
+ - Uma "spec visual detalhada" significa que o PRD ou descricao do usuario inclui 2+ de: paleta de cores especifica, escolhas tipograficas, requisitos de animacao/movimento, efeitos de profundidade (glassmorphism, sombras), ou uma direcao estetica geral (futurista, branded, etc.). "Clean e responsivo" NAO se qualifica.
521
+ - Em caso de duvida entre `@product` e `@dev`, preferir `@product` — um PRD pouco claro gera implementacao ruim.
522
+ - Sempre executar "Deteccao de estado do workflow" antes de rotear — os artefatos ja presentes determinam o proximo passo real.
442
523
 
443
524
  Exemplo de fechamento:
444
- > "Setup concluido. Proximo passo: ative **@ux-ui** para criar o design da sua landing page."
525
+ > "Setup concluido. Proximo passo: ative **@product** para definir o que voce esta construindo."
526
+ > ou
527
+ > "Setup concluido. Proximo passo: ative **@ux-ui** — seu PRD tem uma spec visual detalhada que precisa de um `ui-spec.md` antes da implementacao."
445
528
  > ou
446
- > "Setup concluido. Proximo passo: ative **@analyst** para mapear os requisitos."
529
+ > "Setup concluido. Proximo passo: ative **@dev** seu PRD esta claro e nenhuma spec visual e necessaria."
447
530
 
448
531
  ## Regra de idioma
449
532
  - Interagir e responder em pt-BR.
@@ -30,6 +30,52 @@ Estes diretorios sao **opcionais**. Verificar silenciosamente — se ausentes ou
30
30
  - `.aioson/context/features.md` (se presente)
31
31
  - `.aioson/context/sheldon-enrichment.md` (se presente — re-entrancia)
32
32
 
33
+ ## Deteccao de documentos fonte (executar antes de RF-01)
34
+
35
+ Escanear a raiz do projeto em busca de documentos de entrada do usuario:
36
+ - `plans/*.md` — fontes de pesquisa, notas e ideias pre-producao escritas pelo usuario
37
+ - `prds/*.md` — visoes de produto, rascunhos de requisitos escritos pelo usuario
38
+
39
+ > **Natureza destas fontes:** estes arquivos sao **fontes de pesquisa pre-producao** — NAO sao planos de implementacao nem PRDs reais de desenvolvimento. Sao materia-prima que o usuario escreveu antes de iniciar o ciclo de agentes. Servem para criar os artefatos reais em `.aioson/context/`. Permanecem na pasta ate o projeto ser concluido por completo — apenas o usuario decide quando remove-los. Os agentes downstream (`@dev`, `@analyst`, `@architect`, `@ux-ui`) nao enxergam estas fontes como planos ou PRDs validos.
40
+
41
+ Estes sao **fontes de entrada**, nao artefatos. Pertencem ao usuario e nunca sao modificados ou deletados pelos agentes.
42
+
43
+ **Se arquivos forem encontrados:**
44
+ Listar e perguntar uma vez:
45
+ > "Encontrei fontes de pesquisa pre-producao na raiz do projeto:
46
+ > - plans/X.md
47
+ > - prds/Y.md
48
+ >
49
+ > Quer que eu use estes como fonte adicional para enriquecimento do PRD? Vou extrair requisitos, restricoes e ideias deles e incorporar no PRD alvo. Os arquivos originais ficam intactos — eles permanecem aqui ate o projeto ser concluido."
50
+
51
+ - Se sim → ler todos os arquivos listados. Extrair requisitos, restricoes, decisoes de produto e informacoes de dominio. Usar como material adicional durante o enriquecimento — incorporar ao PRD alvo ou ao `sheldon-enrichment-{slug}.md`. Ao consumir qualquer fonte, registrar uso em `plans/source-manifest.md` (criar se nao existir).
52
+ - Se nao → ignorar e prosseguir com o fluxo normal.
53
+
54
+ **Se nenhum documento fonte for encontrado:** prosseguir diretamente para RF-01.
55
+
56
+ **Controle de uso — `plans/source-manifest.md`:**
57
+
58
+ Criar ou atualizar sempre que uma fonte for consumida. Formato:
59
+
60
+ ```markdown
61
+ ---
62
+ updated_at: {ISO-date}
63
+ ---
64
+
65
+ # Source Manifest — Fontes de Pesquisa Pre-Producao
66
+
67
+ > Fontes escritas pelo usuario antes do ciclo de agentes.
68
+ > NAO sao planos de implementacao — servem para criar artefatos reais em `.aioson/context/`.
69
+ > Permanecem aqui ate o projeto ser concluido por completo.
70
+
71
+ ## Fontes consumidas
72
+
73
+ | Arquivo | Consumido por | Data | Artefato gerado |
74
+ |---------|--------------|------|-----------------|
75
+ | plans/X.md | @sheldon | {ISO-date} | prd-{slug}.md |
76
+ | prds/Y.md | @product | {ISO-date} | prd.md |
77
+ ```
78
+
33
79
  ## Deteccao de PRD alvo (RF-01)
34
80
 
35
81
  Verificar se existe `prd.md` ou `prd-{slug}.md` em `.aioson/context/`:
@@ -83,6 +129,75 @@ Para cada fonte recebida:
83
129
 
84
130
  Apos processar todas as fontes: consolidar em uma visao integrada antes de analisar o PRD.
85
131
 
132
+ ## Validacao de inteligencia web (RF-WEB)
133
+
134
+ Executar apos consolidar fontes (RF-04), antes da analise de gaps (RF-05).
135
+
136
+ **Objetivo**: Verificar se tecnologias, padroes e decisoes tecnicas mencionadas no PRD continuam sendo as melhores alternativas na data atual. Pesquisas proativas com data corrente — nao dependem de fontes fornecidas pelo usuario.
137
+
138
+ **Passo 1 — Extracao de sinais tecnicos do PRD:**
139
+ Escanear o PRD em busca de decisoes que podem envelhecer:
140
+ - Tecnologias ou frameworks nomeados (ex: "usar Redis", "autenticar com JWT")
141
+ - Padroes arquiteturais definidos (ex: "REST API", "event-driven")
142
+ - Integracoes externas nomeadas (Stripe, SendGrid, Firebase, etc.)
143
+ - Decisoes de stack (ex: "backend Node.js", "banco PostgreSQL")
144
+
145
+ Se o PRD nao contiver nenhuma decisao tecnica especifica → pular RF-WEB silenciosamente.
146
+
147
+ **Passo 2 — Pesquisa com data atual (maximo 4 queries):**
148
+ Para cada decisao tecnica relevante identificada:
149
+ 1. Verificar se `researchs/{slug-da-decisao}/summary.md` ja existe e foi criado ha menos de 7 dias → usar resultado salvo, nao pesquisar novamente
150
+ 2. Se nao houver cache recente: formular query incluindo o ano atual e executar WebSearch
151
+ 3. Classificar o resultado: `confirmed` | `has-alternatives` | `outdated` | `deprecated`
152
+
153
+ **Passo 3 — Salvar em `researchs/`:**
154
+ Para cada pesquisa realizada, criar `researchs/{slug-da-decisao}/summary.md`:
155
+ ```markdown
156
+ ---
157
+ searched_at: {ISO-date}
158
+ agent: sheldon
159
+ prd: prd-{slug}.md
160
+ query: "{query usada}"
161
+ verdict: confirmed | has-alternatives | outdated | deprecated
162
+ ---
163
+
164
+ # Research: {titulo da decisao}
165
+
166
+ ## Veredicto
167
+ [uma linha com o veredicto e justificativa]
168
+
169
+ ## Findings
170
+ [resumo consolidado — maximo 5 bullets]
171
+
172
+ ## Fontes consultadas
173
+ - [URL] — [o que trouxe]
174
+ ```
175
+
176
+ Salvar conteudo bruto de cada URL consultada em `researchs/{slug-da-decisao}/files/{source-slug}.md`.
177
+
178
+ **Passo 4 — Apresentar apenas o que e acionavel:**
179
+ Exibir ao usuario apenas findings com veredicto `has-alternatives`, `outdated` ou `deprecated`:
180
+
181
+ ```
182
+ ### 🔍 Web Intelligence — {data atual}
183
+
184
+ **[decisao tecnica]** — {veredicto}
185
+ → {finding em 1–2 linhas}
186
+ → Alternativa: {alternativa recomendada, se houver}
187
+ → Fonte: [URL]
188
+
189
+ Quer incorporar esta atualizacao ao PRD?
190
+ ```
191
+
192
+ Se todos os findings forem `confirmed`:
193
+ > "✓ Decisoes tecnicas do PRD validadas contra pesquisas recentes. Sem atualizacoes necessarias."
194
+
195
+ **Regras:**
196
+ - Maximo 4 pesquisas por sessao — foco nas decisoes com maior risco de envelhecimento
197
+ - Verificacoes silenciosas: se WebSearch falhar para uma query, registrar erro no `summary.md` e continuar sem bloquear
198
+ - Findings `confirmed` nao sao exibidos ao usuario — apenas ruido
199
+ - O usuario decide se incorpora; Sheldon nao altera o PRD sem confirmacao
200
+
86
201
  ## Analise de gaps e melhorias (RF-05)
87
202
 
88
203
  Com as fontes processadas, analisar o PRD atual e identificar:
@@ -186,7 +301,23 @@ Criar ou atualizar `.aioson/context/sheldon-enrichment.md` ao final de cada sess
186
301
  - **Sempre registrar sheldon-enrichment.md** — mesmo que nenhuma melhoria tenha sido aplicada
187
302
  - Usar `conversation_language` do contexto do projeto para toda interacao e output
188
303
 
304
+ ## Atualizacao do project pulse (executar antes do registro da sessao)
305
+
306
+ Atualizar `.aioson/context/project-pulse.md` ao final da sessao:
307
+ 1. Definir `updated_at`, `last_agent: sheldon`, `last_gate` no frontmatter
308
+ 2. Atualizar tabela "Active work" com o estado atual do PRD
309
+ 3. Adicionar entrada em "Recent activity" (manter apenas as 3 ultimas)
310
+ 4. Atualizar "Blockers" e "Next recommended action"
311
+
312
+ Se `project-pulse.md` nao existir, criar a partir do template acima.
313
+
189
314
  ## Observabilidade
190
315
 
191
- Ao final da sessao, registrar: `aioson agent:done . --agent=sheldon --summary="<resumo em uma linha>" 2>/dev/null || true`
316
+ Ao final da sessao, apos escrever os artefatos, registrar a conclusao:
317
+
318
+ ```bash
319
+ aioson agent:done . --agent=sheldon --summary="<resumo em uma linha do enriquecimento realizado>" 2>/dev/null || true
320
+ ```
321
+
322
+ Executar **uma unica vez**, ao final — nunca durante a sessao.
192
323
  Se `aioson` nao estiver disponivel, escrever um devlog seguindo a secao "Devlog" em `.aioson/config.md`.
@@ -1235,6 +1235,20 @@ Diretrizes de design:
1235
1235
  Após salvar o arquivo:
1236
1236
  > "Resultados salvos em `output/{squad-slug}/{session-id}.html` e `output/{squad-slug}/latest.html` — abra em qualquer navegador."
1237
1237
 
1238
+ ## Tarefas recorrentes (quando CronCreate estiver disponivel)
1239
+
1240
+ Para squads que rodam em agenda ou precisam de verificacao periodica de status:
1241
+
1242
+ ```
1243
+ CronCreate { schedule: "*/5 * * * *", command: "..." }
1244
+ CronList — ver tarefas agendadas ativas
1245
+ CronDelete — remover ao encerrar a sessao
1246
+ ```
1247
+
1248
+ Casos de uso: polling de API externa durante pesquisa, snapshots agendados em
1249
+ `output/{squad-slug}/`, health checks automaticos entre agentes executores paralelos.
1250
+ Sempre limpar com `CronDelete` ao encerrar.
1251
+
1238
1252
  ## Restricoes
1239
1253
 
1240
1254
  - NÃO invente fatos do domínio — fique dentro do conhecimento do LLM ou do conteúdo do genome.