12 parallel agents executed - comprehensive service deployment and fixes AGENTS COMPLETED (12/12): ✅ Agent 1: ML AWS Dependencies - Fixed 30+ compilation errors ✅ Agent 2: Data Result Types - Fixed 4 type conflicts ✅ Agent 3: Backtesting Rustls - Fixed CryptoProvider panic ✅ Agent 4: ML CLI Interface - Fixed deployment scripts ✅ Agent 5: Backtesting Deployment - Service operational (port 50052) ✅ Agent 6: API Gateway Deployment - Service operational (port 50050) ⚠️ Agent 7: Test Suite - Blocked by ML compilation timeout ⚠️ Agent 8: Load Testing - Architecture gap identified ✅ Agent 9: Integration Validation - Services communicating ⚠️ Agent 10: Certification - DEFERRED (58.9%, -2.1% regression) ✅ Agent 11: Performance Benchmarks - Auth <3μs validated ✅ Agent 12: Documentation - Comprehensive delivery report PRODUCTION STATUS: 58.9% (5.3/9 criteria) - DOWN 2.1% from Wave 76 SERVICES: 4/4 Operational ✅ - Trading Service: port 50051 (PID 1256859) - Backtesting Service: port 50052 (PID 1739871) - ML Training Service: port 50053 (PID 1270680) - API Gateway: port 50050 (PID 1747365) CRITICAL BLOCKERS (3): 1. 🔴 Database container DOWN - blocks testing 2. 🔴 ML compilation timeout (60s+) - blocks test suite 3. 🔴 Load testing architecture gap - gRPC vs HTTP mismatch FIXES APPLIED: - ml/Cargo.toml: Added AWS SDK deps (aws-config, aws-sdk-s3, aws-types) - ml/src/checkpoint/storage.rs: Fixed S3Client usage, tagging format - ml/src/safety/memory_manager.rs: Removed invalid gc call - data/src/providers/benzinga/production_historical.rs: Fixed Result types (lines 533, 1116) - services/backtesting_service/src/main.rs: Added Rustls CryptoProvider init - start_all_services.sh: Updated ML service to use 'serve' subcommand - deployment/create_systemd_services.sh: Added ML CLI logic DOCUMENTATION: - docs/WAVE77_AGENT*.md (12 agent reports) - docs/WAVE77_DELIVERY_REPORT.md - docs/WAVE77_PRODUCTION_SCORECARD.md - WAVE77_COMPLETION_SUMMARY.txt NEXT WAVE: Fix database, ML timeout, load testing → achieve 100%
162 lines
5.0 KiB
TOML
162 lines
5.0 KiB
TOML
[package]
|
|
name = "ml"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
documentation.workspace = true
|
|
publish.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
|
|
[features]
|
|
# MINIMAL features for HFT inference only - ALL HEAVY ML REMOVED
|
|
default = ["minimal-inference"]
|
|
|
|
# PRODUCTION FEATURES - LIGHTWEIGHT ONLY
|
|
minimal-inference = [] # Minimal inference with no optional deps
|
|
financial = [] # Basic financial calculations
|
|
high-precision = ["rust_decimal/serde-float"]
|
|
|
|
# PERFORMANCE FEATURES - NO HEAVY ML
|
|
simd = [] # SIMD without heavy dependencies
|
|
|
|
# Storage and memory management features
|
|
gc = [] # Garbage collection features
|
|
s3-storage = ["aws-config", "aws-sdk-s3", "aws-types", "aws-credential-types", "urlencoding"] # S3 storage backend with AWS SDK
|
|
cuda = [] # CUDA support (moved to training service)
|
|
|
|
# ALL HEAVY ML FEATURES REMOVED:
|
|
# gpu, pytorch, linfa-ml - MOVED TO ml_training_service
|
|
# optimization, graph-models, reinforcement-learning - MOVED TO ml_training_service
|
|
# transformers-advanced - MOVED TO ml_training_service
|
|
|
|
[dependencies]
|
|
# Core async and utilities
|
|
tokio.workspace = true
|
|
futures.workspace = true
|
|
async-trait.workspace = true
|
|
|
|
# Serialization and error handling
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
uuid.workspace = true
|
|
thiserror.workspace = true
|
|
anyhow.workspace = true
|
|
|
|
# System and I/O
|
|
memmap2.workspace = true
|
|
tempfile.workspace = true
|
|
tracing.workspace = true
|
|
prometheus.workspace = true
|
|
reqwest.workspace = true
|
|
|
|
# Internal workspace crates
|
|
trading_engine.workspace = true
|
|
config.workspace = true
|
|
common.workspace = true
|
|
risk = { path = "../risk" }
|
|
# Model loading functionality is in storage crate
|
|
storage = { path = "../storage" }
|
|
|
|
|
|
# Essential ML frameworks for HFT inference - CUDA REQUIRED FOR PERFORMANCE
|
|
candle-core = { version = "0.9", features = ["cuda", "cudnn"] } # CUDA mandatory for HFT latency
|
|
candle-nn = { version = "0.9" }
|
|
candle-optimisers = { version = "0.9" }
|
|
|
|
# HEAVY ML FRAMEWORKS REMOVED - MOVED TO ml_training_service
|
|
# ort (ONNX Runtime) - REMOVED (1000+ dependencies alone!)
|
|
# tch, torch-sys (PyTorch bindings) - REMOVED (500+ dependencies!)
|
|
|
|
|
|
# Mathematical libraries
|
|
# BLAS feature temporarily disabled - requires libopenblas-dev installation
|
|
# TODO: Re-enable after running: sudo apt-get install -y libopenblas-dev
|
|
ndarray = { version = "0.15", features = ["rayon", "serde"] }
|
|
nalgebra = { version = "0.33", features = ["serde-serialize"] }
|
|
arrayfire = { version = "3.8", optional = true }
|
|
|
|
# MINIMAL statistics only - ALL HEAVY ML ALGORITHMS REMOVED
|
|
# linfa ecosystem (linfa, linfa-clustering, linfa-linear, linfa-reduction) - REMOVED (200+ deps)
|
|
# smartcore - REMOVED (100+ dependencies)
|
|
# Basic statistics - always included (not optional)
|
|
statrs.workspace = true # Required for statistical computations
|
|
|
|
|
|
rust_decimal.workspace = true
|
|
|
|
|
|
# gymnasium, rerun - REMOVED (RL frameworks moved to ml_training_service)
|
|
|
|
|
|
# cudarc, wgpu - REMOVED (GPU frameworks moved to ml_training_service)
|
|
rayon.workspace = true
|
|
crossbeam = { version = "0.8", features = ["std"] }
|
|
|
|
|
|
petgraph = { version = "0.6", features = ["serde"] } # Required for TGNN graphs
|
|
semver = "1.0"
|
|
lru.workspace = true # Required for model caching
|
|
|
|
|
|
|
|
# chronoutil, ta, polars - REMOVED or moved to workspace dependencies
|
|
|
|
|
|
# argmin, nlopt, ipopt - REMOVED (optimization frameworks moved to ml_training_service)
|
|
|
|
|
|
half = { version = "2.6.0", features = ["serde"] }
|
|
rand = { version = "0.8.5", features = ["small_rng", "getrandom"] }
|
|
rand_distr = { version = "0.4.3" }
|
|
chrono = { version = "0.4.38", features = ["serde", "clock"] }
|
|
parking_lot = { version = "0.12", features = ["hardware-lock-elision"] }
|
|
dashmap = { version = "6.1", features = ["serde"] }
|
|
once_cell = "1.19"
|
|
lazy_static.workspace = true
|
|
flate2 = "1.0"
|
|
sha2 = "0.10"
|
|
bincode = "1.3"
|
|
fastrand = "2.1"
|
|
# wide - REMOVED (SIMD moved to trading_engine)
|
|
num-traits = "0.2"
|
|
num = "0.4"
|
|
libc = "0.2"
|
|
fs2 = "0.4"
|
|
num_cpus = "1.16"
|
|
approx.workspace = true
|
|
sysinfo = "0.33" # System information for benchmarks
|
|
|
|
# AWS SDK dependencies for S3 checkpoint storage (optional, s3-storage feature)
|
|
aws-config = { version = "1.1", optional = true }
|
|
aws-sdk-s3 = { version = "1.14", optional = true }
|
|
aws-types = { version = "1.1", optional = true }
|
|
aws-credential-types = { version = "1.1", optional = true }
|
|
urlencoding = { version = "2.1", optional = true }
|
|
|
|
[dev-dependencies]
|
|
tokio-test = "0.4"
|
|
proptest = "1.5"
|
|
tempfile = "3.12"
|
|
futures-test = "0.3"
|
|
mockall = "0.13"
|
|
test-case = "3.0"
|
|
rstest = "0.22"
|
|
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
|
|
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
insta = "1.34" # Snapshot testing for ML outputs
|
|
serial_test = "3.0" # Sequential testing for GPU resources
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
|
|
|
|
[[example]]
|
|
name = "cuda_test"
|
|
path = "examples/cuda_test.rs"
|
|
|
|
[lints]
|
|
workspace = true
|