Agentic Trading
Decisions

ADR-0008: No live dashboard in MVP

  • Status: accepted
  • Date: 2026-05-27
  • Reaffirmed by: ADR-0019 — the chat agent's coach mode is the formal "what's happening?" surface that replaces a streaming dashboard. The no-dashboard call stands; coach mode covers the gap with grounded, on-demand answers.

Context

A "live trading dashboard" (streaming equity curve, position deltas, fills appearing in real-time) is the natural expectation for a trading product. It's also genuinely expensive to build well:

  • WebSocket layer from server to browser
  • Per-deployment subscription management
  • Concurrency / re-render budget on the client
  • Visual design + charting library investment
  • Testing under various network conditions

It is also not the critical path to validating the product. The product hinges on whether Skills can be authored, simulated, and deployed safely — not on whether the deployer can watch ticks roll in real-time.

Decision

MVP ships without a live dashboard. The deployment detail page is read-on-demand:

  • Current agent_state (single row read)
  • Recent decision_snapshots (paginated, manual refresh)
  • Recent agent_logs (paginated, manual refresh)
  • Recent agent_commands + ack status
  • Chat tab for asking the agent about current state

If the deployer wants a fresh state read, they click Refresh. If they want to know "what's happening right now?", they ask the chat agent.

Alternatives considered

Alt A — Full live dashboard with Supabase Realtime subscriptions

  • Subscribe to agent_state rows, push deltas to browser
  • Build effort: weeks of design + impl + polish
  • Not picked: not on the MVP critical path. Defer to Phase 4+.

Alt B — Polling at fixed interval (e.g., every 5s)

  • Cheap to build, looks "live"
  • Wastes bandwidth + DB load when nobody's looking
  • Not picked: not worth the half-measure. If we're going to do live, do it right with subscriptions.

Alt C — Server-Sent Events on demand (open when page open)

  • Like Supabase Realtime but built ourselves
  • Reasonable middle ground
  • Not picked: still on the wrong side of "is this MVP-critical?"

Consequences

Positive

  • Weeks saved on MVP build
  • Lower hosting cost in MVP (no persistent UI connections)
  • Chat agent fills the gap for "what's happening now?" — answering with grounded data, not just a chart
  • Forces us to validate the core value (skills + sim + live) without leaning on dashboard sizzle

Negative / trade-offs

  • The deployment detail page feels static compared to other trading tools
  • Users have to remember to refresh, or click suggested chat prompts
  • Some users will ask for it on day one — we'll point them at the roadmap

Things we'll need to revisit

  • If user feedback consistently demands real-time visualization → Phase 4 priority
  • If we add notifications ("liquidation imminent", "daily loss halt triggered") via email/Discord/Telegram, that may obviate most of the demand for a live dashboard

References

On this page