Task: Migrate currency's synthetic-currency tracking onto the generic client model
This page documents a task in the Commission: currency story. It captures the goal, current status, acceptance, and any notes or results.
Goal
ClientCurrencyModel is the last of the 12 Qt output files still
hand-written after the "Sync Qt codegen for currency" task
(EA647CBC). It carries a currency-specific feature —
generated-but-unsaved rows shown in blue
(add_synthetic_currencies=/=is_synthetic=/=mark_as_saved=/
=clear_synthetic_markers, woven into the data() override's
Qt::ForegroundRole colouring) — with no equivalent in
AbstractClientModel or the client_model codegen template. Either
generalise it as a template capability (if other entities would
plausibly want the same "synthetic row" highlighting), or migrate it
onto AbstractClientModel as a protected extension point entities
opt into, or document a reason it should stay entity-specific
hand-written code long-term.
Landing this unblocks regenerating ClientCurrencyModel for real,
which currently means currency's list view is missing 5 columns
already configured in the model
(spot_days=/=deliverable=/=day_basis=/=base_precedence=/
=holiday_calendar) but never surfaced because regeneration has been
deferred.
Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Commission: currency |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing — see Rethink synthetic reference-data generation across entities instead. |
| Last touched | 2026-07-08 |
Acceptance
ClientCurrencyModel.{hpp,cpp}regenerates with zero diff (or every delta classified/decided), same as the other 11 currency Qt files.- The 5 new list-view columns appear in the regenerated output.
- Synthetic-row highlighting behaviour is preserved (verified live or by careful code comparison, not just compilation).
- Build passes.
Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
Notes
PRs
| PR | Title |
|---|---|
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|