From c459f239304d326448f0c370a977facc6aa55ad5 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 02:23:02 +0000 Subject: [PATCH] =?UTF-8?q?docs(p1):=20n=C3=BAmeros=20reais=20em=20README/?= =?UTF-8?q?EDGE=5FFUNCTIONS/DEPLOYMENT/POLICIES=20=E2=80=94=20DOC-001?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix do achado DOC-001 da auditoria back-end sênior 2026-05-22. Antes/Depois: | Doc | Valor antigo | Valor real | |---|---|---| | README "Edge Functions" | 47 | 81 | | README "migrations" | 205 | ~710 arquivos / ~685 aplicadas | | README "tabelas com RLS" | 35+ | 269 (100%) | | DEPLOYMENT "drift" | 332 vs 209 / interseção zero | ~710 vs ~685 / drift ~25 | | EDGE_FUNCTIONS header | "50 funções ativas, 2026-04-17" | "81 funções, 24 verify_jwt=false" | | 04_EXPLICACAO_POLICIES | "80+ policies" | "~662 policies em 269 tabelas" | Aponta para o relatório de auditoria como fonte primária do inventário completo (audit/ANALISE_BACKEND_SENIOR_2026-05-22.md, mergeado via #55). https://claude.ai/code/session_011Lgxm1NZGmAztRSvZHX9U3 --- README.md | 12 +++++++----- docs/04_EXPLICACAO_DAS_POLICIES.md | 5 +++-- docs/DEPLOYMENT.md | 10 +++++----- docs/EDGE_FUNCTIONS.md | 3 ++- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 9c82bbc46..abd3beb71 100644 --- a/README.md +++ b/README.md @@ -235,12 +235,12 @@ src/ supabase/ ├── config.toml # Configuração do projeto Supabase -├── functions/ # 47 Edge Functions +├── functions/ # 81 Edge Functions (Deno) — ver docs/EDGE_FUNCTIONS.md │ ├── _shared/ # Utilitários compartilhados (CORS, auth, validação) │ ├── expert-chat/ # Assistente IA │ ├── external-db-bridge/ # Bridge para banco externo │ └── ... -└── migrations/ # 205 migrations SQL versionadas +└── migrations/ # 710 arquivos SQL versionados (~685 aplicadas em PROD) ``` --- @@ -313,10 +313,12 @@ supabase/ ## 🗄 Banco de Dados ### Supabase (Interno) -- 35+ tabelas com RLS completo -- 205 migrations versionadas e reproduzíveis +- **269 tabelas** em `public`, **100% com RLS ativo** (662 policies, ~2.5 por tabela) +- **112 funções `SECURITY DEFINER`**, 100% com `search_path` setado (gate de CI bloqueia regressão) +- **~710 migrations** versionadas (~685 aplicadas em PROD; drift de ~25) - Tipos gerados automaticamente (`supabase gen types`) - Connection pooling via Supabase pooler +- 17 cron jobs ativos via `pg_cron` (autenticados por secret no vault) ### Banco Externo (Promobrind) - Acesso via Edge Function `external-db-bridge` @@ -328,7 +330,7 @@ supabase/ ## ⚡ Edge Functions -47 Edge Functions organizadas em categorias: +**81 Edge Functions** (Deno) organizadas em categorias. **24 marcadas `verify_jwt = false`** em `supabase/config.toml` — todas com defesa interna validada (vault secret, `x-mcp-key`, `x-dispatcher-secret`, `runBotProtection`, ou `authenticateRequest`). Para inventário completo veja [`docs/EDGE_FUNCTIONS.md`](docs/EDGE_FUNCTIONS.md). | Categoria | Funções | |---|---| diff --git a/docs/04_EXPLICACAO_DAS_POLICIES.md b/docs/04_EXPLICACAO_DAS_POLICIES.md index b6916bbca..bee269e2b 100644 --- a/docs/04_EXPLICACAO_DAS_POLICIES.md +++ b/docs/04_EXPLICACAO_DAS_POLICIES.md @@ -1,7 +1,8 @@ # 🔐 Explicação das Policies (RLS) -> **Sistema Multi-tenant Gifts Store** -> Guia completo de todas as 80+ policies de Row Level Security +> **Sistema Multi-tenant Gifts Store** +> Guia das ~662 policies de Row Level Security ativas em 269 tabelas (100% das tabelas em `public` têm RLS habilitado — gate de CI bloqueia regressão). +> Última atualização: 2026-05-22 (DOC-001). --- diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index 3fc12bc29..8016d8db1 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -1,6 +1,6 @@ # Deployment Guide — Promo_Gifts -> **Última revisão:** 2026-05-12 (pós-redeploy Fase 2, T3 migrations audit) +> **Última revisão:** 2026-05-22 (pós-auditoria back-end sênior, DOC-001 — números reais) > **Status do redeploy:** ver `docs/redeploy/REDEPLOY-FASE2-EXECUTION-LOG.md` --- @@ -9,18 +9,18 @@ ### 1. NÃO use `supabase db push` -O diretório `supabase/migrations/` tem **332 arquivos**; o banco de produção registra **209 migrations**. **Interseção: zero.** As duas histórias divergiram há meses (várias ferramentas — Lovable, SQL Editor, scripts ad-hoc — gravaram em momentos diferentes). +O diretório `supabase/migrations/` tem **~710 arquivos**; o banco de produção registra **~685 migrations** aplicadas (drift atual de ~25 arquivos, ~3.5%). A divergência maior foi reconciliada na onda de recovery de mai/2026 (ver `RECOVERY_PLAN.md`); o que sobra hoje são migrations recentes ainda não promovidas ao banco. **Consequência prática:** ```bash # ❌ NUNCA rode isso: supabase db push --project-ref doufsxqlfjyuvxuezpln -# Vai tentar aplicar 332 migrations num banco que já tem schema diferente -# → conflitos em cascata → corrupção potencial +# Vai tentar aplicar todas as migrations do repo na ordem, podendo +# conflitar com objetos já existentes no banco de produção. ``` -**Fonte da verdade do schema é o BANCO em produção**, não o repo. +**Fonte da verdade do schema é o BANCO em produção**, não o repo. O repo é o **registro histórico** das intenções de mudança e o material para aplicar **uma migration nova de cada vez** via `apply_migration` MCP ou SQL Editor. Detalhes completos: [`docs/redeploy/REDEPLOY-T3-MIGRATIONS-AUDIT.md`](redeploy/REDEPLOY-T3-MIGRATIONS-AUDIT.md). diff --git a/docs/EDGE_FUNCTIONS.md b/docs/EDGE_FUNCTIONS.md index ef1a196eb..ff439e71c 100644 --- a/docs/EDGE_FUNCTIONS.md +++ b/docs/EDGE_FUNCTIONS.md @@ -1,6 +1,7 @@ # Edge Functions — Catálogo Completo -> Última atualização: 2026-04-17 · 50 funções ativas +> Última atualização: 2026-05-22 · **81 funções ativas** (24 com `verify_jwt = false`, todas com defesa interna validada — ver auditoria back-end sênior de 2026-05-22) +> A tabela abaixo é histórica e cobre as ~50 funções originais — o inventário completo de 81 está em `audit/ANALISE_BACKEND_SENIOR_2026-05-22.md` (Seção 1). ## Convenções