sinapse-ai 9.3.0 → 9.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 (432) hide show
  1. package/.claude/CLAUDE.md +60 -341
  2. package/.claude/hooks/enforce-architecture-first.py +197 -197
  3. package/.claude/hooks/enforce-git-push-authority.sh +25 -4
  4. package/.claude/hooks/mind-clone-governance.py +193 -193
  5. package/.claude/hooks/read-protection.py +152 -152
  6. package/.claude/hooks/sql-governance.py +183 -183
  7. package/.claude/hooks/verify-packages.cjs +83 -0
  8. package/.claude/hooks/write-path-validation.py +195 -195
  9. package/.claude/rules/agent-authority.md +6 -0
  10. package/.claude/rules/agent-handoff.md +5 -0
  11. package/.claude/rules/cross-squad-routing.md +5 -0
  12. package/.claude/rules/hook-governance.md +7 -0
  13. package/.claude/rules/mandatory-delegation.md +24 -0
  14. package/.claude/rules/mcp-usage.md +3 -1
  15. package/.claude/rules/project-intelligence.md +63 -0
  16. package/.claude/rules/response-format.md +4 -0
  17. package/.claude/rules/safe-collaboration.md +14 -2
  18. package/.claude/rules/security-data-protection.md +27 -0
  19. package/.claude/rules/squad-awareness.md +96 -68
  20. package/.claude/rules/token-economy.md +148 -0
  21. package/.claude/rules/tool-examples.md +6 -0
  22. package/.claude/rules/workflow-execution.md +7 -0
  23. package/.codex/agents/analyst.md +342 -71
  24. package/.codex/agents/architect.md +533 -68
  25. package/.codex/agents/data-engineer.md +530 -106
  26. package/.codex/agents/developer.md +657 -0
  27. package/.codex/agents/devops.md +639 -69
  28. package/.codex/agents/product-lead.md +362 -0
  29. package/.codex/agents/project-lead.md +405 -0
  30. package/.codex/agents/quality-gate.md +538 -0
  31. package/.codex/agents/sinapse-orqx.md +9 -7
  32. package/.codex/agents/sprint-lead.md +315 -0
  33. package/.codex/agents/squad-creator.md +402 -0
  34. package/.codex/agents/ux-design-expert.md +523 -0
  35. package/.codex/delegation-matrix.json +756 -44
  36. package/.codex/handoff-packet.schema.json +30 -6
  37. package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
  38. package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
  39. package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
  40. package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
  41. package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
  42. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
  43. package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
  44. package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
  45. package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
  46. package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
  47. package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
  48. package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
  49. package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
  50. package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
  51. package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
  52. package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
  53. package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
  54. package/.sinapse-ai/core/doctor/index.js +157 -50
  55. package/.sinapse-ai/core/ids/registry-updater.js +6 -1
  56. package/.sinapse-ai/core/logger/index.js +319 -0
  57. package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
  58. package/.sinapse-ai/core/telemetry/index.js +247 -0
  59. package/.sinapse-ai/data/entity-registry.yaml +1060 -808
  60. package/.sinapse-ai/development/agents/analyst.md +90 -0
  61. package/.sinapse-ai/development/agents/architect.md +78 -0
  62. package/.sinapse-ai/development/agents/data-engineer.md +38 -0
  63. package/.sinapse-ai/development/agents/developer.md +97 -0
  64. package/.sinapse-ai/development/agents/devops.md +121 -0
  65. package/.sinapse-ai/development/agents/product-lead.md +27 -0
  66. package/.sinapse-ai/development/agents/project-lead.md +28 -0
  67. package/.sinapse-ai/development/agents/quality-gate.md +89 -0
  68. package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
  69. package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
  70. package/.sinapse-ai/development/agents/squad-creator.md +58 -0
  71. package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
  72. package/.sinapse-ai/development/checklists/agent-quality-gate.md +27 -0
  73. package/.sinapse-ai/development/checklists/brownfield-compatibility-checklist.md +20 -0
  74. package/.sinapse-ai/development/checklists/code-review-checklist.md +106 -0
  75. package/.sinapse-ai/development/checklists/issue-triage-checklist.md +9 -0
  76. package/.sinapse-ai/development/checklists/memory-audit-checklist.md +16 -0
  77. package/.sinapse-ai/development/checklists/pr-quality-checklist.md +72 -0
  78. package/.sinapse-ai/development/checklists/security-deployment-checklist.md +54 -0
  79. package/.sinapse-ai/development/checklists/self-critique-checklist.md +19 -1
  80. package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
  81. package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
  82. package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
  83. package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
  84. package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
  85. package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
  86. package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
  87. package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
  88. package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
  89. package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
  90. package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
  91. package/.sinapse-ai/development/skills/debug.md +57 -0
  92. package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
  93. package/.sinapse-ai/development/skills/fast-review.md +69 -0
  94. package/.sinapse-ai/development/skills/model-router.md +92 -0
  95. package/.sinapse-ai/development/skills/research-synthesis.md +77 -0
  96. package/.sinapse-ai/development/skills/security-scan.md +73 -0
  97. package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
  98. package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
  99. package/.sinapse-ai/development/skills/verify.md +53 -0
  100. package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
  101. package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
  102. package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
  103. package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
  104. package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
  105. package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
  106. package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
  107. package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
  108. package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
  109. package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
  110. package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
  111. package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
  112. package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
  113. package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
  114. package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
  115. package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
  116. package/.sinapse-ai/development/templates/squad/agent-template.md +17 -4
  117. package/.sinapse-ai/development/templates/squad/checklist-template.md +13 -5
  118. package/.sinapse-ai/development/templates/squad/task-template.md +7 -0
  119. package/.sinapse-ai/development/templates/squad/workflow-template.yaml +7 -0
  120. package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
  121. package/.sinapse-ai/development/workflows/fast-track.yaml +87 -0
  122. package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
  123. package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
  124. package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
  125. package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
  126. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
  127. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
  128. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
  129. package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
  130. package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
  131. package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
  132. package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +3 -1
  133. package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
  134. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
  135. package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
  136. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
  137. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
  138. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
  139. package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
  140. package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
  141. package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
  142. package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
  143. package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
  144. package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
  145. package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
  146. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
  147. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
  148. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
  149. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
  150. package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
  151. package/.sinapse-ai/install-manifest.yaml +333 -162
  152. package/.sinapse-ai/local-config.yaml.template +65 -65
  153. package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
  154. package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
  155. package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
  156. package/.sinapse-ai/monitor/hooks/notification.py +30 -30
  157. package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
  158. package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
  159. package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
  160. package/.sinapse-ai/monitor/hooks/stop.py +30 -30
  161. package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
  162. package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
  163. package/.sinapse-ai/product/templates/adr.hbs +126 -126
  164. package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
  165. package/.sinapse-ai/product/templates/epic.hbs +213 -213
  166. package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
  167. package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
  168. package/.sinapse-ai/product/templates/prd.hbs +202 -202
  169. package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
  170. package/.sinapse-ai/product/templates/story.hbs +264 -264
  171. package/.sinapse-ai/product/templates/task.hbs +171 -171
  172. package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
  173. package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
  174. package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
  175. package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
  176. package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
  177. package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
  178. package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
  179. package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
  180. package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
  181. package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
  182. package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
  183. package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
  184. package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
  185. package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
  186. package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
  187. package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
  188. package/LICENSE +34 -34
  189. package/README.en.md +167 -20
  190. package/README.md +190 -22
  191. package/bin/cli.js +510 -196
  192. package/bin/postinstall.js +564 -0
  193. package/bin/sinapse-cli +283 -283
  194. package/bin/sinapse-graph.js +9 -0
  195. package/bin/sinapse-init.js +36 -4
  196. package/bin/sinapse-minimal.js +20 -9
  197. package/bin/sinapse.js +202 -122
  198. package/bin/utils/deprecation-warning.js +46 -0
  199. package/bin/utils/pre-push-safety.js +14 -0
  200. package/docs/TELEMETRY.md +131 -0
  201. package/docs/chrome-brain-upgrade-plan.md +624 -0
  202. package/docs/codex-integration-process.md +22 -0
  203. package/docs/codex-parity-program.md +27 -0
  204. package/docs/framework/orqx-plan.md +1 -1
  205. package/docs/ide-integration.md +36 -0
  206. package/docs/installation/chrome-brain.md +17 -7
  207. package/docs/mega-upgrade-orchestration-plan.md +71 -0
  208. package/docs/pt/contributing.md +20 -0
  209. package/docs/research-synthesis-for-upgrade.md +511 -0
  210. package/docs/security-audit-report.md +306 -0
  211. package/package.json +20 -8
  212. package/packages/installer/src/config/configure-environment.js +19 -44
  213. package/packages/installer/src/detection/detect-project-type.js +181 -63
  214. package/packages/installer/src/installer/manifest-signature.js +32 -17
  215. package/packages/installer/src/wizard/i18n.js +12 -0
  216. package/packages/installer/src/wizard/ide-config-generator.js +8 -39
  217. package/packages/installer/src/wizard/index.js +119 -14
  218. package/packages/installer/src/wizard/questions.js +2 -3
  219. package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
  220. package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
  221. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
  222. package/packages/sinapse-install/bin/edmcp.js +0 -0
  223. package/packages/sinapse-install/bin/sinapse-install.js +0 -0
  224. package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
  225. package/scripts/check-markdown-links.py +353 -353
  226. package/scripts/coverage-report-summary.js +169 -0
  227. package/scripts/generate-install-manifest.js +6 -2
  228. package/scripts/release-readiness.js +169 -0
  229. package/scripts/test-install-matrix-local.sh +153 -0
  230. package/scripts/validate-install-docs.js +394 -0
  231. package/scripts/validate-no-external-refs.js +376 -0
  232. package/scripts/validate-squad-orqx.js +302 -0
  233. package/scripts/validate-story-meta.js +263 -0
  234. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  235. package/squads/claude-code-mastery/README.md +2 -2
  236. package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +927 -0
  237. package/squads/claude-code-mastery/squad.yaml +1 -1
  238. package/squads/squad-artdir/README.md +90 -0
  239. package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
  240. package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
  241. package/squads/squad-artdir/agents/color-psychologist.md +166 -0
  242. package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
  243. package/squads/squad-artdir/agents/design-system-architect.md +100 -0
  244. package/squads/squad-artdir/agents/ia-architect.md +169 -0
  245. package/squads/squad-artdir/agents/interaction-designer.md +162 -0
  246. package/squads/squad-artdir/agents/layout-engineer.md +163 -0
  247. package/squads/squad-artdir/agents/motion-architect.md +185 -0
  248. package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
  249. package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
  250. package/squads/squad-artdir/agents/product-surface-director.md +86 -0
  251. package/squads/squad-artdir/agents/type-systemist.md +138 -0
  252. package/squads/squad-artdir/agents/visual-strategist.md +127 -0
  253. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
  254. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
  255. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
  256. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
  257. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
  258. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
  259. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
  260. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
  261. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
  262. package/squads/squad-artdir/package.json +20 -0
  263. package/squads/squad-artdir/squad.yaml +271 -0
  264. package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
  265. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
  266. package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
  267. package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
  268. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
  269. package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
  270. package/squads/squad-artdir/tasks/design-color-system.md +81 -0
  271. package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
  272. package/squads/squad-artdir/tasks/design-token-system.md +58 -0
  273. package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
  274. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
  275. package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
  276. package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
  277. package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
  278. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
  279. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
  280. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
  281. package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
  282. package/squads/squad-brand/knowledge-base/archetype-brand-mapping.md +12 -1
  283. package/squads/squad-brand/knowledge-base/brand-activism-cultural-branding.md +216 -0
  284. package/squads/squad-brand/knowledge-base/brand-audit-criteria.md +58 -0
  285. package/squads/squad-brand/knowledge-base/brand-digital-strategy.md +188 -0
  286. package/squads/squad-brand/knowledge-base/brand-legal-ip.md +222 -0
  287. package/squads/squad-brand/knowledge-base/brand-naming-framework.md +163 -0
  288. package/squads/squad-brand/knowledge-base/branding-master-reference.md +1001 -0
  289. package/squads/squad-brand/knowledge-base/color-psychology.md +25 -12
  290. package/squads/squad-brand/knowledge-base/employer-personal-branding.md +206 -0
  291. package/squads/squad-brand/knowledge-base/routing-catalog.md +34 -0
  292. package/squads/squad-brand/knowledge-base/sonic-branding-principles.md +6 -1
  293. package/squads/squad-brand/knowledge-base/typography-personality.md +34 -0
  294. package/squads/squad-brand/squad.yaml +20 -6
  295. package/squads/squad-claude/knowledge-base/context-window-optimization.md +334 -0
  296. package/squads/squad-claude/knowledge-base/knowledge-architecture-reference.md +403 -0
  297. package/squads/squad-claude/knowledge-base/memory-systems-reference.md +412 -0
  298. package/squads/squad-claude/knowledge-base/obsidian-claude-integration.md +423 -0
  299. package/squads/squad-claude/knowledge-base/retrieval-augmented-generation.md +320 -0
  300. package/squads/squad-claude/knowledge-base/skill-creation-patterns.md +380 -0
  301. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +411 -0
  302. package/squads/squad-cloning/knowledge-base/clone-quality-assurance.md +211 -0
  303. package/squads/squad-cloning/knowledge-base/confidence-scoring.md +51 -0
  304. package/squads/squad-cloning/knowledge-base/cross-squad-deployment.md +47 -0
  305. package/squads/squad-cloning/knowledge-base/ethical-guidelines.md +237 -0
  306. package/squads/squad-cloning/knowledge-base/knowledge-graph-for-clones.md +295 -0
  307. package/squads/squad-cloning/knowledge-base/memory-architecture-for-clones.md +229 -0
  308. package/squads/squad-cloning/knowledge-base/multi-agent-deployment-patterns.md +320 -0
  309. package/squads/squad-cloning/knowledge-base/skill-standard-for-clones.md +262 -0
  310. package/squads/squad-cloning/knowledge-base/sop-extraction-guide.md +243 -0
  311. package/squads/squad-commercial/knowledge-base/account-based-selling.md +206 -0
  312. package/squads/squad-commercial/knowledge-base/ai-as-competitive-infrastructure.md +14 -0
  313. package/squads/squad-commercial/knowledge-base/ai-in-sales.md +199 -0
  314. package/squads/squad-commercial/knowledge-base/brazilian-sales-context.md +195 -0
  315. package/squads/squad-commercial/knowledge-base/customer-success-operations.md +83 -2
  316. package/squads/squad-commercial/knowledge-base/prospecting-pipeline-generation.md +69 -0
  317. package/squads/squad-commercial/knowledge-base/sales-enablement-playbook.md +260 -0
  318. package/squads/squad-commercial/knowledge-base/sales-methodology-comparison.md +185 -0
  319. package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1123 -0
  320. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
  321. package/squads/squad-content/knowledge-base/brazilian-content-context.md +176 -0
  322. package/squads/squad-content/knowledge-base/competitor-analysis-methods.md +40 -1
  323. package/squads/squad-content/knowledge-base/content-architecture-taxonomy.md +206 -0
  324. package/squads/squad-content/knowledge-base/content-formats-encyclopedia.md +58 -1
  325. package/squads/squad-content/knowledge-base/content-references-bibliography.md +130 -0
  326. package/squads/squad-content/knowledge-base/content-strategy-master-reference.md +1097 -0
  327. package/squads/squad-content/knowledge-base/content-tech-stack.md +150 -0
  328. package/squads/squad-content/knowledge-base/copywriting-formulas-library.md +188 -0
  329. package/squads/squad-content/knowledge-base/email-newsletter-strategy.md +161 -0
  330. package/squads/squad-content/knowledge-base/platform-algorithm-intelligence.md +86 -1
  331. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
  332. package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1007 -0
  333. package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
  334. package/squads/squad-content/knowledge-base/video-audio-content-playbook.md +218 -0
  335. package/squads/squad-content/squad.yaml +187 -27
  336. package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
  337. package/squads/squad-copy/knowledge-base/ai-copy-production.md +254 -0
  338. package/squads/squad-copy/knowledge-base/brazilian-copywriting-context.md +242 -0
  339. package/squads/squad-copy/knowledge-base/email-copywriting-system.md +299 -0
  340. package/squads/squad-copy/knowledge-base/landing-page-copy-architecture.md +267 -0
  341. package/squads/squad-copy/knowledge-base/power-words-catalog.md +205 -0
  342. package/squads/squad-copy/knowledge-base/seo-copywriting.md +255 -0
  343. package/squads/squad-copy/knowledge-base/video-script-copywriting.md +239 -0
  344. package/squads/squad-copy/squad.yaml +19 -4
  345. package/squads/squad-council/knowledge-base/brand-strategy-models.md +193 -0
  346. package/squads/squad-council/knowledge-base/growth-strategy-models.md +267 -0
  347. package/squads/squad-council/knowledge-base/innovation-disruption-frameworks.md +193 -0
  348. package/squads/squad-council/knowledge-base/market-analysis-frameworks.md +240 -0
  349. package/squads/squad-council/knowledge-base/organizational-leadership-models.md +212 -0
  350. package/squads/squad-council/knowledge-base/sales-strategy-models.md +215 -0
  351. package/squads/squad-courses/knowledge-base/course-launch-strategy.md +251 -0
  352. package/squads/squad-courses/knowledge-base/domain-advocacia-curriculum.md +385 -0
  353. package/squads/squad-courses/knowledge-base/domain-contabilidade-curriculum.md +266 -0
  354. package/squads/squad-courses/knowledge-base/platform-comparison.md +68 -0
  355. package/squads/squad-courses/knowledge-base/video-production-guide.md +70 -0
  356. package/squads/squad-cybersecurity/knowledge-base/cloud-security-reference.md +363 -0
  357. package/squads/squad-cybersecurity/knowledge-base/compliance-frameworks.md +273 -0
  358. package/squads/squad-cybersecurity/knowledge-base/database-security.md +438 -0
  359. package/squads/squad-cybersecurity/knowledge-base/incident-response-playbook.md +420 -0
  360. package/squads/squad-cybersecurity/knowledge-base/network-security-reference.md +477 -0
  361. package/squads/squad-cybersecurity/knowledge-base/penetration-testing-methodology.md +350 -0
  362. package/squads/squad-cybersecurity/knowledge-base/vulnerability-management.md +349 -0
  363. package/squads/squad-design/knowledge-base/brazilian-design-context.md +223 -0
  364. package/squads/squad-design/knowledge-base/component-api-patterns.md +208 -4
  365. package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
  366. package/squads/squad-design/knowledge-base/design-system-master-reference.md +1302 -0
  367. package/squads/squad-design/knowledge-base/design-systems-frameworks.md +91 -1
  368. package/squads/squad-design/knowledge-base/responsive-modern-css.md +96 -4
  369. package/squads/squad-design/knowledge-base/wcag-aria-reference.md +117 -5
  370. package/squads/squad-design/knowledge-base/web-performance-reference.md +127 -4
  371. package/squads/squad-design/squad.yaml +19 -4
  372. package/squads/squad-finance/knowledge-base/brazilian-taxation.md +263 -0
  373. package/squads/squad-finance/knowledge-base/contabilidade-master-reference.md +998 -0
  374. package/squads/squad-finance/knowledge-base/finance-master-reference.md +946 -0
  375. package/squads/squad-finance/knowledge-base/financial-reporting-analysis.md +316 -0
  376. package/squads/squad-finance/knowledge-base/fintech-brazilian-context.md +242 -0
  377. package/squads/squad-finance/knowledge-base/fpa-planning-frameworks.md +286 -0
  378. package/squads/squad-finance/knowledge-base/ma-and-transactions.md +285 -0
  379. package/squads/squad-finance/knowledge-base/risk-management.md +233 -0
  380. package/squads/squad-finance/knowledge-base/startups-venture-capital.md +337 -0
  381. package/squads/squad-growth/knowledge-base/ai-growth-playbook.md +216 -0
  382. package/squads/squad-growth/knowledge-base/attribution-models.md +78 -0
  383. package/squads/squad-growth/knowledge-base/brazilian-growth-context.md +208 -0
  384. package/squads/squad-growth/knowledge-base/community-led-growth.md +175 -0
  385. package/squads/squad-growth/knowledge-base/content-marketing-flywheel.md +190 -0
  386. package/squads/squad-growth/knowledge-base/email-lifecycle-framework.md +192 -0
  387. package/squads/squad-growth/knowledge-base/growth-frameworks-catalog.md +82 -0
  388. package/squads/squad-growth/knowledge-base/growth-master-reference.md +1168 -0
  389. package/squads/squad-growth/knowledge-base/routing-catalog.md +53 -11
  390. package/squads/squad-paidmedia/knowledge-base/audiences-segmentation-deep.md +285 -0
  391. package/squads/squad-paidmedia/knowledge-base/creative-strategy-deep.md +294 -0
  392. package/squads/squad-paidmedia/knowledge-base/google-ads-account-architecture.md +87 -0
  393. package/squads/squad-paidmedia/knowledge-base/meta-ads-campaign-architecture.md +76 -0
  394. package/squads/squad-paidmedia/knowledge-base/paid-media-metrics-reference.md +117 -0
  395. package/squads/squad-paidmedia/knowledge-base/paid-traffic-master-reference.md +1308 -0
  396. package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +95 -18
  397. package/squads/squad-paidmedia/knowledge-base/traffic-masters-frameworks.md +71 -0
  398. package/squads/squad-product/knowledge-base/brazilian-product-context.md +284 -0
  399. package/squads/squad-product/knowledge-base/discovery-methodology-playbook.md +141 -0
  400. package/squads/squad-product/knowledge-base/pm-frameworks-reference.md +125 -9
  401. package/squads/squad-product/knowledge-base/product-analytics-formulas.md +72 -0
  402. package/squads/squad-product/knowledge-base/product-led-growth-reference.md +155 -13
  403. package/squads/squad-product/knowledge-base/product-market-fit-framework.md +222 -0
  404. package/squads/squad-product/knowledge-base/routing-catalog.md +32 -0
  405. package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +591 -0
  406. package/squads/squad-research/knowledge-base/ai-augmented-research.md +212 -0
  407. package/squads/squad-research/knowledge-base/brazilian-market-research-sources.md +197 -0
  408. package/squads/squad-research/knowledge-base/community-platforms-reference.md +786 -0
  409. package/squads/squad-research/knowledge-base/community-research-methods.md +194 -0
  410. package/squads/squad-research/knowledge-base/mixed-methods-research-design.md +168 -0
  411. package/squads/squad-research/knowledge-base/network-effects-analysis.md +192 -0
  412. package/squads/squad-research/knowledge-base/qualitative-research-deep-methods.md +202 -0
  413. package/squads/squad-research/knowledge-base/quantitative-research-methods.md +208 -0
  414. package/squads/squad-research/knowledge-base/research-frameworks-encyclopedia.md +40 -0
  415. package/squads/squad-research/knowledge-base/research-synthesis-frameworks.md +223 -0
  416. package/squads/squad-storytelling/knowledge-base/brand-mythology-framework.md +236 -0
  417. package/squads/squad-storytelling/knowledge-base/brazilian-storytelling-context.md +237 -0
  418. package/squads/squad-storytelling/knowledge-base/data-storytelling.md +232 -0
  419. package/squads/squad-storytelling/knowledge-base/improv-storytelling.md +226 -0
  420. package/squads/squad-storytelling/knowledge-base/persuasion-narrative-techniques.md +269 -0
  421. package/squads/squad-storytelling/knowledge-base/social-movement-narratives.md +191 -0
  422. package/squads/squad-storytelling/knowledge-base/video-storytelling.md +252 -0
  423. package/.sinapse-ai/core/registry/service-registry.json +0 -6346
  424. package/.sinapse-ai/data/registry-update-log.jsonl +0 -1307
  425. package/.sinapse-ai/manifests/agents.csv +0 -29
  426. package/.sinapse-ai/manifests/tasks.csv +0 -204
  427. package/.sinapse-ai/manifests/workers.csv +0 -196
  428. package/squads/claude-code-mastery/data/swarm-orchestration-patterns.yaml +0 -378
  429. package/squads/squad-animations/knowledge-base/framer-motion-complete-reference.md +0 -710
  430. package/squads/squad-animations/knowledge-base/web-animations-api-view-transitions.md +0 -478
  431. package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
  432. package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
@@ -0,0 +1,374 @@
1
+ # Database Scaling Patterns
2
+
3
+ > **Agente(s):** @data-engineer (Tensor)
4
+ > **Fonte:** supabase-at-scale.md, database-selection-architecture.md
5
+ > **Uso:** Consultar ao projetar schemas, otimizar queries, escolher banco de dados ou escalar Supabase
6
+
7
+ ---
8
+
9
+ ## 1. Regra "Start with PostgreSQL"
10
+
11
+ PostgreSQL cobre ~90% dos casos de uso. E a recomendacao default para QUALQUER projeto novo.
12
+
13
+ **Por que PostgreSQL primeiro:**
14
+ - #1 banco mais desejado (Stack Overflow 2026)
15
+ - 45.55% market share entre devs (superou MySQL em 2025)
16
+ - JSONB para dados semi-estruturados (evita precisar de MongoDB)
17
+ - pgvector para AI/ML (evita precisar de Pinecone)
18
+ - Full-text search nativo (evita Elasticsearch para casos simples)
19
+ - PostGIS para geoespacial
20
+ - pg_cron para agendamento
21
+
22
+ **Quando adicionar outro banco:**
23
+ ```
24
+ PostgreSQL resolve seu problema?
25
+ |-- SIM --> Use PostgreSQL
26
+ +-- NAO --> Qual e o problema especifico?
27
+ |-- Latencia < 1ms para cache --> Redis / Upstash
28
+ |-- Busca full-text com typo tolerance --> Meilisearch / Typesense
29
+ |-- Time-series em volume extremo --> TimescaleDB (extension) ou InfluxDB
30
+ |-- Key-value com escala ilimitada --> DynamoDB
31
+ |-- Embeddings/vector search em escala --> Pinecone (se pgvector nao basta)
32
+ |-- Write throughput extremo (IoT) --> ScyllaDB / Cassandra
33
+ |-- Multi-region active-active com SQL --> CockroachDB / Aurora DSQL
34
+ +-- Schema variavel com nested docs --> MongoDB Atlas
35
+ ```
36
+
37
+ ---
38
+
39
+ ## 2. Database Selection Matrix
40
+
41
+ | Caso de Uso | Banco Primario | Alternativa | Evitar |
42
+ |------------|---------------|-------------|--------|
43
+ | CRUD web app | PostgreSQL (Supabase) | MySQL | MongoDB (overengineering) |
44
+ | Cache / Sessions | Redis (Upstash) | Memcached | PostgreSQL (lento para cache) |
45
+ | Busca textual < 10M docs | PostgreSQL FTS | Meilisearch | Elasticsearch (overhead) |
46
+ | Busca textual > 10M docs | Meilisearch / Typesense | Elasticsearch | PostgreSQL FTS (lento) |
47
+ | AI embeddings (< 5M vectors) | pgvector (PostgreSQL) | -- | Pinecone (custo) |
48
+ | AI embeddings (> 5M vectors) | Pinecone / pgvectorscale | Qdrant | pgvector puro (performance) |
49
+ | Real-time sync | Supabase Realtime | Firestore | WebSocket custom |
50
+ | Event logging | PostgreSQL + partitioning | TimescaleDB | DynamoDB (overengineering) |
51
+ | IoT / metrics volume extremo | TimescaleDB / InfluxDB | ScyllaDB | PostgreSQL (nao escala) |
52
+ | E-commerce catalogo variavel | PostgreSQL JSONB | MongoDB | DynamoDB (queries limitadas) |
53
+ | Mobile offline-first | Firestore | -- | Supabase (offline imaturo) |
54
+ | Multi-region global SQL | CockroachDB / Aurora DSQL | -- | PostgreSQL simples |
55
+
56
+ ---
57
+
58
+ ## 3. Supabase Scaling Playbook
59
+
60
+ ### 3.1 Connection Pooling (Supavisor)
61
+
62
+ | Modo | Porta | Prepared Statements | Ideal Para |
63
+ |------|-------|---------------------|------------|
64
+ | Transaction | 6543 | Nao | Serverless, APIs, Edge Functions |
65
+ | Session | 5432 | Sim | ORMs (Prisma, Drizzle) |
66
+ | Direct | conexao direta | Sim | Migrations, DDL |
67
+
68
+ **Regras:**
69
+ - Next.js API Routes / Edge Functions --> Transaction mode (6543)
70
+ - ORM com prepared statements --> Session mode (5432)
71
+ - Migrations / DDL --> Direct connection (sem pooler)
72
+ - Pool size default: 15. Para producao intensa, ajustar via dashboard.
73
+
74
+ ### 3.2 Read Replicas
75
+
76
+ **Quando usar:**
77
+
78
+ | Cenario | Solucao | Motivo |
79
+ |---------|---------|--------|
80
+ | Alto volume de leitura | Read Replicas | Distribui carga de SELECT |
81
+ | Queries complexas pesadas | Compute maior | CPU/RAM por query |
82
+ | Usuarios globais | Replicas multi-regiao | Reduz latencia (geo-routing) |
83
+ | Writes pesados | Compute maior | Replicas nao aceitam writes |
84
+ | Analytics/reporting | Replica dedicada | Isola carga analitica |
85
+
86
+ **Mudanca abril 2025:** Geo-routing automatico (vs round-robin anterior).
87
+
88
+ ### 3.3 Table Partitioning
89
+
90
+ | Tipo | Quando Usar | Exemplo |
91
+ |------|-------------|---------|
92
+ | Range | Dados temporais | `PARTITION BY RANGE (created_at)` |
93
+ | List | Categorias discretas | `PARTITION BY LIST (region)` |
94
+ | Hash | Distribuicao uniforme | `PARTITION BY HASH (user_id)` |
95
+
96
+ ```sql
97
+ -- Exemplo: particoes mensais para eventos
98
+ CREATE TABLE events (
99
+ id BIGINT GENERATED ALWAYS AS IDENTITY,
100
+ tenant_id UUID NOT NULL,
101
+ payload JSONB,
102
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
103
+ ) PARTITION BY RANGE (created_at);
104
+
105
+ CREATE TABLE events_2025_01 PARTITION OF events
106
+ FOR VALUES FROM ('2025-01-01') TO ('2025-02-01');
107
+ ```
108
+
109
+ **Regra:** Particionar quando tabela > 10M rows ou > 10GB.
110
+
111
+ ### 3.4 Vacuum Tuning
112
+
113
+ | Parametro | Default | Producao | Motivo |
114
+ |----------|---------|----------|--------|
115
+ | `autovacuum_max_workers` | 3 | 5 | Mais workers paralelos |
116
+ | `autovacuum_naptime` | 1min | 45s | Checa mais frequente |
117
+ | `vacuum_cost_limit` | 200 | 2000 | Vacuum mais agressivo |
118
+ | `autovacuum_vacuum_scale_factor` | 0.2 | 0.05 | Dispara com 5% dead tuples |
119
+
120
+ ```sql
121
+ -- Tuning por tabela (alto volume de writes)
122
+ ALTER TABLE events SET (
123
+ autovacuum_vacuum_scale_factor = 0.01,
124
+ autovacuum_vacuum_threshold = 1000,
125
+ autovacuum_analyze_scale_factor = 0.02
126
+ );
127
+ ```
128
+
129
+ ---
130
+
131
+ ## 4. RLS Optimization Patterns
132
+
133
+ ### Impacto Real
134
+
135
+ | Cenario | Sem otimizacao | Com otimizacao | Melhoria |
136
+ |---------|---------------|----------------|----------|
137
+ | SELECT com RLS em 1M rows | > 3 min (timeout) | 2ms | 90.000x |
138
+ | auth.uid() sem indice | Seq Scan | Index Scan | 100x+ |
139
+ | Funcao sem SELECT wrapper | Chamada por row | Cached (initPlan) | 1000x+ |
140
+
141
+ ### Regra #1: SEMPRE indexe colunas em RLS policies
142
+
143
+ ```sql
144
+ CREATE INDEX idx_orders_user_id ON orders USING btree (user_id);
145
+ CREATE INDEX idx_orders_tenant_id ON orders USING btree (tenant_id);
146
+ ```
147
+
148
+ ### Regra #2: SELECT wrapper para cache de funcoes
149
+
150
+ ```sql
151
+ -- ANTI-PATTERN (executado para CADA row)
152
+ CREATE POLICY "user_access" ON orders
153
+ FOR ALL USING (auth.uid() = user_id);
154
+
155
+ -- CORRETO (cached, executado UMA vez)
156
+ CREATE POLICY "user_access" ON orders
157
+ FOR ALL USING ((SELECT auth.uid()) = user_id);
158
+ ```
159
+
160
+ ### Regra #3: Security definer para subqueries complexas
161
+
162
+ ```sql
163
+ -- ANTI-PATTERN (subquery por row)
164
+ CREATE POLICY "team_access" ON documents
165
+ FOR ALL USING (
166
+ team_id IN (SELECT team_id FROM team_members WHERE user_id = auth.uid())
167
+ );
168
+
169
+ -- CORRETO (funcao cacheada)
170
+ CREATE OR REPLACE FUNCTION get_user_team_ids()
171
+ RETURNS UUID[]
172
+ LANGUAGE sql SECURITY DEFINER STABLE
173
+ SET search_path = ''
174
+ AS $$
175
+ SELECT ARRAY(
176
+ SELECT team_id FROM public.team_members
177
+ WHERE user_id = (SELECT auth.uid())
178
+ );
179
+ $$;
180
+
181
+ CREATE POLICY "team_access" ON documents
182
+ FOR ALL USING (team_id = ANY((SELECT get_user_team_ids())));
183
+ ```
184
+
185
+ ---
186
+
187
+ ## 5. Multi-Tenant Decision Tree
188
+
189
+ ```
190
+ Quantos tenants esperados?
191
+ |
192
+ +-- < 10 --> Schema por tenant (maximo isolamento)
193
+ | Cada tenant = schema PostgreSQL separado
194
+ | Pro: isolamento total, RLS por schema
195
+ | Con: migrations em N schemas, complexidade operacional
196
+ |
197
+ +-- 10-1000 --> Coluna tenant_id (shared database)
198
+ | Todas as tabelas tem coluna tenant_id
199
+ | RLS filtra por tenant via JWT custom claims
200
+ | Pro: simples, escala bem, uma migration
201
+ | Con: risco de data leak se RLS falhar
202
+ |
203
+ +-- > 1000 --> Database por tenant (se budget permitir)
204
+ | Ou: shared database com partitioning por tenant
205
+ | Pro: isolamento completo, escala independente
206
+ | Con: custo alto, gestao complexa
207
+ ```
208
+
209
+ ### Pattern Recomendado: Tenant via JWT Claims
210
+
211
+ ```sql
212
+ -- RLS policy com tenant isolation
213
+ CREATE POLICY "tenant_isolation" ON orders
214
+ FOR ALL USING (
215
+ tenant_id = (
216
+ SELECT (auth.jwt() -> 'app_metadata' ->> 'tenant_id')::uuid
217
+ )
218
+ );
219
+
220
+ -- Indice obrigatorio
221
+ CREATE INDEX idx_orders_tenant ON orders (tenant_id);
222
+ ```
223
+
224
+ ---
225
+
226
+ ## 6. Index Strategy Quick-Reference
227
+
228
+ ### Tipos de Indice
229
+
230
+ | Tipo | Operadores | Quando Usar |
231
+ |------|-----------|-------------|
232
+ | B-Tree | `=`, `<`, `>`, `BETWEEN`, `ORDER BY` | Default para a maioria das queries |
233
+ | GIN | `@>`, `?`, `@@` | Arrays, JSONB, full-text search |
234
+ | GiST | `<<`, `>>`, `&&` | Geometria, ranges |
235
+ | BRIN | `<`, `>`, `=` | Dados naturalmente ordenados (time-series) |
236
+ | Hash | `=` apenas | Igualdade exata (sessions, tokens) |
237
+
238
+ ### Patterns Avancados
239
+
240
+ ```sql
241
+ -- Partial Index (indexa apenas linhas relevantes)
242
+ CREATE INDEX idx_active_users ON users (email)
243
+ WHERE status = 'active';
244
+
245
+ -- Covering Index (evita table lookup)
246
+ CREATE INDEX idx_orders_lookup ON orders (user_id, created_at)
247
+ INCLUDE (total, status);
248
+
249
+ -- Expression Index
250
+ CREATE INDEX idx_users_lower_email ON users (LOWER(email));
251
+
252
+ -- Composite Index (mais seletiva primeiro)
253
+ CREATE INDEX idx_products_cat_price ON products (category_id, price DESC);
254
+ ```
255
+
256
+ ### Regras de Ouro
257
+
258
+ 1. Cada indice desacelera writes (INSERT, UPDATE, DELETE)
259
+ 2. Monitore com `pg_stat_user_indexes` para indices nao utilizados
260
+ 3. Use `EXPLAIN ANALYZE` antes e depois de criar indices
261
+ 4. Indices em colunas boolean raramente ajudam
262
+ 5. Composite: coluna mais seletiva primeiro
263
+
264
+ ---
265
+
266
+ ## 7. Query Optimization Checklist
267
+
268
+ ### Diagnostico
269
+
270
+ ```sql
271
+ -- Habilitar tracking de queries lentas
272
+ CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
273
+
274
+ -- Top 10 queries mais lentas
275
+ SELECT calls, mean_exec_time::numeric(10,2) AS avg_ms,
276
+ total_exec_time::numeric(10,2) AS total_ms, query
277
+ FROM pg_stat_statements
278
+ ORDER BY total_exec_time DESC LIMIT 10;
279
+
280
+ -- Analisar plano de execucao
281
+ EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
282
+ SELECT * FROM orders WHERE user_id = $1 AND created_at > NOW() - '30 days'::interval;
283
+ ```
284
+
285
+ ### Checklist de Otimizacao
286
+
287
+ - [ ] `EXPLAIN ANALYZE` mostra Index Scan (nao Seq Scan)?
288
+ - [ ] Indice existe para colunas em WHERE/JOIN/ORDER BY?
289
+ - [ ] N+1 queries eliminadas (usar JOINs ou batch)?
290
+ - [ ] CTEs nao estao forçando materializacao desnecessaria?
291
+ - [ ] Materialized views para dashboards pesados?
292
+ - [ ] Connection pool configurado corretamente?
293
+ - [ ] Vacuum rodando com frequencia adequada?
294
+ - [ ] Dead tuples abaixo de 5% em tabelas criticas?
295
+
296
+ ### Materialized Views para Dashboards
297
+
298
+ ```sql
299
+ CREATE MATERIALIZED VIEW mv_daily_revenue AS
300
+ SELECT DATE_TRUNC('day', created_at) AS day, tenant_id,
301
+ SUM(total) AS revenue, COUNT(*) AS order_count
302
+ FROM orders WHERE status = 'completed'
303
+ GROUP BY 1, 2;
304
+
305
+ -- Indice unico para REFRESH CONCURRENTLY
306
+ CREATE UNIQUE INDEX idx_mv_daily ON mv_daily_revenue (day, tenant_id);
307
+
308
+ -- Refresh sem lock
309
+ REFRESH MATERIALIZED VIEW CONCURRENTLY mv_daily_revenue;
310
+ ```
311
+
312
+ ---
313
+
314
+ ## 8. Redis/Cache Patterns
315
+
316
+ ### Quando Adicionar Cache
317
+
318
+ | Sinal | Acao |
319
+ |-------|------|
320
+ | Mesma query repetida > 100x/min | Cache-aside com Redis |
321
+ | API response > 200ms para dados estáticos | Stale-while-revalidate |
322
+ | Rate limiting necessario | Redis sorted sets ou Upstash Ratelimit |
323
+ | Session management em serverless | Upstash Redis (HTTP API) |
324
+
325
+ ### Cache-Aside Pattern
326
+
327
+ ```javascript
328
+ async function getUser(userId) {
329
+ const cached = await redis.get(`user:${userId}`);
330
+ if (cached) return JSON.parse(cached);
331
+
332
+ const user = await db.query('SELECT * FROM users WHERE id = $1', [userId]);
333
+ await redis.set(`user:${userId}`, JSON.stringify(user), 'EX', 3600);
334
+ return user;
335
+ }
336
+ ```
337
+
338
+ **Upstash** para serverless (Edge Functions, Vercel): HTTP REST API, sem TCP connection.
339
+
340
+ ---
341
+
342
+ ## 9. Testing RLS com pgTAP
343
+
344
+ ```sql
345
+ BEGIN;
346
+ SELECT plan(3);
347
+
348
+ SELECT tests.create_supabase_user('user_a', 'a@test.com');
349
+ SELECT tests.create_supabase_user('user_b', 'b@test.com');
350
+
351
+ -- User A insere dados
352
+ SELECT tests.authenticate_as('user_a');
353
+ INSERT INTO orders (user_id, total) VALUES ((SELECT auth.uid()), 100);
354
+
355
+ -- User B insere dados
356
+ SELECT tests.authenticate_as('user_b');
357
+ INSERT INTO orders (user_id, total) VALUES ((SELECT auth.uid()), 200);
358
+
359
+ -- User A so ve seus pedidos
360
+ SELECT tests.authenticate_as('user_a');
361
+ SELECT is((SELECT COUNT(*) FROM orders)::int, 1,
362
+ 'User A should only see own orders');
363
+
364
+ SELECT * FROM finish();
365
+ ROLLBACK;
366
+ ```
367
+
368
+ ---
369
+
370
+ ## 10. Cross-References
371
+
372
+ - Infrastructure tiers e quando graduar: ver `infrastructure-decision-framework.md`
373
+ - Secrets para database credentials: ver `environment-deployment-patterns.md`
374
+ - RLS validation no deploy: ver `security-pre-deploy-checklist.md`