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>
broker_gateway_service
Broker communication gateway with FIX 4.2/4.4 protocol, order routing, execution management, and position reconciliation via CQG.
Status: MVP (database persistence only, FIX protocol deferred to Phase 2)
Key Types
BrokerGatewayService-- main gRPC service (7 methods)SequenceManager-- FIX MsgSeqNum trackingOrderStateMachine-- order lifecycle state transitionsPositionReconciler-- 3-way sync (CQG, database, trading service)CircuitBreaker-- broker connection protection
gRPC Endpoints
RouteOrder-- submit order to brokerCancelOrder-- cancel existing orderGetOrderStatus-- query order stateGetPositions-- current account positionsStreamExecutions-- real-time execution reports
Configuration
GRPC_PORT(50056) -- gRPC listen portHEALTH_PORT(8086) -- HTTP health checkMETRICS_PORT(9096) -- Prometheus metricsDATABASE_URL-- PostgreSQL (broker_orders, broker_executions tables)REDIS_URL-- session state and sequence numbersFIX_*-- FIX session parameters (Phase 2)
Testing
SQLX_OFFLINE=true cargo test -p broker_gateway_service --lib