# 更新日志

FluxiQ PIX 平台开发阶段的完整历史。

## 开发阶段

### 阶段 13 — GAP 修复（2026-02-13）

- PR #2，分支：`feature/gap-remediation-bacen-readiness`
- 15 次提交，33 个文件变更，+3,651/-321 行
- 迁移 #26：机构类别列
- 迁移 #27：`monetarie_spi.messages` 按月 RANGE 分区
- E2E ID 集中到 `MessageBuilder`（修复 31 字符 Bug）
- DICT 速率限制符合 BACEN 手册 v8.0（General=250/25，Special=50/10 req/s）
- 自动化 ANS 监控（1600ms SLA 违规检测）
- DLQ 管理：列出 + 重放死信消息
- BCB Circular 4010：COSIF 导出 + 资产负债表 + 利润表
- BaseWorker：SIGTERM 优雅排空（30s 超时）
- 查询安全：17 个无界 `Repo.all` 调用添加 LIMIT 10K

### 阶段 12 — 生产加固（2026-02-09）

- 镜像：`pix-backend:240d3f4`
- 迁移 #25：`activity_log` + `login_history` 按月分区
- PartitionManager GenServer：每日分区检查 + 审计清除
- RBAC：`RequirePermission` 插件应用于 35 个操作 — DB 错误时失败关闭
- Token 黑名单：注销时 Redis JWT 撤销
- 幂等性：SET NX 原子锁，SHA-256 指纹，用户范围，24 小时 TTL
- 分布式追踪：HTTP 头 + NATS 消息中的 `x-trace-id`
- Worker 遥测：3 种事件类型 + 自适应背压
- 深度审计：27 个文件中修复 40 个发现（6C + 14H + 20M）

### 阶段 11 — TPS 加固（2026-02-09）

- K8s：2Gi/2cpu 请求，4Gi/4cpu 限制，PDB，反亲和性
- DB：8 个 TPS 索引（分行、CPF、GIN 三元组 e2e、复合）
- 认证：登录速率限制（10次/15分钟），10 次失败后账户锁定
- 断路器：基于 ETS，5 次失败 → 打开，30 秒冷却
- NATS Worker：并行处理（批次 100，并发 5-10）
- BaseWorker：重试路径检查 `max_retries`（防止无限循环）
- 深度审计：10 个并行代理，2 轮 — 全部通过

### 阶段 10 — Core Banking 就绪（2026-02-09）

- Cloud SQL 直连私有 IP（10.140.241.2，移除 Proxy）
- 连接池：POOL_SIZE=200 每 repo × 4 repos × 2 pods
- MED 2.0：5 个违规报告端点
- 迁移 #20-22：性能索引、认证外键、违规报告

### 阶段 9 — BCB 交易视图 + GKE 上的 NATS（2026-02-08）

- 葡萄牙语状态标签（10 个 BCB 状态码）
- ANS 计时：交易详情上的 OK/EXCEDIDO 徽章
- JavaScript 时区修复（`formatDateOnly` + `formatDateTime`）
- GKE 上 `NATS_ENABLED=true`

### 阶段 8 — PaymentController 真实数据库（2026-02-08）

- 用 `monetarie_spi.messages` 的真实查询替换存根
- 过滤：状态、E2E ID、日期范围、工具类型
- 分页和汇总统计

### 阶段 7 — Core Banking 集成（2026-02-07）

- 认证 JWT 密钥回退链（`JWT_SECRET` → `GUARDIAN_SECRET_KEY` → `SECRET_KEY_BASE`）
- `MONETARIE_CORE` 流用于 Core→PIX 事件
- CoreEventProcessor：6 种事件类型（支付、退回、密钥 CRUD、查询、余额）
- CoreEventAdapter：Core 兼容负载格式

### 阶段 6 — 缺口修复（2026-02-07）

- 8 次提交，68 个文件，~7,200 行
- i18n 5 种语言（管理门户 + 用户门户）
- Chart.js：3 个可复用组件 + 12 个图表
- 288 个 ExUnit 测试
- 用户认证加固（HttpOnly Cookie、RSA-OAEP、MFA）
- SystemConfig API

### 阶段 5 — 实时监控 + 总账会计（2026-02-06）

- 迁移：4 个会计表 + 44 个 COSIF 账户
- Phoenix Channels：6 个 WebSocket 主题
- 监控 GenServer：Broadcaster、HealthChecker、QueueMonitor
- 带 TPS 迷你折线图的实时仪表板

### 阶段 1-4 — 基础设施（2026-02-01 至 2026-02-05）

- 基础设施：4 个 Elixir umbrella 应用（shared、dict、spi、settlement）
- 8 个 PostgreSQL 模式 + 175+ 域值
- BACEN 客户端：mTLS、XMLDSig、通道路由（CPM/CSM）
- 管理门户 Vue 3：82 个路由，17 个 Pinia 存储
- 种子数据：369 家银行，15,442 次 DICT 操作，1,000+ 笔交易

## 迁移

| # | 时间戳 | 用途 |
|---|--------|------|
| 1 | 20260201000001 | 所有初始模式和表 |
| 2 | 20260203000001 | 13 个缺口修复表 |
| 3 | 20260203000002 | 参考数据种子 |
| 4 | 20260203100001 | PostgreSQL 扩展和枚举 |
| 5 | 20260203100002 | 缺失模式 + 认证表 |
| 6 | 20260203100003 | 缺失 DICT 表 |
| 7 | 20260203100004 | 缺失 SPI 表 |
| 8 | 20260203100005 | 缺失清算表 |
| 9 | 20260203100006 | 新模式表 |
| 10 | 20260203100007 | 数据库函数、触发器、视图 |
| 11 | 20260203100008 | BACEN 模拟器表 |
| 12 | 20260203100009 | 加载剩余种子 SQL |
| 13 | 20260206000001 | 认证机构和群组 |
| 14 | 20260206200001 | BACEN 合规表 |
| 15 | 20260206200002 | ALTER domain_values |
| 16 | 20260206200003 | Alcada 授权层（3 个表） |
| 17 | 20260207300001 | MFA 字段 |
| 18 | 20260207400001 | 总账会计（44 COSIF + 6 成本中心） |
| 19 | 20260207500001 | 系统配置 + 13 个参数 |
| 20 | 20260208000001 | 性能索引 |
| 21 | 20260208100001 | 账户 ISPB + user_groups |
| 22 | 20260209000001 | 重建 infraction_reports |
| 23 | 20260209100001 | 8 个 TPS 索引 |
| 24 | 20260209200001 | 修复审计：reported_cpf_cnpj + user_groups |
| 25 | 20260210000001 | 分区 activity_log + login_history |
| 26 | 20260213000001 | 机构类别列 |
| 27 | 20260213000002 | 按月分区 monetarie_spi.messages |

## 预期结果

本更新日志提供 FluxiQ PIX 平台的完整开发历史。
