Task: CDM Phase 1: Rates instrument domain model
This page documents a task in the CDM instrument domain models story. It captures the goal, current status, acceptance, and any notes or results.
Goal
Phase 1 of the CDM-inspired instrument design: rates instruments (Swap, CrossCurrencySwap, CapFloor, Swaption).
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | CDM instrument domain models |
| Now | Completed 2026-03-26. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-03-26 |
Acceptance
- SQL: ores_trading_instruments_tbl + ores_trading_swap_legs_tbl + notify triggers + drop files; trading_create.sql + populate_trading.sql + seed data.
- Domain: instrument + swap_leg structs with JSON + table I/O + generator + protocol.
- Repository: entities + mappers + repositories + services.
- Server: messaging handler + registrar.
- Qt UI: ClientInstrumentModel + InstrumentMdiWindow + InstrumentDetailDialog + InstrumentHistoryDialog + InstrumentController + MainWindow integration.
- CLI commands deferred to a follow-up story.
Plan
Captured during execution; cleared into the parent story on close.
Notes
PR #569. CLI deferred but otherwise complete.
Result
Rates instruments first slice complete.