Task: CDM Phase 3: Bond 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 3: bond instruments (Bond, ForwardBond, CallableBond, ConvertibleBond, BondRepo).

Status

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

Acceptance

  • SQL: ores_trading_bond_instruments_tbl + notify trigger (issuer, currency, face_value, coupon_rate, coupon_frequency_code, day_count_code, issue_date, maturity_date, optional fields for settlement_days + call_date + conversion_ratio + description); trading_create.sql + drop_trading.sql.
  • Domain: bond_instrument struct with JSON + table I/O + protocol messages.
  • Repository: entity + mapper + repository; bond_instrument_service.
  • Server: messaging handler + registrar.
  • Qt UI: ClientBondInstrumentModel + BondInstrumentMdiWindow + BondInstrumentDetailDialog + BondInstrumentHistoryDialog + BondInstrumentController + MainWindow integration.
  • Database recreate required.

Plan

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

Notes

Final phase of the four-phase CDM rollout. The numbering (1-2-4-3) reflects the historical order in v0; bond came last because it has more variants.

Result

Bond instruments complete; CDM domain layer done.

Emacs 29.1 (Org mode 9.6.6)