Task: CDM Phase 2: FX instrument domain model

Table of Contents

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 2: FX instruments (FxForward, FxSwap, FxOption).

Status

Field Value
State DONE
Parent story CDM instrument domain models
Now Completed 2026-03-27.
Waiting on None.
Next None.
Last touched 2026-03-27

Acceptance

  • SQL: ores_trading_fx_instruments_tbl + notify trigger (bought/sold currencies + amounts, value_date, settlement, option fields for FxOption); trading_create.sql + drop_trading.sql.
  • Domain: fx_instrument struct with JSON + table I/O + generator + protocol.
  • Repository: entity + mapper + repository; fx_instrument_service.
  • Server: messaging handler + registrar.
  • Qt UI: ClientFxInstrumentModel + FxInstrumentMdiWindow + FxInstrumentDetailDialog + FxInstrumentHistoryDialog + FxInstrumentController + MainWindow integration.
  • Database recreate required to pick up the new table.

Plan

Captured during execution; cleared into the parent story on close.

Notes

Phase 2 of the four-phase CDM-inspired rollout; database recreate is the deferred follow-up.

Result

FX instruments complete.

Emacs 29.1 (Org mode 9.6.6)