# 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 tracking
- `OrderStateMachine` -- order lifecycle state transitions
- `PositionReconciler` -- 3-way sync (CQG, database, trading service)
- `CircuitBreaker` -- broker connection protection

## gRPC Endpoints

- `RouteOrder` -- submit order to broker
- `CancelOrder` -- cancel existing order
- `GetOrderStatus` -- query order state
- `GetPositions` -- current account positions
- `StreamExecutions` -- real-time execution reports

## Configuration

- `GRPC_PORT` (50056) -- gRPC listen port
- `HEALTH_PORT` (8086) -- HTTP health check
- `METRICS_PORT` (9096) -- Prometheus metrics
- `DATABASE_URL` -- PostgreSQL (broker_orders, broker_executions tables)
- `REDIS_URL` -- session state and sequence numbers
- `FIX_*` -- FIX session parameters (Phase 2)

## Testing

```bash
SQLX_OFFLINE=true cargo test -p broker_gateway_service --lib
```
