PR#4 (gated): runbook de aposentadoria da bridge — NÃO mergear até A verde#528
Conversation
…destrutivo) O passo destrutivo do PR#4 (deletar a Edge Function + limpar kill-switch) é GATED em "A verde" (merge de #525/#527 + soak em prod) — A ainda está em draft. Em vez de disparar a remoção fora de ordem (que quebraria o fallback do main e o rollback do PR#2), este PR entrega o runbook com a ordem correta e duas armadilhas documentadas: 1. fail-open do kill-switch: DELETE da linha RELIGA a bridge (enabled=true) — nunca deletar a linha enquanto o cliente ainda a lê. 2. main ainda usa a bridge como fallback até o PR#2 mergear — não deletar a função antes. Inclui ordem de execução, critérios de soak e rollback. Nenhuma alteração de código ou DDL; nada destrutivo é executado aqui.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 27 minutes and 21 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Documentation-only PR adding a gated runbook describing the correct order to retire the external-db-bridge Edge Function. No code or DDL changes; the runbook explicitly blocks destructive steps until PR#2 (#525) and PR#3 (#527) are merged and a production soak is green.
Changes:
- Adds
docs/runbooks/retire-external-db-bridge.mddocumenting two pitfalls (kill-switch fail-open, currentmainbridge fallback), the correct retirement sequence, soak criteria, and rollback.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Revisão (dev sênior) — manter aberta e gated, não mergear 🚧Concordo integralmente com o gate da própria PR. Esta é doc-only ( As duas armadilhas que o runbook documenta seguem válidas na
Ordem correta (como no runbook): A-verde → remover fallback no cliente → deploy + soak → só então desativar a função → por último, tratar o kill-switch (no mesmo PR que remove o último leitor). Veredito: deixo aberta e sem merge, como pedido no título. Merge só quando o gate (A verde + soak) for satisfeito — e o passo de desativar a função/kill-switch deve vir em PR de código própria, não neste doc. |
O passo destrutivo do PR#4 (remover o fallback de bridge no cliente, desativar a Edge Function
external-db-bridgev156, e tratar o kill-switch) só pode rodar depois que o Plano A estiver verde em produção:Como A ainda está em draft, executar a remoção agora seria fora de ordem e perigoso. Este PR entrega apenas o runbook (
docs/runbooks/retire-external-db-bridge.md) — nada de código/DDL/destruição.Duas armadilhas que o runbook documenta (e que tornam o "só deletar" errado)
getKillSwitchStateretorna{enabled:true}quando a linha some. Logo,DELETEda linhaedge_external_db_bridgeRELIGA a bridge. Nunca deletar a linha enquanto o cliente ainda a lê. A linha é também o rollback do PR#2 (enabled=truerestaura a bridge em segundos).mainainda usa a bridge como fallback até o PR#2 mergear — deletar a função v156 antes quebra produção nos caminhos fora da whitelist REST nativa.Ordem correta (no runbook)
A-verde → remover fallback no cliente → deploy + soak → só então desativar a função → por último, tratar o kill-switch (no mesmo PR que remove o último leitor).
Inclui critérios de soak e rollback. Série: #1 (C) → #2 (A núcleo) → #3 (A RLS) → #4 (aposentar bridge — gated).
Summary by cubic
Adds a gated runbook for safely retiring the Edge Function
external-db-bridge. Documentation-only; destructive steps are blocked until Plan A is green in production (PR#2 #525 and PR#3 #527 merged + soak).external-db-bridge→ handle kill-switch.mainstill falling back to the bridge until PR#2 merges.Written for commit f7d861d. Summary will update on new commits.