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
- Model
ores.refdata.calendar_event(bitemporal domain entity, profile uuid-surrogate-lookup) +ores.refdata.diary_entry_type(simple-lookup vocabulary), both scaffolded viacompass add entity_organd written in the unified column format. - Codegen both; wire
refdata_create.sql/refdata_drop.sql\\irmanifests (diary_entry_types before calendar_events in create; reverse in drop); regenerate the five component file lists. - Populate:
refdata_diary_entry_types_populate.sql(new),US.FOMCrow inrefdata_calendars_populate.sql(ORE-native section, source federalreserve.gov, is_editable true),USD -> US.FOMClink inrefdata_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 |
|---|---|---|---|