Rename 7 service binaries from snake_case to kebab-case to match K8s deployment names. Update Cargo.toml package/bin names, K8s manifest S3 paths and commands, and cross-crate dependency keys. - api_gateway → api-gateway - trading_service → trading-service - broker_gateway_service → broker-gateway - ml_training_service → ml-training-service - backtesting_service → backtesting-service - trading_agent_service → trading-agent-service - data_acquisition_service → data-acquisition-service broker-gateway gets an explicit [lib] name = "broker_gateway_service" since its new package name maps to broker_gateway (not the original broker_gateway_service used in source code). All other services map correctly with Rust's automatic hyphen-to-underscore conversion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ml_training_service
Model training orchestration and lifecycle management for DQN, PPO, TFT, Mamba2, TLOB, and Liquid models with progress tracking and artifact storage.
Key Types
MlTrainingServiceImpl-- main gRPC serviceJobTracker-- training job state machineCheckpointManager-- model artifact persistence
Features
minimal(default) -- minimal ML feature set for financial modelsgpu-- SIMD GPU acceleration (requires CUDA)mock-data-- mock training data (testing, bypasses database)
Configuration
GRPC_PORT-- gRPC listen portDATABASE_URL-- PostgreSQL for job metadata and training history- Prometheus metrics on port 9094
Testing
SQLX_OFFLINE=true cargo test -p ml_training_service --lib