# Changelog

Historico completo de alteracoes da plataforma FluxiQ PIX.

## Fases de Desenvolvimento

### Fase 13 — Remediacao GAP (2026-02-13)

- PR #2, branch: `feature/gap-remediation-bacen-readiness`
- 15 commits, 33 arquivos alterados, +3.651/-321 linhas
- Migracao #26: coluna `category` em institutions
- Migracao #27: particoes mensais RANGE para `monetarie_spi.messages`
- E2E ID centralizado no `MessageBuilder` (bug 31-char corrigido)
- Rate limiting DICT por BACEN Manual v8.0 (General=250/25, Special=50/10 req/s)
- Monitor ANS automatizado (deteccao violacao SLA 1600ms)
- Admin DLQ: listar + replay mensagens mortas
- BCB Circular 4010: exportacao COSIF + balanco + DRE
- BaseWorker: drain gracioso no SIGTERM (30s timeout)
- Seguranca de queries: LIMIT 10K em 17 chamadas `Repo.all`

### Fase 12 — Hardening Producao (2026-02-09)

- Imagem: `pix-backend:240d3f4`
- Migracao #25: particoes mensais para `activity_log` + `login_history`
- PartitionManager GenServer: verificacao diaria + purge de auditoria
- RBAC: `RequirePermission` plug em 35 acoes — FAIL-CLOSED em erros de DB
- Token blacklist: revogacao JWT via Redis no logout
- Idempotencia: SET NX atomico, fingerprint SHA-256, escopo usuario, 24h TTL
- Rastreamento distribuido: `x-trace-id` em headers HTTP + mensagens NATS
- Telemetria workers: 3 tipos de evento + backpressure adaptativo
- Auditoria profunda: 40 findings corrigidos (6C + 14H + 20M) em 27 arquivos

### Fase 11 — Hardening TPS (2026-02-09)

- K8s: 2Gi/2cpu requests, 4Gi/4cpu limits, PDB, anti-affinity
- DB: 8 indexes TPS (branch, CPF, GIN trigram e2e, composites)
- Auth: Rate limit login (10/15min), bloqueio conta apos 10 falhas
- Circuit breaker: ETS-based, 5 falhas → open, 30s cooldown
- Workers NATS: processamento paralelo (batch 100, concurrency 5-10)
- BaseWorker: path `{:retry, _}` verifica `max_retries` (previne loops infinitos)
- Auditoria profunda: 10 agentes paralelos, 2 rodadas — todos PASS

### Fase 10 — Prontidao Core Banking (2026-02-09)

- Cloud SQL direto IP privado (10.140.241.2, sem Proxy)
- Pool conexoes: POOL_SIZE=200 por repo x 4 repos x 2 pods
- MED 2.0: 5 endpoints infraction reports
- Migracoes #20-22: indexes performance, auth FKs, infraction_reports

### Fase 9 — Views BCB + NATS GKE (2026-02-08)

- Labels status em portugues (10 codigos BCB)
- Timing ANS: badge OK/EXCEDIDO no detalhe da transacao
- Correcao timezone JavaScript (`formatDateOnly` + `formatDateTime`)
- `NATS_ENABLED=true` no GKE

### Fase 8 — PaymentController Real DB (2026-02-08)

- Substituicao de stub por queries reais em `monetarie_spi.messages`
- Filtros: status, E2E ID, intervalo de datas, tipo de instrumento
- Paginacao e estatisticas sumarizadas

### Fase 7 — Integracao Core Banking (2026-02-07)

- Auth JWT secret fallback chain (`JWT_SECRET` → `GUARDIAN_SECRET_KEY` → `SECRET_KEY_BASE`)
- Stream `MONETARIE_CORE` para eventos Core→PIX
- CoreEventProcessor: 6 tipos de evento (payment, return, key CRUD, lookup, balance)
- CoreEventAdapter: formato de payload compativel com Core

### Fase 6 — Resolucao de Gaps (2026-02-07)

- 8 commits, 68 arquivos, ~7.200 linhas
- i18n 5 locales (admin + user portals)
- Chart.js: 3 componentes reutilizaveis + 12 graficos
- 288 testes ExUnit
- Auth hardening user portal (cookies HttpOnly, RSA-OAEP, MFA)
- SystemConfig API

### Fase 5 — Monitoramento Tempo Real + Contabilidade GL (2026-02-06)

- Migracao: 4 tabelas contabilidade + 44 contas COSIF
- Phoenix Channels: 6 topicos WebSocket
- Monitoring GenServers: Broadcaster, HealthChecker, QueueMonitor
- Dashboard tempo real com grafico sparkline TPS

### Fases 1-4 — Fundacao (2026-02-01 a 2026-02-05)

- Infraestrutura base: 4 apps umbrella Elixir (shared, dict, spi, settlement)
- 8 schemas PostgreSQL + 175+ domain values
- BACEN client: mTLS, XMLDSig, channel routing (CPM/CSM)
- Admin portal Vue 3: 82 rotas, 17 Pinia stores
- Seed data: 369 bancos, 15.442 operacoes DICT, 1.000+ transacoes

## Migracoes

| # | Timestamp | Descricao |
|---|-----------|-----------|
| 1 | 20260201000001 | Todos os schemas e tabelas iniciais |
| 2 | 20260203000001 | 13 tabelas resolucao de gaps |
| 3 | 20260203000002 | Seed de dados de referencia |
| 4 | 20260203100001 | Extensoes PostgreSQL e ENUMs |
| 5 | 20260203100002 | Schemas faltantes + tabelas auth |
| 6 | 20260203100003 | Tabelas DICT faltantes |
| 7 | 20260203100004 | Tabelas SPI faltantes |
| 8 | 20260203100005 | Tabelas settlement faltantes |
| 9 | 20260203100006 | Tabelas novos schemas |
| 10 | 20260203100007 | Funcoes DB, triggers, views |
| 11 | 20260203100008 | Tabelas BACEN simulator |
| 12 | 20260203100009 | Carregar seeds SQL restantes |
| 13 | 20260206000001 | Auth institutions e groups |
| 14 | 20260206200001 | Tabelas compliance BACEN |
| 15 | 20260206200002 | ALTER domain_values |
| 16 | 20260206200003 | Alcada autorizacao (3 tabelas) |
| 17 | 20260207300001 | Campos MFA |
| 18 | 20260207400001 | Contabilidade GL (44 COSIF + 6 centros custo) |
| 19 | 20260207500001 | System config + 13 parametros |
| 20 | 20260208000001 | Indexes performance |
| 21 | 20260208100001 | Account ISPB + user_groups |
| 22 | 20260209000001 | Recriar infraction_reports |
| 23 | 20260209100001 | 8 indexes TPS |
| 24 | 20260209200001 | Fix audit: reported_cpf_cnpj + user_groups |
| 25 | 20260210000001 | Particoes activity_log + login_history |
| 26 | 20260213000001 | Coluna category em institutions |
| 27 | 20260213000002 | Particoes mensais monetarie_spi.messages |

## Resultado Esperado

Este changelog fornece o historico completo de desenvolvimento da plataforma FluxiQ PIX.
