Agent collects · Hub decides · Experience presents
A deliberate separation of responsibilities that keeps a large trading operation correct, observable and maintainable.
Agent — Collect
Runs on each Windows VPS beside MetaTrader. Builds a Digital Twin: terminals, accounts, brokers, EAs, magics, positions, pending orders, journals and logs. It sends facts and receives commands — nothing else.
Hub — Decide
The Linux brain (FastAPI). Decides roles & copy-trade pairing across VPS, applies auto-freeze, computes risk/health, and runs the 10-stage strategy stack. All DB access through one layer.
Experience — Present
Mission Control and drill-downs render engine output only. Every number carries a ◈ source tag; the UI never computes, decides, or invents.
Why the split matters
Correct by construction, easy to scale
Single source of truth
Because only the Hub decides, there is exactly one place for every rule — no duplicated logic between agent, UI and API.
Thin agents, rare updates
Agents carry no business logic, so new features usually ship to the Hub only — no fleet-wide agent redeploys.
Deterministic results
The same inputs always produce the same engine output — verified across SQLite and PostgreSQL backends.
Additive operations
Audit, metrics, backup, DR and HA are layered on top without touching the engine or its results.