Story: Source-agnostic market data control panel
Table of Contents
This page documents a story in Sprint 21. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
The control plane of the Market Data Architecture.
Goal
A generic Qt control panel to manage market data feeds — list, start/stop, monitor — driven by the feed-config registry and a source-agnostic control contract, with no knowledge of what produces each feed.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 21 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-06-28 |
Acceptance
- A Market Data menu entry opens a control panel listing feeds with state (running/stopped/health), read from the feed-config registry. (C1)
- Start/Stop actions drive a feed via a source-agnostic control contract (toggle
feed-config
enabled=/=autoand/or emit a control message the owning producer handles). - For the PoC slice it controls the synthetic FX spot feed; data appears/stops in the chart accordingly.
- No synthetic-specific assumptions in the panel; a new producer needs no panel change.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Qt UI to map system feeds to raw producers | DONE | 2026-07-02 | A Qt screen to view system market-data feeds and choose which raw synthetic producer each is bound to. | |
| Qt FX spot grid for live system feeds | DONE | 2026-07-02 | A one-row-per-system-feed grid showing live mid, change and status, flashing green/red on each tick. |
Decisions
Out of scope
Result
MarketSimulatorWindow provides start/stop control over synthetic feeds bound to system feed slots. FxSpotGridWindow provides a live one-row-per-feed grid with mid price, direction colouring, and staleness badge. Both delivered in PR #1386.