CI: o mapa do banco não pode mais apodrecer em silêncio - #53
Merged
Conversation
db/ESTRUTURA.md é gerado do dump cruzado com src/ — e sem gate ele envelhece sozinho: entra um re-dump, o .md fica pra trás, e a partir daí ele mente sobre o banco. É a mesma classe de erro que a baseline de 2026-08-11 existe pra impedir, só que num arquivo que a gente lê pra decidir. O CI agora roda `gerar-estrutura.ts --check`, que compara o .md com o que o dump produziria e sai com exit 1 se divergir. Provado nos dois sentidos antes de commitar: passa com o .md em dia, falha com o .md adulterado. tsx entra como devDependency (^4.23.12) porque não era declarado — o `npx tsx` documentado no CLAUDE.md só funcionava baixando da rede a cada execução. Gate que depende de fetch não pinado falha à toa e ensina a ignorar o vermelho. O lock só ganhou linhas (519 inserções, zero remoção): nenhuma versão de outro pacote mexeu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
BarryBits
added a commit
that referenced
this pull request
Aug 12, 2026
Traz o gate de db/ESTRUTURA.md do #53 para que ele valide justamente este PR, que mexe no dump e no mapa gerado. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Primeiro item da lista aberta depois do marco zero (#52).
O buraco
db/ESTRUTURA.mdé gerado do dump (db/snapshot/schema.sql) cruzado comsrc/. Nada obrigava ele a acompanhar: bastava um re-dump entrar sem regerar o.mdpara ele começar a mentir sobre o banco — e ele é justamente o arquivo que a gente lê para decidir.Não é hipótese: aconteceu ontem mesmo. O gerador rodou 15:42, o
SNAPSHOT.mdfoi salvo 15:45, e o.mdjá nasceu apontando para o dump errado no cabeçalho.É a mesma classe de erro que a baseline existe para impedir — documento que descreve o banco e envelhece sem avisar —, só que num
.mdem vez de numa pasta de migrations.O gate
Compara o
.mdcom o que o dump produziria agora. Divergiu, sai com exit 1.Provado nos dois sentidos antes de commitar — gate que não morde é pior que gate nenhum:
.mdem dia✓ db/ESTRUTURA.md está em dia com db/snapshot/schema.sql.mdadulterado✗ db/ESTRUTURA.md está desatualizado. Rode: npx tsx …O check normaliza CRLF na leitura, então o
.mdgerado no Windows não quebra no runner Linux.Por que
tsxvira devDependencyNão era declarado — nem no
package.json, nem no lock, nem instalado. Onpx tsx …que oCLAUDE.mde odb/snapshot/README.mddocumentam funcionava baixando da rede a cada execução. Um gate pendurado em fetch não pinado falha à toa, e gate que falha à toa ensina a ignorar vermelho — o problema que acabamos de resolver no Supabase Preview.Pinado em
^4.23.12. O lock só ganhou linhas (519 inserções, zero remoção): nenhuma versão de outro pacote se mexeu.Fluxo novo depois de todo re-dump
npx tsx scripts/db/gerar-estrutura.ts # regera git add db/snapshot/schema.sql db/ESTRUTURA.mdO diff do
.mdpassa a ser a leitura humana do que mudou no banco.🤖 Generated with Claude Code