# Full deep audit — fecho da sessao de 2026-07-18 (codigo, bancos, migrations, infra, memorias)

Auditoria em 4 trilhas (codigo+migrations, bancos HML/PRD, infra AWS, persistencias de memoria), 100% read-only nos ambientes, executada apos a janela PRD da Wave 1. Referencia: `origin/main = 48d548b0`.

## Veredito executivo

Sistema em bom estado para as sequencias do cliente de segunda 21/07. **Zero achado CRITICO em aberto.** 1 HIGH achado e JA NEUTRALIZADO na propria sessao; 1 LOW de banco documentado (decisao do dono); higienes recomendadas listadas.

## 1. Codigo e migrations

- main == origin/main (`48d548b0`), zero commit local, zero stash, working tree limpa.
- **HIGH (NEUTRALIZADO)**: `diversos/` na working tree contem chaves privadas de PRODUCAO (SSH id_ed25519, TLS qrcode*.key, perfil OpenVPN PRD, certificados T010/T011, credentials.csv) — estava untracked SEM gitignore, a um `git add .` do desastre. **Corrigido no commit `48d548b0`** (`diversos/` gitignorado, padrao do `.scratch/`). RECOMENDACAO ao dono: mover o material para fora do repo e considerar as chaves como expostas a tooling local.
- Migrations: inventario completo >= 20260716 sem colisao de timestamp em nenhum repo; core/pix/spb consistentes com o codigo da main (schema Ecto <-> DDL conferidos um a um); todas defensivas/idempotentes. Core e SPB compartilham o timestamp 20260718150000 em repos/bancos DIFERENTES (sem conflito, verificado).
- Suites de guarda na main: core outbox+versao-de-API 13/0; pix workers 407/0.
- Higiene dos ~60 commits de 18/07: zero segredo, zero PII real, scripts novos com credencial exclusivamente por env var e ledger com redacao.
- Faxina segura disponivel (nao executada): 26 worktrees de agente + ~20 branches mortas, tudo provado patch-equivalente na main (`git cherry`); PRESERVAR o worktree `/Users/luizpenha/monetarie-infra-prod` (branch infra-prod, 15 commits exclusivos de infra de PRD). Comandos: `git worktree list`; para cada agent-*: `git worktree unlock <path> 2>/dev/null; git worktree remove <path> && git branch -D <branch>`.
- Follow-up L1 (registrado): `NettingResult.net_amount` :integer vs coluna legada numeric (leitura de acervo legado).

## 2. Bancos de dados (HML e PRD)

- **schema_migrations: PARIDADE TOTAL HML==PRD** nos 3 sistemas (core 4 versoes novas, pix 10, spb 1), efeito conferido coluna a coluna nos dois ambientes.
- **DINHEIRO (PRD): LIMPO.** `StatementBackfill.reconcile()` = `[]` (TB==extrato em TODAS as contas); `PixReconciliation.reconcile(01..18/07)` = 32/32 matched, div=0 em todas as categorias.
- **DLQ PRD**: 25 msgs, last_seq 42 (01:29 UTC) — nada novo desde a triagem; seq 41/42 seguem NAO-redespachaveis.
- **Netting PRD**: 0 ciclos registrados — a janela 00:30 de 18/07 rodou ANTES do DDL (falha documentada, DLQ seq 40); primeiro ciclo PENDING real esperado em **00:30 UTC de 19/07 — VIGIAR**.
- **Janela do incidente**: ZERO PIX-in apos 02:40 UTC, provado por DUAS fontes independentes (core transactions=0 do dia + cabine messages: apenas as 2 pacs.004 da Wise).
- **LOW (unico achado, decisao do dono)**: indice `batch_message_id` em PRD e a variante ANTERIOR da migration (btree cheio, nome `_index`) com a versao registrada — HML tem a forma final (parcial, `_idx`). Funcionalmente indexado; convergir = DDL manual (drop/create) ou aceitar o drift documentado.

## 3. Infra AWS (read-only)

- **PRD**: core:70 / pix:63 / spb:39 / banking:5 / merchant:3 / admin:24 / sta:15 — todos COMPLETED 1/1, TGs healthy. Flags conforme: batch e auto-return AUSENTES; 3 flags R6 true; R1 login preservado. Sidecars byte-identicos aos das revisoes anteriores (pix-mtls, spb-mq). Cadeia de rollback pix: :63 -> :62 (multitx) -> :61.
- **HML**: core:171 (c22869ec) / pix:189 (98d1631a) / spb:69 (f89df229) / UIs nas tags do dia — todos healthy.
- **Terraform HML: DRIFT PERIGOSO CONFIRMADO** (plan = 26 add / 15 change / 9 destroy; NATS, TigerBeetle e OpenVPN de HML seriam RECRIADOS). REGRA: NUNCA apply sem reconciliacao previa do state. Inclui infra NAT de egress desenhada e nunca aplicada.
- Logs PRD: retencao 365d nos 4 money-path + 30d nos demais — conforme.
- Higiene (informativo): ECR sem lifecycle policy (~600 imagens untagged acumuladas nos 3 repos principais); centenas de task-defs ACTIVE antigas; sta-api PRD esta ATIVO 1/1 (docs antigos diziam dormente). `SIDECAR_TLS_SESSION_CACHE` segue ausente na pix:63 (follow-up de latencia de 17/07 ainda nao aplicado em PRD).

## 4. Persistencias de memoria

- **CLAUDE.md**: estado canonico do topo ATUALIZADO com o fecho PRD (revisoes vivas, rollbacks, flags). Aviso: 126KB — blocos "Estado anterior" antigos sao candidatos a migrar para docs/ numa higiene futura.
- **MEMORY.md**: compactado de 20,9KB para ~15,5KB (dentro do limite de leitura), estado do topo correto, Wave 1 indexada com topic file proprio.
- **Topic files**: `monetarie-wave1-executada-0718` e `monetarie-r2-cosif-reparado-duplocredito-tb-0718` atualizados com o fecho (PRD executado).
- **Serena**: memoria `monetarie/live-state-2026-07-18` criada (a mais recente era 17/07) com revisoes vivas, pendencias e regra de interface com o cliente.
- **claude-mem**: captura automatica da sessao ativa (indice semantico ja registrando as observacoes do dia).

## Pendencias vivas consolidadas (ordem sugerida)

1. VIGIAR: netting 00:30 UTC 19/07 (primeiro ciclo pos-DDL); proximo auto-return organico (rota do espelho); snapshot COSIF diario.
2. Segunda 21/07: cliente roda sequencias PIX/TED — DONO e a interface; suporte tecnico sob acionamento.
3. Janela com o dono (HML): infracao real DICT homolog, devolucao de TED real (STR0010), caminhos felizes MED/claims, webhook novo a receptor externo.
4. G3 do lote PIX (runbook `docs/operator/2026-07-18-runbook-f5-lote-pix-deploy-janela.md`): rajada 12 = 2 POSTs + rejeicao de envelope forcada (prova da referencia real do admi.002) + p95 por posicao. Ligar flag = dono, bloqueado ao G3.
5. Batimento `APIX042026.xml` vs restore AutBank (mandato do dono, sessao dedicada) — `docs/handoff/2026-07-18-gap-analysis-6-docs-cliente-handoff.md`.
6. Follow-ups: O-2 (EVP tela IB 202 sem materializar em HML), tasks 11a-11e do F4 + PDF v2, indice batch PRD (LOW), SIDECAR_TLS_SESSION_CACHE em PRD, mover `diversos/` para fora do repo, faxina de worktrees/branches, ECR lifecycle policy.
7. Decisoes do dono pendentes: SMTP vs SES + destinatarios; publicacao do portal (proposta em `docs/reports/2026-07-18-proposta-publicacao-portal-parceiro.md`); `SPB_AUTO_RETURN_ENABLED`; pacs.004 no 4xx-terminal; tabela oficial da natureza da acao judicial; purge da DLQ (25 triadas).
8. Desenhos novos mapeados: ACEITE do operador na transferencia judicial (money-path); grade nominal de e-mails CCS; elo AMES->SIMBA; Wave 2 (remuneracao SPI, SLB, PIX in/out, volumetria, R13 STA).
