Modules
All Gordon v7 library crates, runtime services, tooling, and support projects. Versions reflect the current kellnr / container tags as of 2026-05-17.
Shared library crates (kellnr)
Pure Rust, no I/O, published to the private kellnr registry at kellnr.lepaux.com.
| Crate | Version | Churn | Role |
|---|---|---|---|
| gordon-kernel | 2.0.0 | Frozen-ish | Error taxonomy (GordonError, ErrorKind, ErrorCode) + W3C TraceId scalar |
| gordon-domain | 1.1.0 | Active (weekly) | Cross-service business types + ExecutionModel trait |
| gordon-protocol | 7.2.1 | NATS topology churn | NATS bus subjects + payload structs, additive-only schema versioning |
| gordon-platform | 0.4.0 | Moderate | HTTP client + retry + circuit breaker, Axum middleware, tracing init, pg-NOTIFY IPC, TraceContext |
| gordon-strategy | 4.6.4 | Active | Strategy trait, 14 entry strategies, overlays, BacktestExecution |
| gordon-bus | 2.1.0 | Stable | Publisher + Consumer traits over NATS JetStream, Postgres outbox, leader-elected drain |
| gordon-exchange | 5.0.2 | Stable | Binance Futures + Spot REST + WS + rate limiter + FeeModel |
Test infrastructure (kellnr, dev-deps only)
| Crate | Version | Role |
|---|---|---|
| gordon-test-db | 1.1.1 | Per-test fresh Postgres clone (template-based), optional NATS helper |
Runtime services (container, srv-apps)
One-process-per-service on srv-apps (Pi5, ARM64). Ports are Docker-internal except gordon-console.
| Service | Version | Port | Role |
|---|---|---|---|
| gordon-migrate | 3.25.4 | — | One-shot schema migrator. Owns migrations/. Exits 0/1. |
| gordon-data | 3.6.0 | 8081 | Market data ingest (Binance WS), sole writer of market_data.*, NATS market.klines.> producer |
| gordon-risk | 3.4.1 | 8082 | 5 portfolio circuit breakers, halt-latch state machine, flatten authority |
| gordon-manager | 3.8.0 | 8083 | Control plane + console BFF, bot lifecycle, backtests, WS fanout |
| gordon-bot | 4.6.0 | 8084 | Pure strategy engine — no exchange keys, one container per strategy |
| gordon-executor | 5.3.0 | 8085 | Sole trading-key holder, intent consumer, fill writer, reconcile on restart |
Console
| Project | Version | Role |
|---|---|---|
| gordon-console | 1.28.0 | Next.js 16 operator UI. App Router, Auth.js v5 + Kanidm OIDC. Operator-exposed on port 3000. |
Lab
| Project | Version | Role |
|---|---|---|
| gordon-lab | 0.1.0 | Python research lab. Read-only DB access via gordon_lab_reader. Walk-forward, ablation, ML. Never executes trades. |
Retired components
These no longer exist as standalone crates or services. Do not reference them as current.
| Component | Retired | Absorbed into |
|---|---|---|
| gordon-core | 2026-04-24 (H2b) | gordon-exchange 2.0.0 |
| gordon-contracts | 2026-05-15 (7.0 split) | Split into gordon-kernel + gordon-domain + gordon-protocol |
| Paper-trading simulator | gordon-exchange 3.0.0 | Binance testnet is the forward-test gate |
Separation of concerns quick-reference
- Market data writes — gordon-data only (
market_data.*). - Trading-key holder — gordon-executor only.
- Risk authority — gordon-risk commands executor + bots.
- Bot lifecycle — gordon-manager orchestrates via docker-socket-proxy.
- Browser writes — proxied through gordon-manager BFF. No second-token surfaces.
- Research — gordon-lab, read-only, never executes.
Full topology: Event Bus Topology.