Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions recovery/agent-db/DECISIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,3 +322,77 @@ DELETE FROM public.integration_credentials WHERE notes LIKE '%Decision 007%';

- Documentação dos adapters em `BATCH_D3_D5_COMPLETE.md` e `EXECUTION_LOG.md` para preservar histórico.
- Funções com tipo divergente do Lovable podem precisar de re-cast em código frontend/edge functions; isso é benigno e foi assumido.

---

## Decision 010 — Manter REMOVIDAS as rotas públicas com token

**Data**: 2026-05-12
**Status**: ✅ DEFINITIVA
**Reafirma**: Decisão original de Joaquim em 07/05/2026 (commit `0bc97759b7e235b995c6110a0e94228e86006c8a`)

### Trigger
Após o merge da PR #146 (D.3 + D.4 — Lovable 100% parity), o checklist final
listava como "pendente" reaplicar `kit-public-view` e `quote-public-view`.
Sponsor reafirmou: **manter exclusão**.

### Decisão original (07/05/2026, commit 0bc97759b)
> "Rotas públicas com token não são viáveis para o modelo de negócio do
> PromoGifts. Cliente externo não acessará mais nada via link sem login.
> Orçamento vira só documento (PDF/proposta), sem conceito de aprovação
> pública."

### Escopo da remoção (já consolidado em main)

**7 rotas frontend removidas:**
- `/approve/:token` (aprovação pública de orçamento)
- `/proposta/:token` (alias)
- `/kit/:token` (visualização pública de kit)
- `/lista-publica/:token` (lista de favoritos)
- `/colecao-publica/:token` (coleção)
- `/comparar-publica/:token` (comparação)
- `/dossie/:token` (dossiê BI)

**6 edge functions removidas:**
- `quote-public-view`
- `kit-public-view`
- `favorites-public-react`
- `collections-public-react`
- `comparisons-public-react`
- `bi-share-dossier`

**7 páginas React + 4 hooks + 5 componentes** deletados.

### Implicações para o trabalho de recovery
- ✅ Lovable 100% parity já considera essas edges como **fora do escopo**
- ✅ Auditoria de tables D.3+D.4 não recriou tables relacionadas (`quote_approval_tokens`, `kit_share_tokens` etc — já dropadas no main)
- ⚠️ A migration `20260507161547_drop_public_token_tables.sql` foi **preparada mas NÃO rodou** ainda em PROD (DROP de `quote_approval_tokens`, `public_token_failures`, `kit_share_tokens`)
Comment on lines +367 to +369
- Atenção: `public_token_failures` FOI recriada em D.4.1 Step-Up MFA (para fins de auditoria de tentativas inválidas em geral, não apenas tokens públicos). Manter.
- ⚠️ Pendência Fase B (do commit original): 26 menções a status `approved`/`rejected`/`pending_approval` em dashboard/kanban/BI continuam. Cleanup quando Joaquim definir conceito de "orçamento finalizado"
Comment on lines +369 to +371

### Onde NÃO mais aparecer como pendente
- `recovery/agent-db/progress.md` — atualizado para "❌ NÃO reaplicar"
- `recovery/patches/BATCH_D3_D4_README.md` — atualizado para "❌ NÃO reaplicar"


### Auditoria de tables/functions órfãos relacionados (validada em 2026-05-12 contra PROD)

**Tables vazias em PROD que ainda existem:**
- `kit_share_tokens` — 0 rows
- `quote_approval_tokens` — 0 rows

**Funções que ainda referenciam essas tables** (precisam de cleanup futuro):
- `record_public_token_failure`
- `validate_status_fields`
- `get_quote_token_by_value`
- `submit_quote_response`
- `dispatch_quote_webhook_event` ⚠️ (recriada em D.4.2 — tem branch que monta payload de `kit.shared` via `kit_share_tokens`)

**Recomendação (Fase B — cleanup técnico):**
1. Confirmar com Joaquim que a migration `20260507161547_drop_public_token_tables.sql` pode rodar
2. Antes do DROP, refatorar as 5 funções acima para remover branches que dependem dessas tables
3. Validar via grep no frontend que nenhum lugar mais consome essas funções com payload de token público
4. Rodar migration + recriar `dispatch_quote_webhook_event` SEM o branch `kit_share_tokens`

**Por que não fazer agora:** fora do escopo desta sessão (recovery de Lovable). Cleanup técnico depende de validação do frontend.
Comment on lines +392 to +397

2 changes: 1 addition & 1 deletion recovery/agent-db/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
- Total Lovable parity: ✅ 100% (exceto 2 edges públicas removidas conscientemente)

## 🟦 Pendente (decisão de produto)
- Reaplicar `kit-public-view` e `quote-public-view` edge functions (foram removidas em PRs anteriores por security)
- ❌ **NÃO reaplicar** `kit-public-view` e `quote-public-view` — decisão de produto (Joaquim, 07/05/2026, commit `0bc97759b`): "rotas públicas com token não são viáveis para o modelo de negócio do PromoGifts. Cliente externo não acessará mais nada via link sem login." Removidas junto com outras 5 rotas públicas (favoritos, coleções, comparações, dossiê, kit) e 7 páginas React
- Validar features no frontend (Magic Up, Expert Chat, Voice Commands) — pode precisar de adaptações em código React
2 changes: 1 addition & 1 deletion recovery/patches/BATCH_D3_D4_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ Funções de suporte criadas no PROD que não vieram no dump mas eram referencia

## Próximos passos
- ✅ Merge desta PR
- 🟦 Reaplicar `kit-public-view` e `quote-public-view` (edges removidas em PRs anteriores) — decisão de produto se voltar ao escopo
- ❌ **NÃO reaplicar** `kit-public-view` e `quote-public-view` — decisão definitiva de produto (Joaquim, 07/05/2026, commit `0bc97759b`). Rotas públicas com token não fazem parte do modelo de negócio do PromoGifts
- 🟦 Validar com frontend que features Magic Up, Expert Chat, Voice Commands estão funcionando
Loading