Skip to content

docs: Decision 010 — manter REMOVIDAS rotas públicas com token (kit-public-view, quote-public-view)#147

Merged
adm01-debug merged 1 commit into
mainfrom
docs/d3-d4-keep-public-edges-removed
May 12, 2026
Merged

docs: Decision 010 — manter REMOVIDAS rotas públicas com token (kit-public-view, quote-public-view)#147
adm01-debug merged 1 commit into
mainfrom
docs/d3-d4-keep-public-edges-removed

Conversation

@adm01-debug
Copy link
Copy Markdown
Owner

@adm01-debug adm01-debug commented May 12, 2026

🎯 Objetivo

Reafirmar formalmente que kit-public-view e quote-public-view (e outras 5 rotas públicas com token) permanecem REMOVIDAS — decisão de produto, não esquecimento técnico.

Sponsor confirmou em 12/05/2026:

"manter exclusão — Reaplicar kit-public-view e quote-public-view edges (foram removidas conscientemente em PRs anteriores)"

📝 Contexto

A decisão original foi tomada por Joaquim em 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."

O commit removeu:

  • 7 rotas frontend: /approve/:token, /proposta/:token, /kit/:token, /lista-publica/:token, /colecao-publica/:token, /comparar-publica/:token, /dossie/:token
  • 6 edge functions: 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

📦 Mudanças nesta PR

Apenas documentação — zero mudanças em schema, código ou runtime.

  • recovery/agent-db/DECISIONS.md → Nova Decision 010 com contexto completo
  • recovery/agent-db/progress.md → Linha "🟦 Reaplicar..." → "❌ NÃO reaplicar"
  • recovery/patches/BATCH_D3_D4_README.md → idem

🔎 Auditoria adicional registrada

Levantei via SQL contra PROD o estado das tables/funções órfãs:

Item Status Ação
kit_share_tokens 0 rows DROP candidato (Fase B)
quote_approval_tokens 0 rows DROP candidato (Fase B)
public_token_failures recriada em D.4.1 MANTER (audit geral, não só tokens públicos)

5 funções ainda referenciam as tables removidas (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 kit.shared)

⏭️ Não-escopo (Fase B)

  • DROP de kit_share_tokens e quote_approval_tokens (migration já preparada como 20260507161547_drop_public_token_tables.sql, não rodada)
  • Refactor das 5 funções pra remover branches que dependem dessas tables
  • Cleanup das 26 menções a status approved/rejected/pending_approval em dashboard/kanban/BI

Tudo isso depende de validação no frontend e confirmação do sponsor de que o conceito de "orçamento finalizado" está definido.

✅ Validação

  • Decisão original confirmada via git show 0bc97759b
  • Status atual das tables/funções validado contra PROD via SQL
  • ESLint baseline gate: 1535 ≤ 1547 ✅
  • Zero mudanças runtime — só docs

🤖 Co-Authored-By: Claude noreply@anthropic.com

Summary by CodeRabbit

Release Notes

  • Documentation
    • Atualizada documentação de decisões de produto registrando a remoção definitiva de rotas públicas frontend e funções edge relacionadas
    • Clarificadas instruções em guias de recuperação reafirmando que determinadas rotas públicas não serão reapplicadas
    • Documentada auditoria pós-merge e checklist recomendado para limpeza futura de tabelas orfanadas

Review Change Stack

Sponsor reafirmou em 12/05/2026 a decisão original de Joaquim (07/05/2026,
commit 0bc9775): kit-public-view e quote-public-view devem permanecer
REMOVIDAS — não fazem parte do modelo de negócio do PromoGifts.

## Mudanças

- **DECISIONS.md**: nova Decision 010 com contexto completo (decisão de
  produto + escopo da remoção original + auditoria de tables/functions
  órfãos)
- **progress.md**: linha "Reaplicar" trocada por "❌ NÃO reaplicar" com
  citação do commit original e motivo
- **BATCH_D3_D4_README.md**: idem

## Auditoria adicional registrada

Tables `kit_share_tokens` (0 rows) e `quote_approval_tokens` (0 rows)
ainda existem em PROD mas estão vazias. 5 funções as referenciam
(record_public_token_failure, validate_status_fields,
get_quote_token_by_value, submit_quote_response, dispatch_quote_webhook_event).

Cleanup técnico (DROP tables + refactor das 5 funções) fica como Fase B,
dependente de validação no frontend e confirmação de Joaquim. Fora do
escopo desta sessão.

Nota: `public_token_failures` foi recriada em D.4.1 Step-Up MFA para
auditoria geral de tentativas inválidas — diferente do escopo original
de "tokens públicos". Manter.

Não há mudança de schema/runtime nesta PR — apenas documentação.
Copilot AI review requested due to automatic review settings May 12, 2026 10:28
@vercel
Copy link
Copy Markdown

vercel Bot commented May 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
promo-gifts Building Building Preview, Comment May 12, 2026 10:29am

@adm01-debug adm01-debug merged commit f201ba7 into main May 12, 2026
12 of 14 checks passed
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 12, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 43a33966-3487-46ab-ba4e-0dacd92eb5ba

📥 Commits

Reviewing files that changed from the base of the PR and between c77e16a and 1160da0.

📒 Files selected for processing (3)
  • recovery/agent-db/DECISIONS.md
  • recovery/agent-db/progress.md
  • recovery/patches/BATCH_D3_D4_README.md

Walkthrough

Três arquivos de documentação são sincronizados para reafirmar a decisão de produto de 07/05/2026: manter permanentemente removidas as rotas públicas token-based kit-public-view e quote-public-view. DECISIONS.md registra Decision 010 com contexto completo (Lovable parity, tabelas órfãs, funções dependentes, Fase B de cleanup). Progress.md e BATCH_D3_D4_README.md removem instruções de reaplicação anterior, explicitando o "não reaplicar".

Changes

Documentação de Decisão — Manter Rotas Públicas Removidas

Layer / File(s) Summary
Sincronização da decisão: Decision 010 e remoção não reversível
recovery/agent-db/DECISIONS.md, recovery/agent-db/progress.md, recovery/patches/BATCH_D3_D4_README.md
DECISIONS.md registra Decision 010 documentando a exclusão definitiva de 7 rotas frontend e 6 edge functions, contexto pós-merge (Lovable 100% parity), status de migração preparada-mas-não-executada para drop tables token, tabelas órfãs (com callout específico para dispatch_quote_webhook_event ainda referenciando), e recomendações Fase B. Progress.md e README do batch são sincronizados para remover instruções de reaplicação, explicitando "não reaplicar" kit-public-view e quote-public-view com referência à decisão de produto.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutos

Possibly related PRs

  • adm01-debug/Promo_Gifts#131: Remove quote-public-view stub — afeta a mesma edge function documentada neste PR como mantida removida.
  • adm01-debug/Promo_Gifts#143: Artifacts de recovery que incluem as edge functions kit-public-view e quote-public-view — conflita com a decisão reafirmada aqui de não reaplicá-las.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/d3-d4-keep-public-edges-removed

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Documenta a Decision 010 para reafirmar que as rotas públicas com token (incl. kit-public-view e quote-public-view) permanecem removidas por decisão de produto, evitando que isso continue aparecendo como “pendente” no fluxo de recovery.

Changes:

  • Adiciona a Decision 010 em recovery/agent-db/DECISIONS.md com contexto, escopo removido e próximos passos.
  • Atualiza checklists (progress.md e BATCH_D3_D4_README.md) para refletir “❌ NÃO reaplicar” as edges/rotas públicas com token.
  • Registra auditoria de tables/funções relacionadas e recomendações para uma “Fase B” de cleanup.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
recovery/agent-db/DECISIONS.md Adiciona Decision 010 e auditoria/implicações sobre a remoção definitiva das rotas públicas com token.
recovery/agent-db/progress.md Troca item pendente de “reaplicar” para “❌ NÃO reaplicar” as edges públicas.
recovery/patches/BATCH_D3_D4_README.md Atualiza próximos passos para explicitar que as edges públicas não devem ser reaplicadas.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +367 to +369
- ✅ 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 +369 to +371
- ⚠️ 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`)
- 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 +392 to +397
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants