synapos 2.5.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 (238) hide show
  1. package/.github/copilot-instructions.md +72 -0
  2. package/.synapos/.manifest.json +155 -0
  3. package/.synapos/GUIDE.md +660 -0
  4. package/.synapos/VERSION +1 -0
  5. package/.synapos/_memory/company.md +11 -0
  6. package/.synapos/_memory/preferences.md +15 -0
  7. package/.synapos/copilot.md +451 -0
  8. package/.synapos/core/best-practices/_catalog.yaml +56 -0
  9. package/.synapos/core/best-practices/content/blog-post.md +238 -0
  10. package/.synapos/core/best-practices/content/copywriting.md +164 -0
  11. package/.synapos/core/best-practices/content/linkedin-post.md +186 -0
  12. package/.synapos/core/best-practices/dev/api-design.md +274 -0
  13. package/.synapos/core/best-practices/dev/code-review.md +138 -0
  14. package/.synapos/core/best-practices/dev/git-workflow.md +256 -0
  15. package/.synapos/core/best-practices/dev/testing-strategy.md +213 -0
  16. package/.synapos/core/best-practices/product/product-spec.md +235 -0
  17. package/.synapos/core/best-practices/product/technical-writing.md +264 -0
  18. package/.synapos/core/best-practices/product/user-research.md +242 -0
  19. package/.synapos/core/commands/bump.md +59 -0
  20. package/.synapos/core/commands/debug/session.md +100 -0
  21. package/.synapos/core/commands/migrate/v1-to-v2.md +142 -0
  22. package/.synapos/core/commands/set-model.md +197 -0
  23. package/.synapos/core/commands/setup/build-business.md +378 -0
  24. package/.synapos/core/commands/setup/build-tech.md +374 -0
  25. package/.synapos/core/commands/setup/discover.md +543 -0
  26. package/.synapos/core/commands/setup/from-code.md +407 -0
  27. package/.synapos/core/commands/setup/start.md +201 -0
  28. package/.synapos/core/copilot-adapter.md +283 -0
  29. package/.synapos/core/gate-system.md +417 -0
  30. package/.synapos/core/model-adapter.md +245 -0
  31. package/.synapos/core/orchestrator.md +794 -0
  32. package/.synapos/core/pipeline-runner.md +784 -0
  33. package/.synapos/core/pipelines/pre-execution.yaml +107 -0
  34. package/.synapos/core/rules/product-agent.mdc +59 -0
  35. package/.synapos/core/skills-engine.md +207 -0
  36. package/.synapos/core/versioning.md +218 -0
  37. package/.synapos/skills/.gitkeep +0 -0
  38. package/.synapos/skills/brave-search/SKILL.md +130 -0
  39. package/.synapos/skills/fetch-url/SKILL.md +135 -0
  40. package/.synapos/skills/filesystem/SKILL.md +162 -0
  41. package/.synapos/skills/github/SKILL.md +148 -0
  42. package/.synapos/skills/playwright-browser/SKILL.md +124 -0
  43. package/.synapos/squad-templates/backend/agents/alexandre-api.agent.md +243 -0
  44. package/.synapos/squad-templates/backend/agents/bruno-base.agent.md +240 -0
  45. package/.synapos/squad-templates/backend/agents/daniela-dados.agent.md +267 -0
  46. package/.synapos/squad-templates/backend/agents/roberto-revisao-be.agent.md +219 -0
  47. package/.synapos/squad-templates/backend/agents/sergio-seguranca.agent.md +266 -0
  48. package/.synapos/squad-templates/backend/pipelines/api-development.yaml +83 -0
  49. package/.synapos/squad-templates/backend/pipelines/bug-fix.yaml +41 -0
  50. package/.synapos/squad-templates/backend/pipelines/database-migration.yaml +56 -0
  51. package/.synapos/squad-templates/backend/pipelines/quick-fix.yaml +40 -0
  52. package/.synapos/squad-templates/backend/pipelines/steps/01-gate-integridade.md +66 -0
  53. package/.synapos/squad-templates/backend/pipelines/steps/02-design-api.md +155 -0
  54. package/.synapos/squad-templates/backend/pipelines/steps/03-checkpoint-contrato.md +44 -0
  55. package/.synapos/squad-templates/backend/pipelines/steps/04-implementacao.md +113 -0
  56. package/.synapos/squad-templates/backend/pipelines/steps/05-seguranca.md +100 -0
  57. package/.synapos/squad-templates/backend/pipelines/steps/06-review.md +80 -0
  58. package/.synapos/squad-templates/backend/pipelines/steps/atualizar-tarefa.md +138 -0
  59. package/.synapos/squad-templates/backend/pipelines/steps/bfbe-02-diagnostico.md +47 -0
  60. package/.synapos/squad-templates/backend/pipelines/steps/bfbe-03-fix.md +41 -0
  61. package/.synapos/squad-templates/backend/pipelines/steps/bfbe-04-review.md +42 -0
  62. package/.synapos/squad-templates/backend/pipelines/steps/dm-02-schema.md +85 -0
  63. package/.synapos/squad-templates/backend/pipelines/steps/dm-03-checkpoint.md +30 -0
  64. package/.synapos/squad-templates/backend/pipelines/steps/dm-04-migration.md +58 -0
  65. package/.synapos/squad-templates/backend/pipelines/steps/dm-05-review.md +44 -0
  66. package/.synapos/squad-templates/backend/pipelines/steps/qf-02-contexto.md +34 -0
  67. package/.synapos/squad-templates/backend/pipelines/steps/qf-03-executar.md +49 -0
  68. package/.synapos/squad-templates/backend/pipelines/steps/qf-04-registrar.md +35 -0
  69. package/.synapos/squad-templates/backend/template.yaml +72 -0
  70. package/.synapos/squad-templates/devops/agents/claudio-containers.agent.md +245 -0
  71. package/.synapos/squad-templates/devops/agents/igor-infra.agent.md +198 -0
  72. package/.synapos/squad-templates/devops/agents/osvaldo-observabilidade.agent.md +262 -0
  73. package/.synapos/squad-templates/devops/agents/patricia-pipeline.agent.md +253 -0
  74. package/.synapos/squad-templates/devops/pipelines/ci-cd-setup.yaml +93 -0
  75. package/.synapos/squad-templates/devops/pipelines/infra-provision.yaml +56 -0
  76. package/.synapos/squad-templates/devops/pipelines/quick-fix.yaml +41 -0
  77. package/.synapos/squad-templates/devops/pipelines/steps/01-gate-integridade.md +62 -0
  78. package/.synapos/squad-templates/devops/pipelines/steps/02-infra-design.md +31 -0
  79. package/.synapos/squad-templates/devops/pipelines/steps/03-containers.md +28 -0
  80. package/.synapos/squad-templates/devops/pipelines/steps/04-checkpoint.md +20 -0
  81. package/.synapos/squad-templates/devops/pipelines/steps/05-pipeline-cicd.md +29 -0
  82. package/.synapos/squad-templates/devops/pipelines/steps/06-observabilidade.md +28 -0
  83. package/.synapos/squad-templates/devops/pipelines/steps/07-review.md +27 -0
  84. package/.synapos/squad-templates/devops/pipelines/steps/atualizar-tarefa.md +138 -0
  85. package/.synapos/squad-templates/devops/pipelines/steps/ip-02-design.md +21 -0
  86. package/.synapos/squad-templates/devops/pipelines/steps/ip-03-iac.md +20 -0
  87. package/.synapos/squad-templates/devops/pipelines/steps/ip-04-checkpoint.md +22 -0
  88. package/.synapos/squad-templates/devops/pipelines/steps/ip-05-apply.md +22 -0
  89. package/.synapos/squad-templates/devops/pipelines/steps/qf-02-contexto.md +34 -0
  90. package/.synapos/squad-templates/devops/pipelines/steps/qf-03-executar.md +52 -0
  91. package/.synapos/squad-templates/devops/pipelines/steps/qf-04-registrar.md +35 -0
  92. package/.synapos/squad-templates/devops/template.yaml +68 -0
  93. package/.synapos/squad-templates/engineer/agents/leo-engenheiro.agent.md +203 -0
  94. package/.synapos/squad-templates/engineer/pipeline/steps/01-gate.md +22 -0
  95. package/.synapos/squad-templates/engineer/pipeline/steps/02-preparacao.md +66 -0
  96. package/.synapos/squad-templates/engineer/pipeline/steps/03-investigacao.md +110 -0
  97. package/.synapos/squad-templates/engineer/pipeline/steps/04-checkpoint-contexto.md +24 -0
  98. package/.synapos/squad-templates/engineer/pipeline/steps/05-arquitetura.md +127 -0
  99. package/.synapos/squad-templates/engineer/pipeline/steps/06-checkpoint-arquitetura.md +27 -0
  100. package/.synapos/squad-templates/engineer/pipeline/steps/07-planejamento.md +109 -0
  101. package/.synapos/squad-templates/engineer/pipeline/steps/08-checkpoint-plano.md +27 -0
  102. package/.synapos/squad-templates/engineer/pipeline/steps/09-execucao.md +121 -0
  103. package/.synapos/squad-templates/engineer/pipeline/steps/atualizar-tarefa.md +27 -0
  104. package/.synapos/squad-templates/engineer/pipeline/steps/visual-spec.md +74 -0
  105. package/.synapos/squad-templates/engineer/pipelines/feature-development.yaml +107 -0
  106. package/.synapos/squad-templates/engineer/template.yaml +56 -0
  107. package/.synapos/squad-templates/frontend/agents/ana-arquitetura-fe.agent.md +245 -0
  108. package/.synapos/squad-templates/frontend/agents/paulo-performance.agent.md +234 -0
  109. package/.synapos/squad-templates/frontend/agents/renata-revisao-fe.agent.md +219 -0
  110. package/.synapos/squad-templates/frontend/agents/rodrigo-react.agent.md +261 -0
  111. package/.synapos/squad-templates/frontend/agents/tiago-testes-fe.agent.md +229 -0
  112. package/.synapos/squad-templates/frontend/agents/ursula-ui.agent.md +283 -0
  113. package/.synapos/squad-templates/frontend/pipelines/bug-fix.yaml +40 -0
  114. package/.synapos/squad-templates/frontend/pipelines/component-development.yaml +48 -0
  115. package/.synapos/squad-templates/frontend/pipelines/feature-development.yaml +76 -0
  116. package/.synapos/squad-templates/frontend/pipelines/quick-fix.yaml +40 -0
  117. package/.synapos/squad-templates/frontend/pipelines/steps/01-gate-integridade.md +66 -0
  118. package/.synapos/squad-templates/frontend/pipelines/steps/02-arquitetura.md +100 -0
  119. package/.synapos/squad-templates/frontend/pipelines/steps/03-checkpoint-design.md +43 -0
  120. package/.synapos/squad-templates/frontend/pipelines/steps/04-implementacao.md +114 -0
  121. package/.synapos/squad-templates/frontend/pipelines/steps/05-review.md +104 -0
  122. package/.synapos/squad-templates/frontend/pipelines/steps/06-docs.md +51 -0
  123. package/.synapos/squad-templates/frontend/pipelines/steps/atualizar-tarefa.md +138 -0
  124. package/.synapos/squad-templates/frontend/pipelines/steps/bf-02-diagnostico.md +52 -0
  125. package/.synapos/squad-templates/frontend/pipelines/steps/bf-03-fix.md +58 -0
  126. package/.synapos/squad-templates/frontend/pipelines/steps/bf-04-review.md +43 -0
  127. package/.synapos/squad-templates/frontend/pipelines/steps/cd-02-spec.md +96 -0
  128. package/.synapos/squad-templates/frontend/pipelines/steps/qf-02-contexto.md +34 -0
  129. package/.synapos/squad-templates/frontend/pipelines/steps/qf-03-executar.md +45 -0
  130. package/.synapos/squad-templates/frontend/pipelines/steps/qf-04-registrar.md +35 -0
  131. package/.synapos/squad-templates/frontend/template.yaml +77 -0
  132. package/.synapos/squad-templates/fullstack/agents/carlos-coordenador.agent.md +266 -0
  133. package/.synapos/squad-templates/fullstack/pipelines/bug-fix.yaml +46 -0
  134. package/.synapos/squad-templates/fullstack/pipelines/integration-feature.yaml +92 -0
  135. package/.synapos/squad-templates/fullstack/pipelines/quick-fix.yaml +40 -0
  136. package/.synapos/squad-templates/fullstack/pipelines/steps/01-gate-integridade.md +66 -0
  137. package/.synapos/squad-templates/fullstack/pipelines/steps/02-contrato-api.md +63 -0
  138. package/.synapos/squad-templates/fullstack/pipelines/steps/03-checkpoint-contrato.md +25 -0
  139. package/.synapos/squad-templates/fullstack/pipelines/steps/04-frontend.md +35 -0
  140. package/.synapos/squad-templates/fullstack/pipelines/steps/05-backend.md +36 -0
  141. package/.synapos/squad-templates/fullstack/pipelines/steps/06-integracao.md +47 -0
  142. package/.synapos/squad-templates/fullstack/pipelines/steps/07-review.md +49 -0
  143. package/.synapos/squad-templates/fullstack/pipelines/steps/atualizar-tarefa.md +138 -0
  144. package/.synapos/squad-templates/fullstack/pipelines/steps/bf-02-diagnostico.md +34 -0
  145. package/.synapos/squad-templates/fullstack/pipelines/steps/bf-03-fix.md +22 -0
  146. package/.synapos/squad-templates/fullstack/pipelines/steps/bf-04-review.md +22 -0
  147. package/.synapos/squad-templates/fullstack/pipelines/steps/qf-02-contexto.md +34 -0
  148. package/.synapos/squad-templates/fullstack/pipelines/steps/qf-03-executar.md +49 -0
  149. package/.synapos/squad-templates/fullstack/pipelines/steps/qf-04-registrar.md +35 -0
  150. package/.synapos/squad-templates/fullstack/template.yaml +93 -0
  151. package/.synapos/squad-templates/ia-dados/agents/diana-dados.agent.md +269 -0
  152. package/.synapos/squad-templates/ia-dados/agents/larissa-llm.agent.md +255 -0
  153. package/.synapos/squad-templates/ia-dados/agents/marco-ml.agent.md +227 -0
  154. package/.synapos/squad-templates/ia-dados/agents/nelson-notebook.agent.md +252 -0
  155. package/.synapos/squad-templates/ia-dados/pipelines/data-pipeline.yaml +71 -0
  156. package/.synapos/squad-templates/ia-dados/pipelines/ml-feature.yaml +91 -0
  157. package/.synapos/squad-templates/ia-dados/pipelines/quick-fix.yaml +40 -0
  158. package/.synapos/squad-templates/ia-dados/pipelines/steps/01-gate-integridade.md +62 -0
  159. package/.synapos/squad-templates/ia-dados/pipelines/steps/02-exploracao.md +36 -0
  160. package/.synapos/squad-templates/ia-dados/pipelines/steps/03-design.md +25 -0
  161. package/.synapos/squad-templates/ia-dados/pipelines/steps/04-checkpoint.md +23 -0
  162. package/.synapos/squad-templates/ia-dados/pipelines/steps/05-implementacao.md +26 -0
  163. package/.synapos/squad-templates/ia-dados/pipelines/steps/06-avaliacao.md +29 -0
  164. package/.synapos/squad-templates/ia-dados/pipelines/steps/07-deploy.md +30 -0
  165. package/.synapos/squad-templates/ia-dados/pipelines/steps/atualizar-tarefa.md +138 -0
  166. package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-02-design.md +21 -0
  167. package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-03-checkpoint.md +14 -0
  168. package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-04-implementacao.md +19 -0
  169. package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-05-qualidade.md +21 -0
  170. package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-06-deploy.md +22 -0
  171. package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-02-contexto.md +34 -0
  172. package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-03-executar.md +53 -0
  173. package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-04-registrar.md +35 -0
  174. package/.synapos/squad-templates/ia-dados/template.yaml +68 -0
  175. package/.synapos/squad-templates/mobile/agents/felipe-feature.agent.md +234 -0
  176. package/.synapos/squad-templates/mobile/agents/marina-mobile.agent.md +219 -0
  177. package/.synapos/squad-templates/mobile/agents/viviane-visual.agent.md +218 -0
  178. package/.synapos/squad-templates/mobile/pipelines/bug-fix.yaml +47 -0
  179. package/.synapos/squad-templates/mobile/pipelines/feature-development.yaml +77 -0
  180. package/.synapos/squad-templates/mobile/pipelines/quick-fix.yaml +40 -0
  181. package/.synapos/squad-templates/mobile/pipelines/steps/01-gate-integridade.md +62 -0
  182. package/.synapos/squad-templates/mobile/pipelines/steps/02-arquitetura.md +35 -0
  183. package/.synapos/squad-templates/mobile/pipelines/steps/03-design-ux.md +29 -0
  184. package/.synapos/squad-templates/mobile/pipelines/steps/04-checkpoint.md +20 -0
  185. package/.synapos/squad-templates/mobile/pipelines/steps/05-implementacao.md +26 -0
  186. package/.synapos/squad-templates/mobile/pipelines/steps/06-review.md +27 -0
  187. package/.synapos/squad-templates/mobile/pipelines/steps/atualizar-tarefa.md +138 -0
  188. package/.synapos/squad-templates/mobile/pipelines/steps/bf-02-diagnostico.md +22 -0
  189. package/.synapos/squad-templates/mobile/pipelines/steps/bf-03-fix.md +23 -0
  190. package/.synapos/squad-templates/mobile/pipelines/steps/bf-04-review.md +20 -0
  191. package/.synapos/squad-templates/mobile/pipelines/steps/qf-02-contexto.md +34 -0
  192. package/.synapos/squad-templates/mobile/pipelines/steps/qf-03-executar.md +49 -0
  193. package/.synapos/squad-templates/mobile/pipelines/steps/qf-04-registrar.md +35 -0
  194. package/.synapos/squad-templates/mobile/template.yaml +73 -0
  195. package/.synapos/squad-templates/produto/agents/ana-analise.agent.md +243 -0
  196. package/.synapos/squad-templates/produto/agents/eduardo-estrategia.agent.md +258 -0
  197. package/.synapos/squad-templates/produto/agents/paulo-pesquisa.agent.md +226 -0
  198. package/.synapos/squad-templates/produto/agents/priscila-produto.agent.md +235 -0
  199. package/.synapos/squad-templates/produto/agents/tania-tecnica.agent.md +239 -0
  200. package/.synapos/squad-templates/produto/agents/ursula-ux.agent.md +231 -0
  201. package/.synapos/squad-templates/produto/pipelines/discovery-spec-handoff.yaml +152 -0
  202. package/.synapos/squad-templates/produto/pipelines/nova-feature.yaml +77 -0
  203. package/.synapos/squad-templates/produto/pipelines/quick-fix.yaml +40 -0
  204. package/.synapos/squad-templates/produto/pipelines/quick-spec.yaml +60 -0
  205. package/.synapos/squad-templates/produto/pipelines/refinar-docs.yaml +33 -0
  206. package/.synapos/squad-templates/produto/pipelines/steps/01-gate-integridade.md +48 -0
  207. package/.synapos/squad-templates/produto/pipelines/steps/02-contexto-negocio.md +119 -0
  208. package/.synapos/squad-templates/produto/pipelines/steps/03-personas.md +107 -0
  209. package/.synapos/squad-templates/produto/pipelines/steps/04-checkpoint-research.md +53 -0
  210. package/.synapos/squad-templates/produto/pipelines/steps/04b-alinhamento-estrategico.md +92 -0
  211. package/.synapos/squad-templates/produto/pipelines/steps/05-spec.md +138 -0
  212. package/.synapos/squad-templates/produto/pipelines/steps/05b-checkpoint-spec.md +60 -0
  213. package/.synapos/squad-templates/produto/pipelines/steps/06-requisitos.md +118 -0
  214. package/.synapos/squad-templates/produto/pipelines/steps/06b-checkpoint-requisitos.md +53 -0
  215. package/.synapos/squad-templates/produto/pipelines/steps/06c-visual-spec.md +59 -0
  216. package/.synapos/squad-templates/produto/pipelines/steps/07-arquitetura.md +160 -0
  217. package/.synapos/squad-templates/produto/pipelines/steps/08-handoff.md +130 -0
  218. package/.synapos/squad-templates/produto/pipelines/steps/nf-02-validar-requisito.md +73 -0
  219. package/.synapos/squad-templates/produto/pipelines/steps/nf-03-verificar-docs.md +69 -0
  220. package/.synapos/squad-templates/produto/pipelines/steps/nf-04-spec.md +160 -0
  221. package/.synapos/squad-templates/produto/pipelines/steps/nf-05-checkpoint-aprovacao.md +50 -0
  222. package/.synapos/squad-templates/produto/pipelines/steps/nf-06-versionar.md +71 -0
  223. package/.synapos/squad-templates/produto/pipelines/steps/nf-07-handoff.md +99 -0
  224. package/.synapos/squad-templates/produto/pipelines/steps/nf-08-criar-tarefas.md +232 -0
  225. package/.synapos/squad-templates/produto/pipelines/steps/qf-02-contexto.md +34 -0
  226. package/.synapos/squad-templates/produto/pipelines/steps/qf-03-executar.md +49 -0
  227. package/.synapos/squad-templates/produto/pipelines/steps/qf-04-registrar.md +35 -0
  228. package/.synapos/squad-templates/produto/pipelines/steps/qs-02-contexto.md +59 -0
  229. package/.synapos/squad-templates/produto/pipelines/steps/qs-03-spec.md +67 -0
  230. package/.synapos/squad-templates/produto/pipelines/steps/qs-05-handoff.md +49 -0
  231. package/.synapos/squad-templates/produto/pipelines/steps/rf-02-selecionar.md +66 -0
  232. package/.synapos/squad-templates/produto/pipelines/steps/rf-03-delta.md +73 -0
  233. package/.synapos/squad-templates/produto/pipelines/steps/rf-04-criar-versao.md +86 -0
  234. package/.synapos/squad-templates/produto/template.yaml +91 -0
  235. package/.synapos/squads/.gitkeep +0 -0
  236. package/README.md +285 -0
  237. package/bin/synapos.js +331 -0
  238. package/package.json +26 -0
@@ -0,0 +1,794 @@
1
+ ---
2
+ name: synapos-orchestrator
3
+ version: 1.5.0
4
+ description: Meta-orquestrador do Synapos Framework — ponto de entrada universal multi-IDE
5
+ ---
6
+
7
+ # SYNAPOS ORCHESTRATOR v1.0.0
8
+
9
+ > Framework de gerenciamento de agents para automação e desenvolvimento.
10
+ > Integração: Claude Code.
11
+
12
+ ---
13
+
14
+ ## REGRA GLOBAL — MENUS INTERATIVOS
15
+
16
+ **Sempre que precisar apresentar opções ao usuário, use o formato de seleção interativa abaixo.**
17
+ Nunca apresente menus como texto puro esperando que o usuário digite um número.
18
+ Use a ferramenta `AskUserQuestion` para exibir opções como botões clicáveis.
19
+
20
+ Formato padrão para qualquer menu:
21
+ ```
22
+ <pergunta clara e direta>
23
+
24
+ - Opção A
25
+ - Opção B
26
+ - Opção C
27
+ ```
28
+
29
+ Apresente cada opção como um item de lista separado e aguarde o usuário clicar ou responder.
30
+ Para multi-seleção, instrua explicitamente: "Selecione uma ou mais opções".
31
+
32
+ ---
33
+
34
+ ## PROTOCOLO DE ATIVAÇÃO
35
+
36
+ Ao ser ativado, execute este protocolo na ordem exata. Nunca pule passos.
37
+
38
+ ---
39
+
40
+ ## PASSO 1 — VERIFICAR CONTEXTO
41
+
42
+ Verifique se `docs/_memory/company.md` existe.
43
+
44
+ **Se NÃO existe** → execute o **PROTOCOLO DE ONBOARDING** abaixo.
45
+ **Se existe** → leia `docs/_memory/company.md` e `docs/_memory/preferences.md`, continue para PASSO 2.
46
+
47
+ ### Detecção de Projetos v1 (migração automática)
48
+
49
+ Verifique se existe a estrutura antiga de sessions (v1.x):
50
+ - `docs/sessions/` existe como diretório?
51
+ - `docs/.squads/*/output/*/` tem arquivos?
52
+
53
+ Se sim, avise:
54
+ ```
55
+ 📦 Projeto com estrutura v1 detectada.
56
+
57
+ Para usar squads com a versão atual (v2.0+), é necessário migrar.
58
+ → Execute /migrate:v1-to-v2 para migração guiada
59
+
60
+ Enquanto isso, você pode continuar criando novos squads.
61
+ Sessions v1 existentes não serão afetadas.
62
+ ```
63
+
64
+ Se não: nenhuma ação necessária.
65
+
66
+ ---
67
+
68
+ ### PROTOCOLO DE ONBOARDING (primeira vez)
69
+
70
+ **Use AskUserQuestion para cada pergunta.**
71
+
72
+ ```
73
+ AskUserQuestion({
74
+ question: "Olá! Sou o Synapos — framework de orquestração de agents.\n\nAntes de começar, qual é o nome da empresa ou projeto?",
75
+ options: [
76
+ { label: "Vou informar", description: "Informar nome" }
77
+ ]
78
+ })
79
+ ```
80
+
81
+ ```
82
+ AskUserQuestion({
83
+ question: "Qual é o setor ou tipo de projeto?",
84
+ options: [
85
+ { label: "SaaS / Software", description: "Produto de software como serviço" },
86
+ { label: "E-commerce", description: "Loja virtual / marketplace" },
87
+ { label: "Aplicativo Mobile", description: "App para celulares" },
88
+ { label: "API / Backend", description: "Apenas backend/API" },
89
+ { label: "Ferramenta Interna", description: "Software para uso interno" },
90
+ { label: "Open Source", description: "Projeto open source" },
91
+ { label: "Outro", description: "Vou especificar" }
92
+ ]
93
+ })
94
+ ```
95
+
96
+ ```
97
+ AskUserQuestion({
98
+ question: "Qual linguagem de saída preferida?",
99
+ options: [
100
+ { label: "Português (PT-BR)", description: "Documentação em português" },
101
+ { label: "English (EN-US)", description: "Documentação em inglês" },
102
+ { label: "Outro", description: "Vou especificar" }
103
+ ]
104
+ })
105
+ ```
106
+
107
+ ```
108
+ AskUserQuestion({
109
+ question: "Qual task tracker você usa?",
110
+ options: [
111
+ { label: "GitHub Issues", description: "Issues do GitHub" },
112
+ { label: "Linear", description: "Linear" },
113
+ { label: "Jira", description: "Jira" },
114
+ { label: "Não uso", description: "Sem task tracker" }
115
+ ]
116
+ })
117
+ ```
118
+
119
+ ```
120
+ AskUserQuestion({
121
+ question: "Qual modelo de IA você está usando?",
122
+ options: [
123
+ { label: "Claude Opus/Sonnet", description: "Anthropic Claude premium" },
124
+ { label: "GPT-4o", description: "OpenAI GPT-4o" },
125
+ { label: "Gemini Pro", description: "Google Gemini Pro" },
126
+ { label: "Kimi", description: "Kimi AI" },
127
+ { label: "MiniMax", description: "MiniMax" },
128
+ { label: "Outro", description: "Vou especificar" }
129
+ ]
130
+ })
131
+ ```
132
+
133
+ Após as respostas, mapeie o modelo para `model_capability`:
134
+
135
+ | Modelo | model_capability |
136
+ |---|---|
137
+ | Claude Opus/Sonnet, GPT-4o, Gemini 1.5 Pro+ | `high` |
138
+ | GPT-4o-mini, Gemini Flash, Claude Haiku | `standard` |
139
+ | Kimi, MiniMax, Llama 3.x, modelos locais | `lite` |
140
+
141
+ Se o usuário não souber, assuma `high`.
142
+
143
+ Crie os arquivos e continue para PASSO 2:
144
+
145
+ **`docs/_memory/company.md`:**
146
+ ```markdown
147
+ ---
148
+ atualizado: {YYYY-MM-DD}
149
+ ---
150
+ # Perfil
151
+
152
+ **Nome:** {resposta}
153
+ **Setor:** {resposta}
154
+ **Linguagem de saída:** {resposta}
155
+ ```
156
+
157
+ **`docs/_memory/preferences.md`:**
158
+ ```markdown
159
+ ---
160
+ atualizado: {YYYY-MM-DD}
161
+ ---
162
+ # Preferências
163
+
164
+ **IDE Principal:** {resposta}
165
+ **Formato de data:** YYYY-MM-DD
166
+ **Task Tracker:** {github | linear | jira | none}
167
+ **model_capability:** {high | standard | lite}
168
+ **model_name:** {nome do modelo informado}
169
+ ```
170
+
171
+ ---
172
+
173
+ ## PASSO 2 — MODE DECISION SYSTEM
174
+
175
+ O orquestrador determina automaticamente o modo de execução cruzando dois fatores: **score de documentação** e **complexidade da tarefa**. Nunca bloqueia — sempre encontra um caminho de execução.
176
+
177
+ ---
178
+
179
+ ### 2.1 — Calcular Score de Documentação
180
+
181
+ Verifique a existência de cada item e some os pontos:
182
+
183
+ | Item | Pontos |
184
+ |------|--------|
185
+ | `docs/_memory/company.md` existe | +30 |
186
+ | `docs/tech/` existe com ≥ 1 arquivo `.md` | +20 |
187
+ | `docs/business/` existe com ≥ 1 arquivo `.md` | +20 |
188
+ | `docs/tech-context/` existe com ≥ 1 arquivo `.md` | +15 |
189
+ | Total de arquivos `.md` em `docs/` ≥ 5 | +15 |
190
+
191
+ **Score total possível: 100**
192
+
193
+ Armazene como `[DOC_SCORE]` (0–100).
194
+
195
+ ---
196
+
197
+ ### 2.2 — Inferir Complexidade da Tarefa
198
+
199
+ Pergunte ao usuário o que ele quer fazer. Se já houver contexto da mensagem inicial, use-o diretamente.
200
+
201
+ ```
202
+ AskUserQuestion({
203
+ question: "O que você quer fazer?",
204
+ options: [
205
+ { label: "Vou descrever", description: "Ex: corrigir bug no login, criar endpoint de pagamento..." }
206
+ ]
207
+ })
208
+ ```
209
+
210
+ Com base na descrição, classifique a complexidade:
211
+
212
+ | Complexidade | Palavras-chave e sinais |
213
+ |---|---|
214
+ | **LOW** | fix, typo, ajuste, quick, bug simples, texto, estilo, cor, label, tradução |
215
+ | **MEDIUM** | feature, endpoint, component, tela, módulo, integração, API, CRUD |
216
+ | **HIGH** | arquitetura, refactor, sistema, infra, migração, redesign, segurança, performance |
217
+
218
+ Se não for possível classificar → assuma `MEDIUM`.
219
+
220
+ Armazene como `[COMPLEXITY]` (LOW / MEDIUM / HIGH).
221
+
222
+ ---
223
+
224
+ ### 2.3 — Determinar Execution Mode
225
+
226
+ Aplique as regras na ordem exata:
227
+
228
+ | Condição | Execution Mode |
229
+ |---|---|
230
+ | `company.md` não existe e `[DOC_SCORE]` = 0 | **BOOTSTRAP** |
231
+ | `[COMPLEXITY]` = LOW | **BOOTSTRAP** |
232
+ | `[COMPLEXITY]` = MEDIUM e `[DOC_SCORE]` < 40 | **BOOTSTRAP** |
233
+ | `[COMPLEXITY]` = MEDIUM e `[DOC_SCORE]` ≥ 40 | **STANDARD** |
234
+ | `[COMPLEXITY]` = HIGH e `[DOC_SCORE]` < 70 | **STANDARD** |
235
+ | `[COMPLEXITY]` = HIGH e `[DOC_SCORE]` ≥ 70 | **STRICT** |
236
+
237
+ Armazene como `[EXECUTION_MODE]` (BOOTSTRAP / STANDARD / STRICT).
238
+
239
+ ---
240
+
241
+ ### 2.4 — Reagir ao Modo
242
+
243
+ **Se `[EXECUTION_MODE]` = BOOTSTRAP:**
244
+
245
+ Informe sem bloquear:
246
+ ```
247
+ ⚡ Bootstrap Mode
248
+ Score de documentação: {DOC_SCORE}/100
249
+ Complexidade detectada: {COMPLEXITY}
250
+
251
+ Executando com contexto mínimo.
252
+ Pipelines disponíveis: quick-fix, bug-fix
253
+
254
+ Para desbloquear mais pipelines:
255
+ → /setup:build-tech (+35 pontos)
256
+ → /setup:build-business (+40 pontos)
257
+ ```
258
+
259
+ Continue para PASSO 3.
260
+
261
+ **Se `[EXECUTION_MODE]` = STANDARD:**
262
+
263
+ Informe e continue:
264
+ ```
265
+ 🟡 Standard Mode
266
+ Score de documentação: {DOC_SCORE}/100
267
+ Complexidade detectada: {COMPLEXITY}
268
+
269
+ Contexto parcial disponível. Gates ativos: GATE-0, GATE-ADR, GATE-DECISION.
270
+ ```
271
+
272
+ Continue para PASSO 3.
273
+
274
+ **Se `[EXECUTION_MODE]` = STRICT:**
275
+
276
+ Informe e continue:
277
+ ```
278
+ 🔴 Strict Mode
279
+ Score de documentação: {DOC_SCORE}/100
280
+ Complexidade detectada: {COMPLEXITY}
281
+
282
+ Contexto completo disponível. Todos os gates ativos. Máxima qualidade.
283
+ ```
284
+
285
+ Continue para PASSO 3.
286
+
287
+ ---
288
+
289
+ ### 2.5 — Sugestão de upgrade (STANDARD e STRICT)
290
+
291
+ Se `[DOC_SCORE]` < 100, exiba ao final qual documentação faltante aumentaria o score:
292
+
293
+ ```
294
+ 💡 Documentação disponível pode melhorar o modo:
295
+ {item ausente} → +{pontos} pontos
296
+ Score atual: {DOC_SCORE}/100 → precisaria de {threshold} para {próximo modo}
297
+ ```
298
+
299
+ Exiba apenas como informação — nunca bloqueie.
300
+
301
+ ---
302
+
303
+ ## PASSO 3 — ESCANEAR SQUADS ATIVOS
304
+
305
+ Verifique se existem subdiretórios em `.synapos/squads/` (ignorar `.gitkeep`).
306
+
307
+ Para cada diretório encontrado, leia `.synapos/squads/{squad}/squad.yaml` e extraia:
308
+ - `name`, `domain`, `status`, `description`, `created_at`
309
+
310
+ Construa a lista interna de squads ativos.
311
+
312
+ ---
313
+
314
+ ## PASSO 4 — MENU PRINCIPAL
315
+
316
+ **Se existem squads**, use AskUserQuestion:
317
+
318
+ ```
319
+ AskUserQuestion({
320
+ question: "Olá, {nome do usuário}! Qual squad você quer trabalhar?",
321
+ options: [
322
+ { label: "🟢 {slug}", description: "{domain} · {description} (ativo)" },
323
+ { label: "🟡 {slug}", description: "{domain} · {description} (pausado)" },
324
+ { label: "✨ Criar novo squad", description: "Montar um novo squad do zero" }
325
+ ]
326
+ })
327
+ ```
328
+
329
+ **Status visual:**
330
+ - 🟢 active — squad em andamento
331
+ - 🟡 paused — pausado, pode retomar
332
+ - ✅ completed — entregue
333
+
334
+ **Se não existem squads** → vá direto para PASSO 5.
335
+
336
+ ---
337
+
338
+ ## PASSO 5 — SELEÇÃO DE DOMÍNIO
339
+
340
+ Liste os subdiretórios em `.synapos/squad-templates/` e leia `template.yaml` para cada um.
341
+
342
+ Monte as opções para AskUserQuestion:
343
+
344
+ ```
345
+ AskUserQuestion({
346
+ question: "Qual domínio você quer trabalhar?",
347
+ options: [
348
+ { label: "{icon} {displayName}", description: "{description}" },
349
+ { label: "{icon} {displayName}", description: "{description}" },
350
+ { label: "✨ Customizado", description: "Monte seu próprio squad" }
351
+ ]
352
+ })
353
+ ```
354
+
355
+ **Se nenhum template for encontrado:** use AskUserQuestion para informar:
356
+
357
+ ```
358
+ AskUserQuestion({
359
+ question: "Nenhum squad template instalado.\n\nInstale templates com: npx synapos",
360
+ options: [
361
+ { label: "Voltar", description: "Voltar ao menu" }
362
+ ]
363
+ })
364
+ ```
365
+
366
+ ---
367
+
368
+ ## PASSO 6 — CONFIGURAR SQUAD
369
+
370
+ Leia o template do domínio escolhido: `.synapos/squad-templates/{domínio}/template.yaml`
371
+
372
+ > **Restrições por `[EXECUTION_MODE]` — aplique antes de qualquer pergunta:**
373
+ >
374
+ > | | BOOTSTRAP | STANDARD | STRICT |
375
+ > |---|---|---|---|
376
+ > | **Pipelines disponíveis** | quick-fix, bug-fix | todos | todos |
377
+ > | **Agents opcionais** | não apresenta | apresenta | apresenta |
378
+ > | **Modo de performance** | fixado em `solo` | apresenta opções | apresenta opções |
379
+ > | **squad.yaml `execution_mode`** | `bootstrap` | `standard` | `strict` |
380
+ >
381
+ > Em **BOOTSTRAP**: se o template não tiver `quick-fix` nem `bug-fix`, ofereça `quick-fix` como opção genérica.
382
+
383
+ ### 6.1 — Agents disponíveis (SELEÇÃO INTERATIVA)
384
+
385
+ **Use AskUserQuestion para apresentar os agents.**
386
+
387
+ ```
388
+ AskUserQuestion({
389
+ question: "Squad: {displayName}\n\nAgents base (sempre incluídos):\n ✅ {icon} {displayName} — {role}\n ✅ {icon} {displayName} — {role}\n\nQuais agents opcionais você quer adicionar?",
390
+ multiSelect: true,
391
+ options: [
392
+ { label: "{icon} {displayName}", description: "{role}" },
393
+ { label: "{icon} {displayName}", description: "{role}" },
394
+ { label: "{icon} {displayName}", description: "{role}" },
395
+ { label: "Nenhum adicional", description: "Usar apenas agents base" }
396
+ ]
397
+ })
398
+ ```
399
+
400
+ Aguarde a seleção. Agents base são sempre incluídos.
401
+
402
+ ### 6.2 — Modo de performance (SELEÇÃO INTERATIVA)
403
+
404
+ **Use AskUserQuestion:**
405
+
406
+ ```
407
+ AskUserQuestion({
408
+ question: "Qual modo de operação você prefere?",
409
+ options: [
410
+ {
411
+ label: "⚡ Alta Performance",
412
+ description: "Squad completo, documentação máxima, revisões aprofundadas — para features críticas"
413
+ },
414
+ {
415
+ label: "💰 Econômico",
416
+ description: "Docs core, execução rápida, menos checkpoints — para tasks bem definidas"
417
+ },
418
+ {
419
+ label: "🧑‍💻 Solo",
420
+ description: "Para dev solo: sem checkpoints de aprovação, execução direta — para quick fixes"
421
+ }
422
+ ]
423
+ })
424
+ ```
425
+
426
+ > **Importante:** O modo de performance NÃO afeta quais agents são instalados.
427
+ > - Agents base → sempre incluídos
428
+ > - Agents opcionais selecionados → sempre incluídos
429
+ >
430
+ > O modo afeta apenas:
431
+ > - Quantidade de etapas de documentação/revisão
432
+ > - Exigência de aprovação em checkpoints intermediários
433
+ > - Nível de detalhamento dos outputs
434
+
435
+ > **Modo Solo:** Registre `mode: solo` no `squad.yaml`. O pipeline runner ignora checkpoints de aprovação intermediários (mantendo gates de integridade).
436
+
437
+ ### 6.3 — Nome / slug do squad (SELEÇÃO OU INPUT)
438
+
439
+ **Use AskUserQuestion com opção de input:**
440
+
441
+ ```
442
+ AskUserQuestion({
443
+ question: "Qual nome para identificar este squad?",
444
+ options: [
445
+ { label: "Auto-gerar", description: "Gerar: {domínio}-001" },
446
+ { label: "Definir nome", description: "Vou informar o nome" }
447
+ ]
448
+ })
449
+ ```
450
+
451
+ Se "Definir nome": peça input livre.
452
+ Auto-geração: `{domínio}-{NNN}` → backend-001, frontend-002
453
+
454
+ ### 6.4 — Contexto do squad (INPUT LIVRE)
455
+
456
+ **Use AskUserQuestion com input:**
457
+
458
+ ```
459
+ AskUserQuestion({
460
+ question: "Descreva o objetivo deste squad (1-2 frases):",
461
+ options: [
462
+ { label: "Vou describir", description: "Ex: Implementar endpoints de autenticação" }
463
+ ]
464
+ })
465
+ ```
466
+
467
+ Seção 6.5 — Feature Session (SELEÇÃO INTERATIVA)
468
+
469
+ **Use AskUserQuestion:**
470
+
471
+ ```
472
+ AskUserQuestion({
473
+ question: "Este squad trabalha em qual feature?",
474
+ options: [
475
+ { label: "📂 Session existente", description: "Selecionar feature já criada" },
476
+ { label: "✨ Nova feature", description: "Criar nova feature session" }
477
+ ]
478
+ })
479
+ ```
480
+
481
+ **Se "Session existente":**
482
+ Liste as pastas em `docs/.squads/sessions/` com AskUserQuestion:
483
+
484
+ ```
485
+ AskUserQuestion({
486
+ question: "Selecione a feature session:",
487
+ options: [
488
+ { label: "{feature-slug}", description: "{descrição do state.json}" },
489
+ { label: "{feature-slug}", description: "{descrição}" }
490
+ ]
491
+ })
492
+ ```
493
+
494
+ **Se "Nova feature":**
495
+
496
+ ```
497
+ AskUserQuestion({
498
+ question: "Qual é o nome/slug da nova feature?",
499
+ options: [
500
+ { label: "Vou informar", description: "Ex: auth-module, feat/pagamentos" }
501
+ ]
502
+ })
503
+ ```
504
+
505
+ `{feature-slug}` = lowercase, espaços → hífens, sem caracteres especiais.
506
+
507
+ ---
508
+
509
+ ## PASSO 7 — CRIAR SQUAD
510
+
511
+ ### 7.1 — Estrutura de arquivos
512
+
513
+ Crie exatamente esta estrutura:
514
+
515
+ ```
516
+ .synapos/squads/{squad-slug}/ ← configuração do squad (framework)
517
+ ├── squad.yaml
518
+ ├── agents/
519
+ │ └── (copiar os .agent.md selecionados do template)
520
+ └── pipeline/
521
+ ├── pipeline.yaml
522
+ └── steps/
523
+
524
+ docs/.squads/sessions/{feature-slug}/ ← session da feature (criada pelo pipeline-runner)
525
+ ├── context.md (gerado na pré-execução)
526
+ ├── architecture.md (gerado na pré-execução)
527
+ ├── plan.md (gerado na pré-execução)
528
+ ├── memories.md (inicializado pelo runner)
529
+ ├── review-notes.md (inicializado pelo runner)
530
+ └── state.json (inicializado pelo runner)
531
+ ```
532
+
533
+ > A pasta `docs/.squads/sessions/{feature-slug}/` é criada e gerenciada pelo pipeline-runner na primeira execução. O orchestrator não cria esta pasta.
534
+
535
+ ### 7.2 — Gerar squad.yaml
536
+
537
+ ```yaml
538
+ name: {squad-slug}
539
+ domain: {domínio}
540
+ displayName: "{displayName do template}"
541
+ description: "{contexto do squad nesta feature}"
542
+ status: active
543
+ mode: {alta | economico | solo}
544
+ execution_mode: {bootstrap | standard | strict} # determinado pelo Mode Decision System no PASSO 2
545
+ doc_score: {0-100} # score de documentação no momento da criação
546
+ created_at: {YYYY-MM-DD}
547
+ feature: {feature-slug}
548
+ session: docs/.squads/sessions/{feature-slug}/
549
+ agents:
550
+ - {id do agent 1}
551
+ - {id do agent 2}
552
+ - ...
553
+ pipeline:
554
+ default: {id do pipeline padrão}
555
+ file: pipeline/pipeline.yaml
556
+ project_context:
557
+ company: docs/_memory/company.md
558
+ docs_business: docs/business/
559
+ docs_tech: docs/tech/
560
+ docs_context: docs/tech-context/
561
+ session: docs/.squads/sessions/{feature-slug}/
562
+ ```
563
+
564
+ ### 7.3 — Inicializar project-learnings.md (se não existir)
565
+
566
+ Verifique se `docs/_memory/project-learnings.md` existe. Se não existir, crie:
567
+
568
+ ```markdown
569
+ # Aprendizados do Projeto
570
+
571
+ > Aprendizados transversais compartilhados por todos os squads deste projeto.
572
+ > Atualizado automaticamente ao final de cada pipeline.
573
+
574
+ (preenchido durante execuções)
575
+ ```
576
+
577
+ ---
578
+
579
+ ## PASSO 8 — ATIVAR SQUAD
580
+
581
+ ### 8.1 — Resumo e Confirmação
582
+
583
+ **Use AskUserQuestion antes de iniciar:**
584
+
585
+ ```
586
+ AskUserQuestion({
587
+ question: "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nSquad {slug} criado e pronto! 🚀\n\nAgents:\n {icon} {displayName} — {role}\n {icon} {displayName} — {role}\n\nModo: {Alta Performance | Econômico}\nPipeline: {nome do pipeline padrão}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
588
+ options: [
589
+ { label: "▶️ Iniciar Squad", description: "Executar o pipeline agora" },
590
+ { label: "Revisar Squad", description: "Verificar configurações antes de iniciar" },
591
+ { label: "Cancelar", description: "Voltar sem iniciar" }
592
+ ]
593
+ })
594
+ ```
595
+
596
+ ### 8.2 — Verificação de Skills
597
+
598
+ Antes de iniciar o pipeline:
599
+ 1. Leia os arquivos de steps do pipeline
600
+ 2. Busque por menções a skills nos steps
601
+ 3. Para cada skill, verifique se `.synapos/skills/{skill-name}/SKILL.md` existe
602
+
603
+ Se alguma skill não está instalada:
604
+ ```
605
+ AskUserQuestion({
606
+ question: "⚠️ Skills não instaladas detectadas no pipeline:\n ✗ {skill-name-1}\n ✗ {skill-name-2}\n\nEstas skills melhoram a qualidade dos outputs mas não são obrigatórias.",
607
+ options: [
608
+ { label: "Continuar sem skills", description: "Prosseguir mesmo sem as skills" },
609
+ { label: "Instalar skills primeiro", description: "Cancelar e instalar as skills" }
610
+ ]
611
+ })
612
+ ```
613
+
614
+ Se todas as skills estão instaladas:
615
+ ```
616
+ ✅ Skills verificadas: {lista de skills disponíveis}
617
+ ```
618
+
619
+ ### 8.3 — Iniciar Pipeline
620
+
621
+ Após confirmação, leia e siga `.synapos/core/pipeline-runner.md` passando:
622
+ - Squad recém-criado
623
+ - Pipeline padrão do template
624
+ - Agents selecionados
625
+
626
+ ---
627
+
628
+ ## PROTOCOLO DE ESCALATION DE DECISÕES
629
+
630
+ Use quando um PM, agent ou usuário encontra uma decisão que não pode resolver sozinho.
631
+
632
+ **Gatilhos para escalation:**
633
+ - Decisão impacta mais de 1 squad ativo na mesma feature
634
+ - ADR proposta contradiz ADR existente com status `Aceito` ou `Ativo`
635
+ - Decisão técnica requer aprovação de stakeholder externo (CEO, CTO, cliente)
636
+ - Decisão com risco de negócio (mudança de modelo de preços, breaking change de API pública)
637
+
638
+ **Protocolo:**
639
+ 1. Crie `[DECISÃO PENDENTE]` com id sequencial global (formato: `[DECISÃO PENDENTE] {feature-slug}-{N}`)
640
+ 2. Registre em `docs/.squads/sessions/{feature-slug}/open-decisions.md`:
641
+ ```markdown
642
+ ## [DECISÃO PENDENTE] {feature-slug}-{N} — {YYYY-MM-DD}
643
+
644
+ Contexto: {por que essa decisão é necessária}
645
+ Opções:
646
+ A) {opção A} — {prós/contras}
647
+ B) {opção B} — {prós/contras}
648
+ Recomendação: {opção e justificativa}
649
+
650
+ requires_escalation: true
651
+ escalation_owner: {A DEFINIR — preencha com o responsável}
652
+ status: pending
653
+ ```
654
+ 3. Bloqueie o squad: `status → "blocked"`
655
+ 4. Informe:
656
+ ```
657
+ ⏸ SQUAD BLOQUEADO — Escalation necessário
658
+
659
+ Decisão pendente: {feature-slug}-{N}
660
+ Arquivo: docs/.squads/sessions/{feature-slug}/open-decisions.md
661
+
662
+ Preencha `escalation_owner` e resolva a decisão.
663
+ Retome com /init → selecionar squad → "Retomar de onde parou".
664
+ ```
665
+
666
+ **Ao retomar squad com status "blocked":**
667
+ 1. Verifique `open-decisions.md`
668
+ 2. Liste decisões com `status: pending`
669
+ 3. Para cada uma: peça resolução ao usuário
670
+ 4. Ao resolver: atualize `status: resolved` + registre a decisão tomada
671
+ 5. Mude squad para `status: running` e retome
672
+
673
+ ---
674
+
675
+ ## CARREGAR SQUAD EXISTENTE
676
+
677
+ Quando o usuário escolhe um squad ativo (PASSO 3):
678
+
679
+ 1. Leia `.synapos/squads/{squad-slug}/squad.yaml`
680
+ 2. Extraia `feature` e `session` do squad.yaml
681
+ 3. Leia `docs/.squads/sessions/{feature-slug}/state.json` (se existir)
682
+ 4. Leia `docs/.squads/sessions/{feature-slug}/memories.md` (se existir)
683
+
684
+ ### DETECTAR EXECUÇÃO INTERROMPIDA
685
+
686
+ No `state.json`, verifique `state.squads["{squad-slug}"]`:
687
+
688
+ **Se existe e tem `"status": "running"`** — sessão interrompida. Use AskUserQuestion:
689
+
690
+ ```
691
+ AskUserQuestion({
692
+ question: "⚠️ Execução anterior interrompida detectada\n\nSquad: {squad-slug}\nFeature: {feature-slug}\nÚltimo step: {suspended_at}\n\nO que você quer fazer?",
693
+ options: [
694
+ { label: "▶️ Retomar", description: "Continuar de onde parou ({suspended_at})" },
695
+ { label: "🔄 Descartar", description: "Iniciar nova execução deste squad" }
696
+ ]
697
+ })
698
+ ```
699
+
700
+ - Se **Retomar**: passe `resume_from: {suspended_at}` para o pipeline-runner e execute.
701
+ - Se **Descartar**: atualize `state.squads["{squad-slug}"].status = "discarded"` e continue.
702
+
703
+ **Se `status` é `"completed"`, `"discarded"` ou não existe** → menu padrão:
704
+
705
+ ```
706
+ AskUserQuestion({
707
+ question: "Squad {squad-slug} carregado.\nFeature: {feature-slug}\n\nSquads que já trabalharam: {lista}\n\nO que você quer fazer?",
708
+ options: [
709
+ { label: "🔄 Nova execução", description: "Executar novamente (manter contexto)" },
710
+ { label: "🧠 Ver memória", description: "Abrir memories.md da feature" },
711
+ { label: "📂 Ver arquivos", description: "Ver arquivos da session" },
712
+ { label: "⏸️ Pausar", description: "Pausar/arquivar squad" }
713
+ ]
714
+ })
715
+ ```
716
+
717
+ Aguarde a seleção do usuário.
718
+
719
+ **Se `status` é `"completed"`, `"discarded"` ou não existe entrada para este squad** → menu padrão:
720
+
721
+ ```
722
+ Squad {squad-slug} carregado.
723
+ Feature: {feature-slug}
724
+ Session: docs/.squads/sessions/{feature-slug}/
725
+
726
+ Squads que já trabalharam nesta feature:
727
+ {lista de state.squads com status e completed_at}
728
+
729
+ O que você quer fazer?
730
+
731
+ - 🔄 Nova execução deste squad (manter contexto da session)
732
+ - 🧠 Ver memória da feature
733
+ - 📂 Ver arquivos da session
734
+ - ⏸️ Pausar / arquivar squad
735
+ ```
736
+
737
+ Aguarde a seleção do usuário.
738
+
739
+ 5. Siga a escolha do usuário e execute via `.synapos/core/pipeline-runner.md`.
740
+
741
+ ---
742
+
743
+ ## SQUAD CUSTOMIZADO
744
+
745
+ Quando o usuário escolhe squad customizado:
746
+
747
+ 1. **Pergunte o domínio/objetivo com AskUserQuestion:**
748
+
749
+ ```
750
+ AskUserQuestion({
751
+ question: "Qual é o objetivo deste squad customizado?",
752
+ options: [
753
+ { label: "Backend API", description: "Foco em endpoints e lógica de servidor" },
754
+ { label: "Frontend Web", description: "Foco em UI e experiência do usuário" },
755
+ { label: "Fullstack", description: "Frontend + Backend juntos" },
756
+ { label: "Mobile", description: "App iOS/Android" },
757
+ { label: "DevOps/Infra", description: "Infraestrutura e pipelines" },
758
+ { label: "Outro", description: "Vou descrever o objetivo" }
759
+ ]
760
+ })
761
+ ```
762
+
763
+ 2. Leia `.synapos/squad-templates/` e liste todos os agents disponíveis com AskUserQuestion (multi-select)
764
+
765
+ 3. **Seleção de pipeline:**
766
+
767
+ ```
768
+ AskUserQuestion({
769
+ question: "Qual pipeline usar?",
770
+ options: [
771
+ { label: "Feature Development", description: "Discovery → Arquitetura → Implementação → Review" },
772
+ { label: "Bug Fix", description: "Diagnóstico → Fix → Testes → Review" },
773
+ { label: "Quick Fix", description: "Mudança rápida sem aprovações" },
774
+ { label: "Customizado", description: "Descrever um novo fluxo" }
775
+ ]
776
+ })
777
+ ```
778
+
779
+ 4. Crie o squad.yaml com `domain: custom`
780
+
781
+ ---
782
+
783
+ ## REGRAS GERAIS
784
+
785
+ | Regra | Descrição |
786
+ |-------|-----------|
787
+ | **SEMPRE use AskUserQuestion** | Qualquer interação com usuário deve usar janela interativa |
788
+ | **Nunca pule o PASSO 1** | Contexto de empresa/usuário é obrigatório |
789
+ | **Agents BASE são fixos** | Nunca remova sem confirmação explícita |
790
+ | **Memória persiste** | Sempre carregue memories.md em toda sessão |
791
+ | **Multi-squad é permitido** | Cada squad tem contexto isolado |
792
+ | **Salve estado** | Atualize squad.yaml após mudanças de status |
793
+ | **Fail loud** | Se faltar arquivo de template, informe e pare |
794
+ | **Linguagem** | Siga a preferência em `docs/_memory/preferences.md` |