Coordination Pipeline
How the agents coordinate to turn market data into a per-user, risk-filtered, execution-ready trade signal.
The Pipeline
Every perp trade recommendation follows the same path. No shortcuts, no special cases. (Prediction-market reads run on their own simpler track inside Plop and do not flow through this chain.)
Vanta (structure) ─┐
Luma (signals) ──┤── Riven (consensus) → Brix (per-user risk) → Koda (execution) → Trading Engine
Meridian (macro) ──┘Three sensing agents publish independently. Riven debates their opinions and publishes one plan. Brix sizes it per user. Koda wraps it with execution guidance. The trading engine fills it.
Step by Step
1. Environment Read
Three agents run in parallel on independent triggers:
| Agent | Trigger | What it publishes |
|---|---|---|
| Vanta | Candle close (default 15m) | Structure, regime, momentum, volume, outlook |
| Luma | Candle close (default 5m) | OI, funding, volume, flow → directional bias score (-100 to +100) |
| Meridian | Macro release events + periodic refresh | Sentiment score (-100 to +100), catalyst alerts |
They don't call each other. They don't share state. They publish.
2. Consensus
On each candle close at Riven's trigger timeframe, Riven:
- Waits ~15 seconds for the upstream analyses to land.
- Opens a structured debate among Vanta, Luma, and Meridian.
- Collects each agent's opinion: direction, confidence, key levels, reasoning.
- Synthesizes one recommendation and applies penalties for stale data, missing agents, or strong disagreement.
- Publishes if confidence clears the threshold (default 0.6). Otherwise, silence.
The full debate is visible in the War Room.
3. Per-User Risk Filter
Brix takes the one Riven recommendation and evaluates it for every active user:
- Pre-filter — zero balance, max positions, daily loss limit
- Exchange routing — pick the user's best exchange (or paper)
- Personal scoring — adjust direction/confidence against user's strategy profile
- Risk evaluation — first-trade cap, confidence scaling, portfolio risk impact, exposure cap
- Reservation accounting — prevent over-allocation in the same round
Users that pass get a per-user signal. Users that don't are rejected with a recorded reason.
Brix is deterministic. No AI in the risk path. Same inputs, same decision.
4. Execution Guidance
Koda wraps each per-user signal with:
- Entry style (sniper / ladder / market)
- Order type (market / limit)
- Slippage estimate
- Human-readable execution notes
The wrapped notification is what you see and what the auto-execution path consumes.
5. Your Decision
Autonomy levels per agent decide how much confirmation is required. Even at Full Auto, Brix's risk limits are never bypassed.
6. Trading Engine
The engine runs the order via the configured exchange adapter and manages the position lifecycle.
When Agents Disagree
Disagreement is handled inside the consensus debate, not in a separate layer:
- Luma bullish + Vanta uncertain — Riven reduces synthesized confidence. May fall below the broadcast threshold.
- Riven aggressive + Meridian risk-off — macro penalty pulls confidence down.
- Upstream agent missing or stale — staleness penalty applied automatically.
If penalties push confidence below the threshold, Riven publishes nothing. The desk stays silent rather than guesses.
Trigger Cadence
The pipeline is event-driven, not polled:
| Agent | Fires on |
|---|---|
| Vanta | Candle close (default 15m) |
| Luma | Candle close (default 5m) |
| Meridian | Macro release events + scheduled refresh |
| Riven | Candle close (default 15m), after upstream wait |
| Brix | Each Riven recommendation |
| Koda | Each Brix per-user signal |
User Chat Routing
When you send a message to the desk, the Orchestrator routes it to the right agent. It uses keyword matching first, then falls back to an intelligent router if no keyword matches. Guards prevent runaway conversations: max 5 hops per turn, a token budget, and a cap of 3 agents per turn. The agent registry refreshes automatically so the Orchestrator always knows what's available.
Why This Architecture
- Specialization. Each agent does one thing well instead of one model doing everything poorly.
- Consensus, not autocracy. Riven won't publish unless the desk reaches sufficient agreement.
- Deterministic risk. Brix is pure logic. No hallucination risk in the risk path. Fully auditable.
- Transparency. The full consensus debate is visible. You can read the reasoning chain before you approve.
- Graceful degradation. If an upstream agent goes offline, Riven applies a penalty and continues with reduced confidence — the desk doesn't crash.