Story: Finish integrating calendar reference data: XML export and DQ publish
Table of Contents
This page documents a story in Sprint 24. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Split from Sprint 23's Model calendars as proper ORE Studio reference data at close: that story shipped the calendar domain model, the FK relationships from currency/currency_pair_convention, the Qt CRUD screens, and the currency_country junction (5/7 of its own acceptance). Two integration items remain, both about making the new calendar model actually reachable by the rest of the system rather than just existing in the database:
ores.ore's conventions_mapper (or successor) should build ORE's comma-joined calendar-name string from the FK relationship(s) only at the XML export boundary — the domain model itself never stores the joined string.currency_countryandcurrency_calendar(andcurrency_pair_convention_calendar) need wiring into the DQ bundle publication pipeline —calendar=/=calendar_typealready have this from the entity task.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 24 |
| Now | Both tasks done. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-07-24 |
Acceptance
ores.ore's conventions_mapper builds ORE's comma-joined calendar-name string only at the XML export boundary, from the FK relationship(s); the domain model itself never stores the joined string.currency_country,currency_calendar, andcurrency_pair_convention_calendarare published through the DQ bundle pipeline (artefact tables + publish-from-dq functions + NATS handlers).
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Build ORE's comma-joined calendar string only at the XML export boundary | DONE | 2026-07-22 | 2026-07-23 | ores.ore's conventions_mapper (or successor) should build ORE's comma-joined calendar-name string from the FK relationship(s) only when exporting to XML. |
| DQ-publish the calendar reference data | DONE | 2026-07-23 | 2026-07-24 | Wire currency_country, currency_calendar, and currency_pair_convention_calendar into the DQ bundle publication pipeline. |
Decisions
currency_calendarandcurrency_pair_convention_calendarturned out to already be fully DQ-publish-wired, delivered early alongside thecalendar=/=calendar_typepipeline (0a167d548 [sql/dq] Add DQ publish pipeline for calendars and calendar types) — onlycurrency_countryhad a real gap by the time the DQ-publish task started.currency_country's DQ artefact seed script copies the liveores_refdata_currency_countries_tblverbatim rather than deriving it, unlikecurrency_calendars(which derives calendar assignments from country matches) —currency_countryitself is the source of truth, not something computed from other data.
Out of scope
- Everything already shipped by the parent story (entity model, FK relationships, Qt screens, currency_country junction) — see Model calendars as proper ORE Studio reference data.
- The three extras (holiday-aware date picker, list-pagination fix, QuantLib materialization) — already split off separately into Calendar entity follow-ups in the product backlog.