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:

  1. 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.
  2. currency_country and currency_calendar (and currency_pair_convention_calendar) need wiring into the DQ bundle publication pipeline — calendar=/=calendar_type already 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, and currency_pair_convention_calendar are 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_calendar and currency_pair_convention_calendar turned out to already be fully DQ-publish-wired, delivered early alongside the calendar=/=calendar_type pipeline (0a167d548 [sql/dq] Add DQ publish pipeline for calendars and calendar types) — only currency_country had a real gap by the time the DQ-publish task started.
  • currency_country's DQ artefact seed script copies the live ores_refdata_currency_countries_tbl verbatim rather than deriving it, unlike currency_calendars (which derives calendar assignments from country matches) — currency_country itself is the source of truth, not something computed from other data.

Out of scope

Emacs 29.3 (Org mode 9.6.15)