# Architecture Overview ## Monorepo - Rust workspace: aggregate, projection, runner, gateway, control/api, shared - Frontend: control/ui - Infra: docker, observability, swarm ## Data Flow - Clients → Gateway (HTTP/JSON) - Gateway ↔ Nodes (gRPC) - Nodes ↔ NATS (JetStream + KV) ## Services - Aggregate: command handling + event sourcing; publishes events to JetStream - Projection: materialized views; consumes aggregate events; exposes QueryService (gRPC) - Runner: workflow/saga engine + effects/outbox; exposes RunnerAdmin (gRPC) - Gateway: edge, authn/z, routing to nodes, admin entry points ## Observability - /health, /ready, /metrics on all services - Correlation and tracing propagated across HTTP, gRPC, and NATS