# Handoff de sessão — validação visual em PRD interrompida (terminal do Mac travou), 2026-07-21 ~10:17 BRT

**Contexto:** sessão retomada pelo handoff `docs/handoff/2026-07-21-pendencias-respondidas-proxima-sessao.md` (as 8 pendências com decisão do dono; ordem de ataque 3 → 4 → (1 e 2) → 6 → (5 e 8), item 7 só monitorar). Esta sessão executou parte do **item 3** e foi interrompida a pedido do dono (terminal travou). Base: `origin/main = d515111d`, working tree limpo exceto os artefatos NOVOS e NÃO COMMITADOS listados abaixo.

## O que já está feito (não repetir)

### Diagnóstico de VPN/roteamento (item 3, disciplina "corrigir a MINHA ferramenta")
- **PRD (10.50) está UP**: rota `10.50/16` via `utun12` (OpenVPN Connect conectado ao perfil `15.229.92.89`, túnel 10.250.0.2). Os 4 hosts de PRD testados respondem 200 (`staadmin`, `coreadmin`, `staapi`, `coreapi` .monetarie.internal).
- **HML (10.45) NÃO tem rota**: o OpenVPN Connect alterna PRD↔HML **no mesmo slot** (perfil HML = `1782161007243.ovpn`, remote `54.94.247.111`; conectado por último em 20/07 18:12). **Conectar HML derruba PRD.** O `utun10` (default route, 172.80.81.x) é o Viscosity com VPN de OUTRO cliente — NÃO tocar. Sem sudo sem-senha, túnel openvpn paralelo é inviável.
- **Estratégia definida**: trabalho de API/logs em HML via túnel SSM (EC2 NATS `i-02ce3a3b6b3ad0d37`, receita conhecida local:18080→ALB com Host header) sem mexer na VPN; troca de perfil no OpenVPN Connect só quando precisar de BROWSER em HML (item 4), e voltar para PRD depois.

### Item 3 — STA Vue em PRD: FEITO (8 screenshots, regra #11)
Capturas em `docs/reports/screenshots/2026-07-21-validacao-visual-prd/` (**NÃO commitadas ainda**):
`prd-sta-01-login.png` … `prd-sta-08-logs-live.png` — Login, Dashboard (Ambiente=Produção, pill Conectado, componentes DB/Conexão STA/Poller up, atividade real ACCS009/003/002 + AJUD305/308, CCS 30/JUD 24), Arquivos (3 arquivos de hoje, filtro De=21/07 00:00), Detalhe do arquivo com aba **Conteúdo** (rótulo honesto "Conteúdo binário" para ZIP) e **Linha do Tempo**, Configuração (badge Sincronizado) + aba Rotas, Logs em tempo real (214 entradas reais, zero erros, socket conectado).
- **Download provado vivo**: botão Baixar do ACCS003 (protocolo 435515274) entregou ZIP real com `ACCS003.xml` dentro (cópia da prova no scratchpad da sessão anterior, pode descartar).
- **Login do STA PRD: usuário `admin@monetarie.com` (SEM `.br`)**, senha = secret `monetarie/prod/admin/sta/initial_password`. Único usuário na tabela `users` do STA (super_admin, active) — conferido via ECS exec + `bin/sta_connector eval` (o **rpc NÃO funciona no STA**, nó sem distribuição; usar `eval` com `Ecto.Migrator.with_repo`, script via base64 → `/tmp/q.exs`).

### Achados novos desta sessão (alimentam itens 5 e 6)
1. **Card "Conexão STA" da tela Configuração em PRD mostra endpoint de HOMOLOGAÇÃO** (`https://sta-h.bcb.gov.br/staws`, combobox Ambiente=Homologação) num ambiente rotulado Produção que ESTÁ operando (arquivos chegando hoje). Hipótese: registro `{config}` do banco stale vs runtime por env. VERIFICAR de onde o runtime lê de fato e corrigir a tela ou o registro — classe "mentira silenciosa" do item 6.
2. **Canal de Notificações do STA**: console do browser acusa `Join timeout`/`Socket connection timeout` (2-4 erros por page load) embora o servidor logue `JOINED admin:notifications` em seguida — transiente/ruidoso, investigar timeout do join no frontend.
3. **Rotas = 0 em PRD** (tela honesta, poller opera por `resolve_system_ids`); avaliar se deveria haver rotas cadastradas.

### Item 3 — SisbajudView no CoreAdmin PRD: BLOQUEADO no login (retomar AQUI)
- `admin@monetarie.com.br` + secret `monetarie/prod/admin/core/initial_password` = **401** em `POST /api/admin/auth/login` (coreadmin PRD).
- Investigação em curso: task do core-api PRD `arn:aws:ecs:...:task/monetarie-greenfield-prod/449c854ac319417288fb14a23b795709`, binário do release = `/app/bin/monetarie`. **Próximo passo exato**: ECS exec + `bin/monetarie eval` (mesma técnica base64→`/tmp/q.exs` + `Ecto.Migrator.with_repo(Monetarie.Infra.Repo.Base, ...)` — conferir o repo certo do Core) para listar os admins (e-mail/status/role, tabela de users platform_admin) e descobrir o e-mail correto; se a senha do secret não valer, o dono pode ter trocado — NÃO resetar nada sem OK.
- Depois do login: capturar **aba Ordens (filtro de data nascendo VAZIO), aba Requisições de Informação (5308), aba Arquivos com tipos 5302×5309** na SisbajudView.

## Artefatos não commitados (decidir commit no fecho da próxima sessão)
- `docs/reports/screenshots/2026-07-21-validacao-visual-prd/prd-sta-0{1..8}.png`
- Este handoff.

## Fila restante (mandato completo no handoff anterior `2026-07-21-pendencias-respondidas-proxima-sessao.md`)
- **Item 3 (terminar)**: SisbajudView PRD (bloqueio do login acima).
- **Item 4**: deploy HML banking-ui+merchant-ui (main atual = B/C + B4-B9), validação visual em HML (precisa trocar perfil VPN p/ HML ou fazer browser via túnel), só então avaliar PRD.
- **Itens 1 e 2**: re-validar CQRC (certqrc.zip PRD + certqrc-h.zip HML via ARQ, fingerprint SHA-256 vs folha servida) e TED viva pelo IB em HML (gate `:xsd_oficial`, NumCtrlIF=20; via túnel SSM, sem VPN).
- **Item 6**: Postgrex disconnect pix-api PRD + silent-failure hunt (incluir achados 1-3 acima).
- **Itens 5 e 8**: desenhos STA (a-d) e tarifa SLB (mapear LegadoSPB vs 5.12 vigente).
- **Item 7**: só monitorar.

## Regras vivas (inalteradas)
BACEN é verdade; provar empiricamente; em produção não existe teste; NUNCA deployar pix/spb com o dono operando money-path; regra #11 (tela só validada com screenshot); docs pt-br sem travessão; senha NUNCA em arquivo versionado (buscar sempre no Secrets Manager).
