Story: Model market data cuts as proper ORE Studio reference data

Table of Contents

This page documents a story in Product backlog — next. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

A "cut" identifies which time-of-day market data snapshot is used for official valuation (e.g. "NY 10am", "London 4pm"). It's referenced conceptually across the codebase (see Pricing Configuration) but has no domain model anywhere — no entity, no table, no FK target. Currency pair support in reference data needs a default_cut_code on its currency_pair entity and, rather than leave it as unvalidated free text, splits proper cut modelling off into this story: a small lookup entity (code, name, description, cut time, timezone) that currency_pair and anything else needing a cut can soft-FK against.

The concept behind the word is in Cuts, the structure note that gathers the market data component, the deal component and the expiry sense this story's cut time belongs to. That note also states what this story does not cover: a cut as the whole fixed world a valuation runs against, with its own authorisation and version. This story designs the cut time as reference data and nothing more.

2. Status

Field Value
State BACKLOG
Parent sprint Product backlog — next
Now Not yet started.
Waiting on Nothing.
Next Break the story into tasks.
Last touched 2026-07-04

3. Acceptance

  • [ ] A market_data_cut (or similarly named) lookup entity exists — same shape as business_day_convention_type=/=currency_pair_classification (code, name, description, display_order), plus cut-specific attributes (cut time, timezone).
  • [ ] currency_pair gets a default_cut_code field (soft or hard FK to the new entity) added by this story — it does not exist on currency_pair today. It was dropped entirely from that entity's design rather than kept as interim free text, since nothing currently consumes it; add it back here once there's something to FK against.
  • [ ] Any other cut-code field discovered along the way is migrated onto the same FK.
  • [ ] Qt CRUD screens exist for the new entity, following the standard aux-type pattern.

4. Tasks

Task State Start End Description
         

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)