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,283 @@
1
+ ---
2
+ name: synapos-copilot-adapter
3
+ version: 1.0.0
4
+ description: Mapeamento de capacidades Synapos → GitHub Copilot — como executar os protocolos existentes no contexto IDE-native
5
+ ---
6
+
7
+ # SYNAPOS COPILOT ADAPTER v1.0.0
8
+
9
+ > Este arquivo define como cada mecanismo do Synapos é executado no GitHub Copilot.
10
+ > O Copilot não tem controle de fluxo real, memória persistente estruturada nem execução de pipeline automática.
11
+ > Este adapter resolve isso usando markdown como engine, comentários como comandos e arquivos como estado.
12
+
13
+ ---
14
+
15
+ ## PRINCÍPIO GERAL
16
+
17
+ O Copilot lê:
18
+ - `.github/copilot-instructions.md` — automaticamente em todo chat
19
+ - Arquivos abertos no editor — contexto implícito
20
+ - Arquivos referenciados com `@` no chat — contexto explícito
21
+
22
+ Use isso a favor: os arquivos de session, memória e squad.yaml são a "memória" do Copilot.
23
+
24
+ ---
25
+
26
+ ## MAPEAMENTO DE CAPACIDADES
27
+
28
+ ### `AskUserQuestion` → Lista Numerada
29
+
30
+ **Synapos padrão:**
31
+ ```
32
+ AskUserQuestion({
33
+ question: "Qual modo de operação?",
34
+ options: [
35
+ { label: "⚡ Alta Performance" },
36
+ { label: "💰 Econômico" },
37
+ { label: "🧑‍💻 Solo" }
38
+ ]
39
+ })
40
+ ```
41
+
42
+ **Copilot Mode:**
43
+ ```
44
+ Qual modo de operação?
45
+
46
+ 1) ⚡ Alta Performance — Squad completo, docs máxima
47
+ 2) 💰 Econômico — Execução rápida, menos checkpoints
48
+ 3) 🧑‍💻 Solo — Sem checkpoints, execução direta
49
+
50
+ (Digite o número da opção)
51
+ ```
52
+
53
+ **Regra:** Sempre aguarde uma resposta clara antes de prosseguir. Se a resposta for ambígua, peça confirmação.
54
+
55
+ ---
56
+
57
+ ### `execution: subagent` → Execução Inline
58
+
59
+ **Synapos padrão:** Lança um subagente separado com persona + contexto + instruções do step.
60
+
61
+ **Copilot Mode:**
62
+ 1. Declare explicitamente qual agent está "falando": `[Agent: {displayName} — {role}]`
63
+ 2. Leia o `.agent.md` correspondente para carregar a persona
64
+ 3. Injete o contexto disponível (company.md + session files + memories.md)
65
+ 4. Execute as instruções do step inline na conversa
66
+ 5. Apresente o output com o cabeçalho do agent
67
+
68
+ **Exemplo de output:**
69
+ ```
70
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
+ 🎨 [Agent: Designer React — Especialista em componentes UI]
72
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
73
+
74
+ [output do agent aqui]
75
+ ```
76
+
77
+ ---
78
+
79
+ ### `execution: checkpoint` → Checklist com Confirmação
80
+
81
+ **Synapos padrão:** Pausa interativa com botões clicáveis.
82
+
83
+ **Copilot Mode:**
84
+ ```
85
+ ⏸ CHECKPOINT: {nome do step}
86
+
87
+ {contexto ou pergunta}
88
+
89
+ Checklist antes de continuar:
90
+ [ ] {critério 1}
91
+ [ ] {critério 2}
92
+ [ ] {critério 3}
93
+
94
+ Digite "ok" para continuar, "ajustar" para modificar o contexto ou "pular" para avançar.
95
+ ```
96
+
97
+ > **Modo Solo:** Checkpoints sem `gate:` são pulados automaticamente.
98
+ > Log: `⚡ [SOLO] {nome do step} — checkpoint ignorado`
99
+
100
+ ---
101
+
102
+ ### Gates → Checklist de Validação no Output
103
+
104
+ Em vez de gates que bloqueiam automaticamente o fluxo, o Copilot apresenta o gate como checklist ao final do output relevante.
105
+
106
+ **Formato padrão:**
107
+ ```
108
+ ---
109
+ ## Verificação GATE-{N} — {nome do gate}
110
+
111
+ ✅ {item validado com sucesso}
112
+ ✅ {item validado com sucesso}
113
+ ⚠️ {item com aviso — explicação}
114
+ 🚫 {item com falha — o que fazer}
115
+
116
+ [GATE-{N}]: {APROVADO | APROVADO COM AVISOS | FALHA}
117
+ ```
118
+
119
+ **Se falha:** liste os itens pendentes e pergunte como proceder antes de continuar.
120
+
121
+ **Gates por modo (conforme gate-system.md):**
122
+
123
+ | Gate | BOOTSTRAP | STANDARD | STRICT |
124
+ |---|---|---|---|
125
+ | GATE-0 | ✅ (aviso) | ✅ | ✅ |
126
+ | GATE-1 | ✅ | ✅ | ✅ |
127
+ | GATE-DECISION | ✅ | ✅ | ✅ |
128
+ | GATE-ADR | ❌ | ✅ | ✅ |
129
+ | GATE-2, 3, 5 | ❌ | ✅ | ✅ |
130
+ | GATE-4, GATE-DESIGN | ❌ | ❌ | ✅ |
131
+
132
+ ---
133
+
134
+ ### Sistema de Comandos via Comentário
135
+
136
+ O usuário pode ativar comportamentos sem digitar no chat, usando comentários no código.
137
+
138
+ **Sintaxe:**
139
+ ```
140
+ // synapos:{comando} {param}:{valor} {param}:{valor}
141
+ ```
142
+
143
+ **Parsing pelo Copilot:**
144
+ 1. Detecte qualquer linha com `synapos:` no início (comentário ou mensagem no chat)
145
+ 2. Extraia o comando e os parâmetros chave:valor
146
+ 3. Execute o protocolo correspondente em `.synapos/copilot.md`
147
+
148
+ **Comandos suportados:**
149
+
150
+ ```
151
+ // synapos:init
152
+ ```
153
+ → Execute o protocolo de ativação completo (`.synapos/copilot.md` PASSO 1–8)
154
+
155
+ ```
156
+ // synapos:squad squad:frontend mode:bootstrap pipeline:bug-fix feature:fix-login
157
+ ```
158
+ → Crie e ative squad diretamente (pula para PASSO 6 do copilot.md)
159
+
160
+ ```
161
+ // synapos:step step:02-design-api
162
+ ```
163
+ → Execute o step especificado do pipeline ativo
164
+
165
+ ```
166
+ // synapos:gate gate:GATE-2
167
+ ```
168
+ → Execute a validação do gate especificado
169
+
170
+ ```
171
+ // synapos:status
172
+ ```
173
+ → Exiba estado atual do squad e session
174
+
175
+ ```
176
+ // synapos:decision id:1 choice:A
177
+ ```
178
+ → Resolva uma DECISÃO PENDENTE registrada em open-decisions.md
179
+
180
+ ```
181
+ // synapos:memory
182
+ ```
183
+ → Exiba o conteúdo de `docs/.squads/sessions/{feature-slug}/memories.md`
184
+
185
+ ---
186
+
187
+ ### Prompt Anchors — Contexto Prioritário
188
+
189
+ Para que o Copilot priorize contexto crítico do projeto, use este padrão no topo de arquivos importantes:
190
+
191
+ ```html
192
+ <!-- SYNAPOS: CONTEXT START -->
193
+ Projeto: {nome do projeto}
194
+ Stack: {tecnologias principais}
195
+ Regras críticas:
196
+ - {regra 1 — ex: nunca quebrar autenticação}
197
+ - {regra 2}
198
+ <!-- SYNAPOS: CONTEXT END -->
199
+ ```
200
+
201
+ O Copilot lê arquivos abertos no editor e usa este bloco como contexto prioritário.
202
+ Útil para: `README.md`, `docs/_memory/company.md`, arquivos de configuração principal.
203
+
204
+ ---
205
+
206
+ ### State Management — Arquivos como Estado
207
+
208
+ O Copilot não mantém estado entre sessões. Os arquivos abaixo são a fonte de verdade:
209
+
210
+ | Arquivo | Propósito | Quando ler |
211
+ |---------|-----------|------------|
212
+ | `docs/_memory/company.md` | Perfil do projeto | Todo `synapos:init` |
213
+ | `docs/_memory/preferences.md` | Preferências (modelo, IDE, tracker) | Início de cada sessão |
214
+ | `.synapos/squads/{slug}/squad.yaml` | Configuração do squad ativo | Todo `synapos:step` |
215
+ | `docs/.squads/sessions/{slug}/state.json` | Estado da feature | Verificação de progresso |
216
+ | `docs/.squads/sessions/{slug}/memories.md` | Aprendizados acumulados | Início de cada execução |
217
+ | `docs/.squads/sessions/{slug}/context.md` | Contexto da feature | Steps de implementação |
218
+
219
+ **Instrução ao Copilot para cada step:**
220
+ Antes de executar, leia os arquivos listados acima usando `@workspace` ou referenciando-os explicitamente no chat.
221
+
222
+ ---
223
+
224
+ ### MODEL-ADAPTER no Copilot
225
+
226
+ O `model_capability` em `preferences.md` também se aplica no Copilot Mode.
227
+
228
+ | `model_capability` | Comportamento |
229
+ |---|---|
230
+ | `high` | Execução padrão — contexto completo |
231
+ | `standard` | Injete o CoT Prefix antes de cada step (S1 do model-adapter.md) |
232
+ | `lite` | Ative todos os mecanismos L1–L6 do model-adapter.md |
233
+
234
+ Para GPT-4o (Copilot padrão): assuma `high`.
235
+
236
+ ---
237
+
238
+ ## FLUXO TÍPICO NO COPILOT
239
+
240
+ ```
241
+ 1. Usuário abre projeto no VS Code / GitHub Copilot Chat
242
+ 2. Copilot carrega .github/copilot-instructions.md automaticamente
243
+ 3. Usuário digita: synapos:init
244
+ 4. Copilot executa .synapos/copilot.md — PASSO 1
245
+ → Verifica docs/_memory/company.md
246
+ → Calcula DOC_SCORE
247
+ → Determina EXECUTION_MODE
248
+ 5. Usuário seleciona squad ou cria novo
249
+ 6. Squad é criado em .synapos/squads/{slug}/
250
+ 7. Pipeline inicia step-by-step
251
+ → Cada step: lê .agent.md + contexto + instrução
252
+ → Executa inline
253
+ → Aplica gates via checklist
254
+ → Salva output em docs/.squads/sessions/{feature}/
255
+ 8. Ao final: atualiza memories.md + state.json
256
+ ```
257
+
258
+ ---
259
+
260
+ ## LIMITAÇÕES E COMPENSAÇÕES
261
+
262
+ | Limitação do Copilot | Compensação Synapos |
263
+ |----------------------|---------------------|
264
+ | Sem memória persistente entre sessões | `state.json` + `memories.md` como estado externo |
265
+ | Sem execução de pipeline automática | Step-by-step via comandos `synapos:step` |
266
+ | Sem subagentes reais | Personas inline via `.agent.md` + prefixo de agent |
267
+ | Sem botões interativos | Listas numeradas com input explícito |
268
+ | Sem controle de fluxo | Markdown como engine + comentários como comandos |
269
+ | Sem tool calls | Skills simuladas via instruções inline no step |
270
+
271
+ ---
272
+
273
+ ## REGRAS DO ADAPTER
274
+
275
+ | Regra | Descrição |
276
+ |-------|-----------|
277
+ | **Arquivo aberto = contexto** | Incentive o usuário a abrir os arquivos relevantes no editor |
278
+ | **@workspace para busca** | Use `@workspace` para encontrar arquivos quando necessário |
279
+ | **Um step por vez** | Nunca execute múltiplos steps simultaneamente |
280
+ | **Gate como checklist** | Todo gate deve ser visível ao usuário como checklist |
281
+ | **DECISÃO PENDENTE é obrigatória** | Qualquer decisão fora do escopo = `[DECISÃO PENDENTE]` |
282
+ | **Nunca assuma modo** | Se o modo não estiver claro, pergunte antes de executar |
283
+ | **Instrua a abrir arquivos** | Se o contexto necessário não estiver carregado, peça ao usuário para abrir o arquivo |
@@ -0,0 +1,417 @@
1
+ ---
2
+ name: synapos-gate-system
3
+ version: 1.5.0
4
+ description: Sistema de quality gates — validação em pontos críticos do pipeline
5
+ ---
6
+
7
+ # SYNAPOS GATE SYSTEM v1.4.0
8
+
9
+ > Gates são pontos de validação obrigatórios. Falha em um gate bloqueia o avanço.
10
+ > Princípio: **Fail Loud, Never Silent** — nunca ignore uma falha de gate.
11
+
12
+ ---
13
+
14
+ ## GATES DISPONÍVEIS
15
+
16
+ Use `gate:` nos steps do pipeline.yaml para ativar um gate antes de continuar.
17
+
18
+ ---
19
+
20
+ ### GATE-0 — Integridade do Framework e Documentação do Projeto
21
+
22
+ **Quando usar:** No primeiro step de qualquer pipeline. **Obrigatório antes de qualquer execução.**
23
+
24
+ **Verifica — Framework:**
25
+ - [ ] `.synapos/core/orchestrator.md` existe
26
+ - [ ] `.synapos/core/pipeline-runner.md` existe
27
+ - [ ] `docs/_memory/company.md` existe
28
+ - [ ] `docs/_memory/preferences.md` existe
29
+ - [ ] `.synapos/squads/{slug}/squad.yaml` existe
30
+ - [ ] `.synapos/squads/{slug}/agents/` tem pelo menos um .agent.md
31
+
32
+ **Verifica — Documentação do Projeto (obrigatório):**
33
+ - [ ] Pasta `docs/` existe na raiz do projeto
34
+ - [ ] `docs/` contém pelo menos um arquivo `.md`
35
+
36
+ **Verificação de documentação — leia `execution_mode` do squad.yaml:**
37
+
38
+ | `execution_mode` | Comportamento se `docs/` ausente ou incompleta |
39
+ |---|---|
40
+ | `bootstrap` | Passa com aviso — gates GATE-ADR e GATE-2 desativados |
41
+ | `standard` | Passa se `company.md` + pelo menos 1 dir de docs existir; avisa sobre gaps |
42
+ | `strict` | Exige `company.md` + `docs/tech/` + `docs/business/` — bloqueia se faltar |
43
+
44
+ ---
45
+
46
+ **BOOTSTRAP — docs ausentes ou incompletas:**
47
+ ```
48
+ ⚡ GATE-0 (Bootstrap Mode) — Score de documentação: {doc_score}/100
49
+ Executando com contexto mínimo.
50
+
51
+ Gates ativos neste modo: GATE-DECISION
52
+ Desativados: GATE-ADR, GATE-2, GATE-DESIGN
53
+
54
+ Para resultados melhores:
55
+ → /setup:build-tech (+35 pontos de documentação)
56
+ → /setup:build-business (+40 pontos de documentação)
57
+
58
+ Prosseguindo...
59
+ ```
60
+
61
+ **STANDARD — docs parcialmente presentes:**
62
+ ```
63
+ 🟡 GATE-0 (Standard Mode) — Score de documentação: {doc_score}/100
64
+ Contexto parcial. Executando com gates essenciais.
65
+
66
+ Gates ativos: GATE-0, GATE-ADR, GATE-DECISION
67
+ Desativados: GATE-DESIGN (requer docs/business completo)
68
+
69
+ Documentação faltante:
70
+ {lista de itens ausentes com pontos correspondentes}
71
+
72
+ Prosseguindo...
73
+ ```
74
+
75
+ **STRICT — docs completas:**
76
+ ```
77
+ 🔴 GATE-0 (Strict Mode) — Score de documentação: {doc_score}/100
78
+ Contexto completo. Todos os gates ativos.
79
+
80
+ ✅ GATE-0 aprovado
81
+ ```
82
+
83
+ **STRICT sem documentação completa — bloqueia:**
84
+ ```
85
+ 🚫 GATE-0 — Documentação insuficiente para Strict Mode
86
+
87
+ Score atual: {doc_score}/100 (mínimo necessário: 70)
88
+
89
+ Itens faltantes:
90
+ ✗ {item} — {pontos} pontos
91
+
92
+ Opções:
93
+ → Crie a documentação: /setup:build-tech e /setup:build-business
94
+ → Execute uma tarefa mais simples (reduz para Standard/Bootstrap automaticamente)
95
+ ```
96
+
97
+ **Falha de framework (qualquer modo):** Liste os arquivos faltantes do core e pare.
98
+
99
+ ---
100
+
101
+ ### GATE-1 — Configuração do Squad
102
+
103
+ **Quando usar:** Após criação do squad, antes do primeiro step real.
104
+
105
+ **Verifica:**
106
+ - [ ] squad.yaml tem `name`, `domain`, `description` preenchidos
107
+ - [ ] squad.yaml tem `feature` e `session` preenchidos (obrigatório no modelo v2)
108
+ - [ ] Todos os agents listados em squad.yaml têm arquivo .agent.md correspondente
109
+ - [ ] Pipeline referenciado em squad.yaml existe
110
+
111
+ **Falha:** Informe o campo ou arquivo faltante e pare.
112
+
113
+ ---
114
+
115
+ ### GATE-2 — Contexto Completo
116
+
117
+ **Quando usar:** Antes de steps de implementação/execução (após discovery).
118
+
119
+ **Verifica:**
120
+ - [ ] Objetivo do squad está claro (description no squad.yaml)
121
+ - [ ] Ao menos um documento de contexto existe em `docs/` (raiz do projeto)
122
+ - [ ] `docs/.squads/sessions/{feature-slug}/memories.md` foi lido e considerado
123
+ - [ ] Se `context.md` existe na session, foi carregado no contexto do agent
124
+
125
+ **Falha:** Informe o que está incompleto. Sugira executar o step de investigação (pré-execução) primeiro.
126
+
127
+ ---
128
+
129
+ ### GATE-3 — Qualidade do Output
130
+
131
+ **Quando usar:** Antes de steps de revisão ou handoff.
132
+
133
+ **Verifica (com base nas veto_conditions do step anterior):**
134
+ - [ ] Output não está vazio
135
+ - [ ] Output atende os critérios mínimos do agent (Quality Criteria do .agent.md)
136
+ - [ ] Nenhuma veto_condition foi violada
137
+
138
+ **Falha:** Aponte a condição violada. Retorne ao step anterior.
139
+
140
+ ---
141
+
142
+ ### GATE-4 — Consistência de Documentação (Produto)
143
+
144
+ **Quando usar:** Exclusivo para squad de Produto, antes do handoff.
145
+
146
+ **Verifica (na session folder `docs/.squads/sessions/{feature-slug}/`):**
147
+ - [ ] `context.md` existe e não está vazio
148
+ - [ ] `architecture.md` ou `spec.md` existe com critérios de aceite
149
+ - [ ] `plan.md` existe (se pipeline gerou)
150
+ - [ ] `review-notes.md` existe
151
+ - [ ] `state.json` tem entrada para este squad com todos os steps concluídos
152
+
153
+ **Falha:** Liste os documentos faltantes na session. Não libere o handoff.
154
+
155
+ ---
156
+
157
+ ### GATE-DECISION — Bloqueio de Decisões Autônomas
158
+
159
+ **Quando usar:** Após cada step com `execution: subagent` ou `execution: inline`. Aplicado automaticamente pelo pipeline-runner antes de aceitar qualquer output.
160
+
161
+ **Princípio:** Nenhum agent pode tomar decisões além do escopo definido no step. Toda decisão deve ser sinalizada e aprovada pelo usuário.
162
+
163
+ **O que é considerado uma decisão:**
164
+ - Escolha de biblioteca, framework ou ferramenta não especificada no step
165
+ - Definição de estrutura de dados, schema ou interface não solicitada
166
+ - Escolha de padrão arquitetural (MVC, CQRS, Event Sourcing, etc.) não documentada em ADR
167
+ - Escolha de biblioteca de componentes UI não especificada no step
168
+ - Desvio de padrão documentado no design system sem justificativa
169
+ - Escolha de padrão de interação (ex: modal vs. drawer, inline edit vs. form separado) não documentada
170
+ - Qualquer "assumindo que..." ou "optei por..." no output
171
+
172
+ **Como o agent deve sinalizar:**
173
+
174
+ Quando o agent identifica que precisa tomar uma decisão além do escopo, ele **para** e inclui no output:
175
+
176
+ ```
177
+ [DECISÃO PENDENTE] {id-sequencial}
178
+ Contexto: {por que essa decisão é necessária}
179
+ Opções:
180
+ A) {opção A} — {prós/contras}
181
+ B) {opção B} — {prós/contras}
182
+ Recomendação do agent: {opção recomendada e por quê}
183
+ Aguardando aprovação para prosseguir.
184
+ ```
185
+
186
+ **Verifica:**
187
+ - [ ] O output **não** contém decisões implícitas (sem `[DECISÃO PENDENTE]` quando deveria ter)
188
+ - [ ] Cada `[DECISÃO PENDENTE]` foi aprovada pelo usuário antes de o agent prosseguir
189
+ - [ ] O agent não escolheu unilateralmente entre as opções sem aprovação
190
+
191
+ **Falha — Decisão implícita detectada:**
192
+ ```
193
+ 🚫 GATE-DECISION — FALHA: Decisão autônoma detectada
194
+
195
+ O agent tomou a seguinte decisão sem aprovação:
196
+ "{trecho do output}"
197
+
198
+ O agent não pode prosseguir com esta decisão.
199
+ Reexecutando step com instrução: sinalizar como [DECISÃO PENDENTE].
200
+ ```
201
+
202
+ **Falha — Decisão pendente não resolvida:**
203
+ ```
204
+ ⏸ GATE-DECISION — AGUARDANDO: Decisão pendente
205
+
206
+ [DECISÃO PENDENTE] {id}
207
+ {conteúdo da decisão pendente}
208
+
209
+ Selecione uma opção para continuar:
210
+ - A) {opção A}
211
+ - B) {opção B}
212
+ - ✏️ Definir outra opção
213
+ ```
214
+
215
+ Aguarde a seleção do usuário. **Nunca resolva automaticamente.**
216
+
217
+ ---
218
+
219
+ ### GATE-ADR — Conformidade com ADRs (Implementação Guiada por ADRs)
220
+
221
+ **Quando usar:** Obrigatório antes de qualquer step de implementação (`execution: subagent` ou `execution: inline`) quando o projeto tem ADRs em `docs/`.
222
+
223
+ **Verifica:**
224
+ - [ ] O agent leu todas as ADRs disponíveis em `docs/` (arquivos com `ADR`, `adr`, `decisions`, `architecture-decision` no nome ou caminho)
225
+ - [ ] O output do step lista explicitamente quais ADRs foram consultadas
226
+ - [ ] Nenhuma decisão técnica no output contradiz uma ADR com status `Aceito` ou `Ativo`
227
+ - [ ] Se o step CRIA uma nova ADR, ela segue o template padrão (Contexto / Decisão / Alternativas / Consequências)
228
+
229
+ **Resultado esperado:** Código e documentação conformes com ADRs desde o início — não como revisão posterior.
230
+
231
+ **Falha — Conflito detectado:**
232
+ ```
233
+ 🚫 GATE-ADR — FALHA: Conflito com ADR existente
234
+
235
+ ADR violada: {adr-id} — {título}
236
+ Decisão conflitante no output: {trecho}
237
+ Status da ADR: Aceito
238
+
239
+ O agent não pode prosseguir com decisões que contradizem ADRs aprovadas.
240
+ Opções:
241
+ - Revise o output para seguir a ADR
242
+ - Proponha uma nova ADR para substituir a existente (requer aprovação do usuário)
243
+ ```
244
+
245
+ **Falha — ADRs não consultadas:**
246
+ ```
247
+ ⚠️ GATE-ADR — AVISO: ADRs não referenciadas no output
248
+
249
+ ADRs disponíveis não foram listadas pelo agent.
250
+ Reexecutando step com instrução explícita de consulta às ADRs.
251
+ ```
252
+
253
+ **Falha — Decisão sem ADR correspondente:**
254
+ ```
255
+ ⚠️ GATE-ADR — AUSÊNCIA: Decisão arquitetural sem ADR
256
+
257
+ O output contém decisão de alto impacto sem ADR correspondente:
258
+ "{trecho da decisão}"
259
+
260
+ Opções:
261
+ - Crie uma nova ADR para documentar esta decisão antes de prosseguir
262
+ - Use [DECISÃO PENDENTE] para aguardar aprovação do usuário
263
+
264
+ Decisões que requerem ADR: escolha de framework, banco de dados, padrão arquitetural,
265
+ estratégia de cache, política de autenticação, estrutura de dados principal.
266
+ ```
267
+
268
+ ---
269
+
270
+ ### GATE-DESIGN — Conformidade com Design System e Acessibilidade
271
+
272
+ **Quando usar:** Em steps de frontend/produto que geram especificações de componente, fluxos de UI ou documentação visual. Aplicado automaticamente em steps onde o agent tem `tasks` contendo `design-system`, `component-spec` ou `ux-review`.
273
+
274
+ **Verifica:**
275
+ - [ ] Todos os estados de componente especificados: default, hover, focus, disabled, loading, error
276
+ - [ ] Contraste de texto ≥ 4.5:1 (WCAG 2.1 AA) — valor numérico declarado no output
277
+ - [ ] Estado vazio (`empty state`) documentado para listas e views de dados
278
+ - [ ] Estado de erro com mensagem clara e ação de recuperação
279
+ - [ ] Componentes novos justificados — existência verificada no design system antes de propor novo
280
+ - [ ] Responsividade: breakpoints mobile e desktop definidos (se aplicável ao componente)
281
+ - [ ] Tokens de design usados (sem valores hardcoded de cor, espaçamento ou tipografia)
282
+
283
+ **Output esperado:** Seção `## Verificação GATE-DESIGN` no arquivo de spec com cada item marcado como `✅` ou `⚠️ Justificativa`.
284
+
285
+ **Falha — estados faltando:**
286
+ ```
287
+ 🚫 GATE-DESIGN — FALHA: Estados de componente incompletos
288
+
289
+ Componente(s) com estados faltando:
290
+ ✗ {componente}: falta {estados ausentes}
291
+
292
+ Todo componente interativo deve ter todos os 6 estados especificados.
293
+ Adicione os estados antes de prosseguir.
294
+ ```
295
+
296
+ **Falha — contraste:**
297
+ ```
298
+ 🚫 GATE-DESIGN — FALHA: Contraste insuficiente ou não verificado
299
+
300
+ Requisito: ≥ 4.5:1 para texto normal, ≥ 3:1 para texto grande (WCAG 2.1 AA)
301
+ Pendente: {lista de elementos sem contraste declarado}
302
+
303
+ Declare o ratio de contraste ou ajuste as cores.
304
+ ```
305
+
306
+ **Falha — componente não justificado:**
307
+ ```
308
+ ⚠️ GATE-DESIGN — AVISO: Componente novo sem verificação de design system
309
+
310
+ Componente(s) propostos sem verificação se existem no design system:
311
+ ? {nome do componente}
312
+
313
+ Verifique se já existe antes de propor. Se não existe, documente a justificativa.
314
+ ```
315
+
316
+ **Gate passando:**
317
+ ```
318
+ ✅ GATE-DESIGN — Design System e Acessibilidade: aprovado
319
+ ```
320
+
321
+ ---
322
+
323
+ ### GATE-5 — Entrega / Handoff
324
+
325
+ **Quando usar:** Último step de qualquer pipeline antes de marcar como completed.
326
+
327
+ **Verifica:**
328
+ - [ ] Todos os `output_file` definidos no pipeline foram gerados em `docs/.squads/sessions/{feature-slug}/`
329
+ - [ ] `state.json` marca `state.squads["{squad-slug}"].completed_steps` com todos os steps do pipeline
330
+ - [ ] Não há veto_conditions pendentes
331
+ - [ ] Não há `[DECISÃO PENDENTE]` não resolvida nos arquivos da session
332
+
333
+ **Falha:** Liste o que está faltando. Não marque o squad como completed.
334
+
335
+ ---
336
+
337
+ ## GATES POR EXECUTION MODE
338
+
339
+ O pipeline-runner lê `execution_mode` do squad.yaml e ativa apenas os gates correspondentes:
340
+
341
+ | Gate | BOOTSTRAP | STANDARD | STRICT |
342
+ |---|---|---|---|
343
+ | GATE-0 | ✅ (passa com aviso) | ✅ | ✅ |
344
+ | GATE-1 | ✅ | ✅ | ✅ |
345
+ | GATE-2 | ❌ desativado | ✅ | ✅ |
346
+ | GATE-3 | ❌ desativado | ✅ | ✅ |
347
+ | GATE-4 | ❌ desativado | ❌ desativado | ✅ |
348
+ | GATE-5 | ❌ desativado | ✅ | ✅ |
349
+ | GATE-ADR | ❌ desativado | ✅ | ✅ |
350
+ | GATE-DECISION | ✅ | ✅ | ✅ |
351
+ | GATE-DESIGN | ❌ desativado | ❌ desativado | ✅ |
352
+
353
+ > **GATE-1 e GATE-DECISION são universais** — ativos em todos os modos, sempre.
354
+ > **GATE-DECISION nunca é desativado** — evitar decisões autônomas é princípio inegociável.
355
+
356
+ ---
357
+
358
+ ## COMO USAR NOS PIPELINES
359
+
360
+ No `pipeline.yaml`, adicione `gate:` em um step:
361
+
362
+ ```yaml
363
+ steps:
364
+ - id: gate-contexto
365
+ name: "Validar Contexto"
366
+ execution: checkpoint
367
+ gate: GATE-2
368
+ # Não tem agent — é validação automática
369
+
370
+ - id: implementacao
371
+ name: "Implementar Feature"
372
+ agent: rodrigo-react
373
+ depends_on: [gate-contexto]
374
+ ...
375
+ ```
376
+
377
+ Ou como validação inline antes de continuar um step:
378
+
379
+ ```yaml
380
+ - id: spec-final
381
+ name: "Spec Final"
382
+ agent: priscila-produto
383
+ gate: GATE-4 # Gate executado ANTES de aceitar o output
384
+ ...
385
+ ```
386
+
387
+ ---
388
+
389
+ ## VETO CONDITIONS vs GATES
390
+
391
+ | | Veto Conditions | Gates |
392
+ |--|----------------|-------|
393
+ | **Escopo** | Output de um step específico | Marco estrutural do pipeline |
394
+ | **Foco** | Qualidade do conteúdo gerado | Existência e consistência de artefatos |
395
+ | **Retentativa** | Automática (até 2x) | Bloqueia até usuário resolver |
396
+ | **Exemplo** | "Output sem critérios de aceite" | "Todos os docs de handoff existem" |
397
+
398
+ ---
399
+
400
+ ## MENSAGENS DE GATE
401
+
402
+ **Gate passando:**
403
+ ```
404
+ ✅ GATE-{N} — {nome}: aprovado
405
+ ```
406
+
407
+ **Gate falhando:**
408
+ ```
409
+ 🚫 GATE-{N} — {nome}: FALHA
410
+
411
+ Motivo: {descrição específica}
412
+ Itens faltantes:
413
+ ✗ {item 1}
414
+ ✗ {item 2}
415
+
416
+ Resolva e execute novamente.
417
+ ```