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>
foxhunt-e2e
End-to-end testing framework covering service orchestration, gRPC clients, database integration, ML pipeline, and complete trading workflows.
Key Types
E2ETestFramework-- core orchestratorServiceManager-- automated service startup/shutdownDatabaseTestHarness-- transaction-isolated DB testingMLPipelineTestHarness-- mock ML model inference
Test Categories
- Service startup, shutdown, recovery
- gRPC client connections, streaming, error handling
- ML inference, training, ensemble predictions
- Trading workflows, order lifecycle, risk, emergency stop
Usage
SQLX_OFFLINE=true cargo test -p foxhunt-e2e --lib