jgrusewski
86f7f1fa76
fix: comprehensive audit — real brokers, deployment fixes, production safety
Codebase audit identified 23 findings across 4 dimensions (production safety,
code health, deployment readiness, test quality). This commit fixes all of them.
Broker execution layer (was entirely stubbed):
- Real IBKR TWS client via ibapi crate (950+ lines, feature-gated)
- ICMarkets ctrader-openapi now always-on (removed feature flag)
- Real broker routing with health monitoring and exponential backoff reconnect
- Validated against live IB Gateway Docker (6/6 connectivity tests pass)
Deployment blockers:
- Fixed 6 broken Dockerfiles (removed COPY foxhunt-deploy)
- Created foxhunt K8s namespace, secret templates, migration job
- Added liveness probes to all 7 K8s services
- IB Gateway manifest (ghcr.io/gnzsnz/ib-gateway:stable)
- IBKR credentials in Scaleway Secret Manager via Terragrunt
- Fixed port collisions and mismatches across services
Production safety (9 critical + 6 high/medium fixes):
- Asset-class-specific VaR volatility (not flat 2%)
- Real parametric VaR with z-score 95th percentile
- Kyle's lambda regression (100-bar rolling window)
- Per-feature running statistics from historical data
- VWAP-based slippage reference, regime duration tracking
- Real Databento JSON parsing for OHLCV/Trade/Quote
Code health:
- Removed #![allow(dead_code)] from ml, data, config
- Fixed log:: → tracing:: in 4 production files
- Removed dead workspace deps (ratatui, crossterm)
Verified: cargo check --workspace (0 errors), trading_engine 330 tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:32:10 +01:00
..
2026-02-24 10:32:21 +01:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-09-25 14:30:17 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 19:42:08 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 22:23:37 +02:00
2025-10-05 18:37:07 +02:00
2025-10-07 14:25:46 +02:00
2025-10-07 18:50:13 +02:00
2025-10-08 09:06:28 +02:00
2025-10-14 10:42:56 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 00:01:19 +02:00
2025-10-16 07:19:34 +02:00
2025-10-16 07:19:34 +02:00
2025-10-16 07:19:34 +02:00
2025-10-16 07:19:34 +02:00
2025-10-16 08:18:42 +02:00
2025-10-16 07:49:04 +02:00
2025-10-16 22:27:14 +02:00
2025-10-18 19:12:49 +02:00
2025-10-18 01:11:14 +02:00
2025-10-18 19:12:49 +02:00
2025-10-18 01:11:14 +02:00
2025-10-18 19:12:49 +02:00
2025-10-18 01:53:58 +02:00
2025-10-22 22:48:04 +02:00
2025-11-11 23:27:02 +01:00
2026-02-25 00:32:10 +01:00
2026-02-25 00:32:10 +01:00
2025-10-05 19:42:08 +02:00
2025-10-05 22:23:37 +02:00