# Status RTM OpenShift PIX Monetarie - 2026-06-18

Atualizado em: `2026-06-18 12:52 BRT`.

## Escopo

- Ambiente: OpenShift RTM, namespace `096022-cecres-compute-hml`.
- Kubeconfig usado: `.local/rtm.kubeconfig`.
- Service account: `system:serviceaccount:096022-cecres-compute-hml:monetarie-migrator`.
- Rota admin validada: `https://pixadmin-h.monetarie.internal`.
- Escopo de codigo/deploy: somente `pix/*`.
- `open-pix` nao foi usado.

## Resultado

O ambiente PIX Monetarie em RTM foi recompilado, atualizado, migrado, semeado e validado em navegador real.

- `pix-api`: `1/1` disponivel.
- `pix-admin-ui`: `1/1` disponivel.
- Build API: `pix-api-15`, `Complete`, `8m54s`.
- Build Admin: `pix-admin-ui-11`, `Complete`, `2m50s`.
- Digest API aplicado:
  - `pix-api@sha256:1dc9ce8932cea74d00562d254146b7367578204194900310fe79b93809fe97a1`
- Digest Admin aplicado:
  - `pix-admin-ui@sha256:8aff826e6c5ac398f0c42c74f72f6d9bde149befb22337bf93e4f7ddd10fe496`
- Health/root admin: `HTTP 200`, `Last-Modified: Thu, 18 Jun 2026 15:43:09 GMT`.

Evidencias:

- `.local/evidence/rtm-20260618-retry/oc-get-builds-final-post-text-audit.txt`
- `.local/evidence/rtm-20260618-retry/oc-get-deploy-final-post-text-audit.txt`
- `.local/evidence/rtm-20260618-retry/oc-get-pods-final-post-text-audit.txt`
- `.local/evidence/rtm-20260618-retry/oc-get-routes-final-post-text-audit.txt`
- `.local/evidence/rtm-20260618-retry/curl-pixadmin-health-post-text-audit.txt`

## Migrations, seeds e BACEN participants

Executado no pod novo do `pix-api`:

- `Shared.Release.migrate()`:
  - resultado: `exit_code=0`;
  - repos: `Shared`, `Settlement`, `Spi`;
  - status: migrations ja estavam aplicadas.
- `Shared.Release.seed()`:
  - resultado: `exit_code=0`;
  - usuarios: `7`;
  - participantes seed operacionais: `9`;
  - chaves PIX seed: `2`;
  - claims: `3`;
  - MED funds recoveries: `3`;
  - balance cache: `6`;
  - RBAC: `15` modulos, `45` features, `240` permissoes de grupos;
  - dominios BACEN: `169`;
  - error codes BACEN/DICT/SPI: `177`;
  - participante PIX Monetarie atualizado como `direct`, ISPB `46026562`.
- Importacao diaria da lista BACEN de participantes ativos Pix:
  - resultado: `{:ok, ...}`;
  - importados: `901`;
  - data fonte: `2026-06-18`;
  - CSV: `https://www.bcb.gov.br/content/estabilidadefinanceira/participantes_pix/lista-participantes-instituicoes-em-adesao-pix-20260618.csv`;
  - PDF: `https://www.bcb.gov.br/content/estabilidadefinanceira/participantes_pix_pdf/lista-participantes-instituicoes-em-adesao-pix-20260618.pdf`;
  - SHA-256: `2e041be83d7d155c17ccdaf9dd658cef4b5a28c4078b339b11b0ab4b3252100e`.

Resumo DB validado:

- `bacen_pix_participants`: `901` total, `901` ativos, latest `2026-06-18`.
- Monetarie na lista BACEN:
  - linha `213`;
  - nome `CC SERV. MUN SANTO ANDRÉ SP - MONETARIE`;
  - CNPJ `00.512.839/0001-09`;
  - ISPB/CNPJ numerico `46026562000105`.
- `monetarie_auth.institutions`:
  - somente `MONETARIE` ativa;
  - `MONETARIE`, ISPB `46026562`, documento `46026562000105`, `active=true`, `is_direct_participant=true`;
  - BACEN, BB, Bradesco, Caixa, Itau, Mercado Pago, Nubank, Santander e Sicredi estao inativos como tenants.
- `public.pix_participants`:
  - `Cooperativa de Credito dos Servidores do Municipio de Santo Andre`;
  - ISPB `46026562`;
  - participacao `direct`;
  - tipo `COOP`;
  - status `active`.

Evidencias:

- `.local/evidence/rtm-20260618-retry/oc-exec-pix-api-migrate-post-i18n.txt`
- `.local/evidence/rtm-20260618-retry/oc-exec-pix-api-seed-post-i18n.txt`
- `.local/evidence/rtm-20260618-retry/oc-exec-pix-api-import-bacen-participants-post-i18n-retry.txt`
- `.local/evidence/rtm-20260618-retry/oc-exec-pix-api-db-summary-post-i18n-final2.txt`

## Branding e UI

Playwright autenticado com `bank.admin` validou o admin publicado em RTM.

- Login: OK.
- Rotas navegadas: `79/79`.
- Screenshots: `91`.
- Rotas com console/page errors: `0`.
- Rotas com API/network issues: `0`.
- Navigation aborts: `0`.
- Branding no DOM:
  - `Monetarie`: presente;
  - `PIX`: presente;
  - logo alt text: `Monetarie Sociedade de Crédito Direto`.
- Seletor de instituicao:
  - mostra `Monetarie`;
  - dashboard mostra `Participantes Ativos 901`;
  - nao seleciona BACEN como instituicao ativa.

Evidencias principais:

- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/validation-summary.md`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/validation-result.json`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin-key-summary.json`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/dashboard.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/02-institution-selector.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/participants.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/security-certificates.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/simulator.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/simulator-scenarios.png`
- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/tools-xml-viewer.png`

## Auditoria textual/i18n

A auditoria textual automatizada rodou nas mesmas `79` rotas publicadas.

- Rotas verificadas: `79`.
- Rotas com termos suspeitos remanescentes: `0`.
- Termos auditados incluiam: `Total Keys`, `Target`, `Success Rate`, `All`, `Pending`, `Processing`, `Records`, `New Policy`, `Paste XML to analyze`, `Successful payment`, `fraud claim`, entre outros.

Correcoes implantadas nesta ultima rodada:

- DICT indicadores/politicas/estatisticas.
- Monitores de integracao/arquivos.
- XML Viewer.
- Lista de usuarios.
- Simulador e cenarios.

Evidencias:

- `.local/evidence/rtm-20260618-retry/ui-route-text-audit-post-text-audit/ui-route-text-audit-summary.md`
- `.local/evidence/rtm-20260618-retry/ui-route-text-audit-post-text-audit/ui-route-text-audit.json`
- `.local/evidence/rtm-20260618-retry/ui-route-text-audit-post-text-audit.exit`

## Core integration Monetarie

Validacao autenticada via Playwright/fetch, com cookie de sessao real e `X-Institution-ISPB=46026562`:

- `/api/v1/auth/me`: `HTTP 200`.
- `/api/v2/admin/institutions`: `HTTP 200`.
- `/api/v1/balance/account/46026562`: `HTTP 200`.
- Resposta de saldo:
  - `ispb=46026562`;
  - `source=calculated`;
  - `available=0`;
  - `blocked=0`;
  - `pending_credits=0`;
  - `pending_debits=0`;
  - `projected=0`.

Evidencia:

- `.local/evidence/rtm-20260618-retry/playwright-authenticated-api-core-balance-final.json`

## Certificados PIX

Tela e API de certificados estao publicadas e responderam autenticadas.

- `/security/certificates`: rota Playwright OK, screenshot capturado.
- `/api/v1/admin/certificates/status`: `HTTP 200`.
- `/api/v1/admin/certificates`: `HTTP 200`.
- Status atual:
  - `total_active=0`;
  - `healthy=0`;
  - `expiring_soon=0`;
  - `expired=0`;
  - lista vazia.

Conclusao: a superficie de upload/status esta no ar, mas nenhum certificado real CPIA/CPIC/CERTQRC esta carregado/ativo no RTM.

Evidencias:

- `.local/evidence/rtm-20260618-retry/playwright-admin-post-text-audit-bankadmin/screenshots/security-certificates.png`
- `.local/evidence/rtm-20260618-retry/playwright-authenticated-certificates-status-final.json`

## Logs e saude runtime

Janela de `20m` apos rollout/validacao:

- `pix-admin-ui`: `0` erros filtrados.
- `pix-api`: houve um evento transitorio em `15:45:19Z`:
  - conexoes Postgrex idle fechadas;
  - uma chamada de saldo respondeu `503`;
  - retry registrado em seguida;
  - chamadas posteriores de saldo, auth, instituicoes, relatorios e health voltaram a `200`.

Janela curta limpa coletada depois da validacao (`2026-06-18 12:49:16 BRT`, `--since=3m`):

- `pix-api`: `1806` linhas, `0` erros filtrados.
- `pix-admin-ui`: `647` linhas, `0` erros filtrados.

Evidencias:

- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-api-final-post-text-audit-since20m.txt`
- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-api-final-post-text-audit-errors.txt`
- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-api-final-clean-window-since3m.txt`
- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-api-final-clean-window-errors.txt`
- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-admin-ui-final-clean-window-since3m.txt`
- `.local/evidence/rtm-20260618-retry/oc-logs-deploy-pix-admin-ui-final-clean-window-errors.txt`

## Config operacional RTM

ConfigMap `pix-api-env` atual:

- `BACEN_ENV=homolog`.
- `BACEN_ENABLED=false`.
- `BACEN_PARTICIPANT_NAME=MONETARIE`.
- `DICT_EXTERNAL_MODE=local`.
- `INBOUND_SOURCE=bacen_mock_nats`.
- `SIMULATOR_ENABLED=true`.
- `NATS_ENABLED=true`.
- `PHX_HOST=pixadmin-h.monetarie.internal`.

Runtime config confirma:

- Catalogo SPI v5.12 preservado como baseline.
- `SPI_VERSION_OVERRIDES` existe para rollback operacional, mas nao ha override ativo comprovado.
- Gate XSD fail-closed fica ligado por default (`PIX_XSD_GATE_ENFORCE != false`).
- Endpoints BACEN homolog DICT/ICOM estao configurados no runtime, mas dependem de `BACEN_ENABLED=true` e material mTLS.

Evidencias:

- `.local/evidence/rtm-20260618-retry/oc-pix-api-envfrom-final.json`
- `.local/evidence/rtm-20260618-retry/oc-configmap-pix-api-env-final-redacted.json`
- `.local/evidence/rtm-20260618-retry/oc-configmap-pix-api-runtime-config-final-redacted.json`
- `.local/evidence/rtm-20260618-retry/oc-pix-api-secret-keys-final.json`

## Conclusao realista

O RTM agora esta em estado operacional consistente para validacao funcional interna do PIX Monetarie:

- branding Monetarie aplicado;
- instituicao ativa correta (`MONETARIE`);
- dashboard usa lista oficial BACEN com `901` participantes ativos;
- seeds e RBAC executados;
- migrations OK;
- admin navega `79/79` rotas sem console/API/page errors;
- auditoria textual zerada;
- simulador no ar;
- certificados com tela/API no ar;
- chamada autenticada de saldo/Core para ISPB Monetarie responde `200`.

Nao declaro homologacao BACEN real concluida ainda, pelos seguintes pontos objetivos:

- `BACEN_ENABLED=false` no RTM.
- `DICT_EXTERNAL_MODE=local`.
- `INBOUND_SOURCE=bacen_mock_nats`.
- nenhum certificado CPIA/CPIC/CERTQRC real esta carregado/ativo (`total_active=0`).
- nao ha evidencia nesta rodada de chamada mTLS real ao DICT/ICOM BACEN homolog.
- nao ha evidencia nesta rodada de transacao real do core gerando PACS.008/fluxo SPI externo.

Para declarar pronto para homologacao BACEN real, o proximo passo tecnico obrigatorio e carregar/ativar certificados reais e ligar o modo externo correspondente (`BACEN_ENABLED=true`, `DICT_EXTERNAL_MODE=bacen` ou modo espelho aprovado, `INBOUND_SOURCE=icom_http` quando aplicavel), seguido de nova bateria Playwright/API/logs e testes DICT/ICOM reais.
