Story: Move book to refdata

Table of Contents

This page documents a story in Sprint 23. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

No cross-component leakage: Book, BookStatus, and RegulatoryBookType have their C++ backend correctly in ores.refdata already; get their Qt CRUD code and plugin wiring fully out of ores.qt/trading=/ =TradingPlugin and into ores.qt/refdata=/=RefdataPlugin too, before any further codegen-template drift work touches them again — avoids regenerating and manually re-testing an entity twice (once in the wrong plugin, once after relocation).

Portfolio has the same problem but is deliberately excluded from this story's scope, so its relocation can be picked up independently (in parallel, in a different environment) without contention here.

Status

Field Value
State DONE
Parent sprint Sprint 23
Now Nothing.
Waiting on Nothing.
Next Nothing – Book codegen drift remediation unblocked.
Last touched 2026-07-11

Acceptance

  • grep -rn "BookController\|BookStatusController\|RegulatoryBookTypeController" projects/ores.qt/trading/src/TradingPlugin.cpp returns no construction/menu-wiring hits — only, if needed, consumption via a pointer passed in from RefdataPlugin for the composite Explorer views.
  • RefdataPlugin.cpp constructs all three controllers and contributes their menu entries (Reference Data menu and/or the shared Trading Codes submenu, matching the existing Purpose Types pattern).
  • Full build (api/core/service/qt.refdata/qt.trading/qt.exe) is clean.
  • Manual QA: Book, Book Statuses, and Regulatory Book Types list/detail/history windows all open from their new menu location and behave identically to before the move (login, list, add, edit, save, history) — one consolidated pass, not per-entity.
  • Book codegen drift remediation is unblocked.

Tasks

Task State Start End Description
Move Book, BookStatus, and RegulatoryBookType Qt CRUD to RefdataPlugin DONE 2026-07-11 2026-07-11 Moved; also fixed a missing ORES_QT_REFDATA_EXPORT (cross-.so RTTI) and relocated Book Statuses/Regulatory Book Types to a new Reference Data > Book Codes submenu (not Trading Codes) per manual QA feedback. All 7 scenario steps PASS.

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)