mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
Quatro conflitos, resolvidos partindo do lado AUTORITATIVO e reaplicando o
delta por cima — nunca hunk a hunk, que é o que um dia deixou sete de catorze
tabelas fora da cascata de LGPD.
`app/app/_components/AppShell.tsx` — a main venceu, e o `pb-20` que esta
branch trouxe MORRE aqui. Ele reservava o rodapé para o atalho flutuante em
TODA rota, inclusive no Inbox, onde o atalho nem monta: o grid de lá tem
altura fixa `calc(100dvh-3.5rem-2*var(--space-6))`, que assume 48px de
padding, e a reserva fazia o `<main>` gastar 104px — 56px de rolagem morta,
com o campo de envio abaixo da dobra, em toda instalação. O delta reaplicado
é só montar o `<FloatingInbox />`.
`components/inbox/FloatingInbox.tsx` — passa a declarar `ATALHO_DE_MENSAGENS`
e a chamar `usePecaDoRodape`, no molde do `ActiveCallPanel`. Ocupação é a
grandeza certa; rota era proxy dela. E o hook desregistra ao desmontar, então
quem tira o atalho tira a reserva no MESMO ato — o ponto cego que produziu o
defeito ("a guarda tira o aside, não tira o padding") deixa de ser possível
por construção.
`tests/invariants/cascata-lgpd-nao-encolhe.test.ts` — os dois lados declaram
tabelas DIFERENTES na catraca (`prospecting_candidates` daqui, `sales` da
main). Somadas, não escolhidas: escolher um lado deixaria dados fora do
expurgo.
`tests/unit/navegacao-registry.test.ts` — conflito de comentário; cada lado
documenta uma exceção viva. Os dois ficam.
`supabase/baseline.sql` — artefato DERIVADO: parti do baseline da main e
reapliquei o delta desta branch por contexto. O apêndice entrou ANTES do
bloco de varredura anon, porque ele cria função e o próprio baseline manda
("nenhuma função é criada depois deste bloco"). Conferido: zero funções
depois da varredura.
DESKCOMM_GOV_INVARIANTS_EDIT=1, e não é o flip que a mensagem do hook cita.
O caso aqui é RESOLUÇÃO DE CONFLITO DE MERGE num invariante que os dois lados
ESTENDERAM. O hook não distingue merge de edição, e sem a válvula nenhuma
branch conseguiria trazer a main depois que a catraca ganha linha dos dois
lados. A sonda que separa este caso de um afrouxamento — contra a main, o
arquivo só GANHA linha:
git diff origin/main -- tests/invariants/cascata-lgpd-nao-encolhe.test.ts | grep -c '^-[^-]' # 0
git show origin/main:<arquivo> | grep -cE '^\s*"[a-z_]+",' # 15
grep -cE '^\s*"[a-z_]+",' <arquivo> # 16
Zero remoções, uma tabela a mais. Se algum dia essa sonda der remoção > 0 num
commit que use esta válvula, é afrouxamento e deve ser recusado.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0173B9sHr5gABdMAx2fWsQ5W