Task: Calendar event store: calendar_event + diary_entry_types + US.FOMC calendar

Table of Contents

This page documents a task in the FOMC-dated OIS short end: calendar-event model and flat-forward pillars story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Implement the decided event-store model from the FOMC analysis (story * Decisions D1): a single calendar_event table carrying typed diary entries, anchored to a calendar – never a table per calendar or per type. The FOMC calendar is a row in the existing calendars table (US.FOMC, calendar_type central_bank_meeting, country_code US, source federalreserve.gov, is_editable true), and currency_calendars links USD to it. Holidays keep their existing machinery untouched.

Status

Field Value
State DONE
Parent story FOMC-dated OIS short end: calendar-event model and flat-forward pillars
Now calendar_event + diary_entry_type modelled (uuid-surrogate-lookup / simple-lookup profiles), codegen'd, SQL wired; vocabulary, US.FOMC row and USD link seeded.
Waiting on Nothing.
Next D2 (unified tenor resolution): the two red SCHEDULE_STEP tests are this task's contract.
Last touched 2026-08-10

Acceptance

  • calendar_event entity codegen'd in ores.refdata (bitemporal, sibling of calendar_rules/calendar_exceptions): id, calendar_code FK to calendars, event_date, diary_entry_type FK to diary_entry_types, name, description nullable, source nullable, standard audit/temporal columns.
  • diary_entry_types vocabulary seeded: holiday, central_bank_meeting, data_release, other – open-ended.
  • US.FOMC row in calendars (calendar_type central_bank_meeting, country_code US, source federalreserve.gov, is_editable true); currency_calendars links USD <-> US.FOMC.
  • Holiday machinery (calendar_rules, calendar_exceptions, calendar_date) unchanged.
  • The FOMC calendar's meeting dates are entered as calendar_event rows (diary_entry_type central_bank_meeting) – data on the store, not a table per calendar.

Plan

  1. Model ores.refdata.calendar_event (bitemporal domain entity, profile uuid-surrogate-lookup) + ores.refdata.diary_entry_type (simple-lookup vocabulary), both scaffolded via compass add entity_org and written in the unified column format.
  2. Codegen both; wire refdata_create.sql / refdata_drop.sql \\ir manifests (diary_entry_types before calendar_events in create; reverse in drop); regenerate the five component file lists.
  3. Populate: refdata_diary_entry_types_populate.sql (new), US.FOMC row in refdata_calendars_populate.sql (ORE-native section, source federalreserve.gov, is_editable true), USD -> US.FOMC link in refdata_currency_calendars_populate.sql. calendar_types needed no change (all five values already seeded).

Notes

  • The refdata suite stays at its committed baseline: 71/73 pass, the two red tests are D2's SCHEDULE_STEP contract, not this task's.

Result

Done. The store exists end to end: models, generated C++/SQL, seeded reference data. Holidays untouched. D4 seeds the FOMC meeting dates onto the store; D2 consumes central_bank_meeting events via the US.FOMC calendar's FOMC_MEETING schedule.

Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario, run through the QA Validation Runner panel) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

PRs

PR Title
#1933 [refdata] D1: calendar-event store — calendar_event + diary_entry_type entities, US.FOMC

Review

Comment summary File Decision Notes
       

Result

Emacs 29.3 (Org mode 9.6.15)