Task: FOMC bootstrap segment: pillars SPOT->1F..8F->1Y under one config
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
Bootstrap the SOFR OIS short end off consecutive FOMC-meeting-dated pillars with flat-forward (step) interpolation, transitioning to a continuous method at the long-end swap pillars, split at a defined tenor – as one configuration of the existing curve_bootstrap_engine and config schema, not special-cased engine code (story * Decisions D3).
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | FOMC-dated OIS short end: calendar-event model and flat-forward pillars |
| Now | Nothing. |
| Waiting on | Feed lifecycle harmonization (folder cascade + control-plane). |
| Next | Nothing. |
| Last touched | 2026-08-10 |
Acceptance
- ir_curve_bootstrap_pillars rows SPOT->1F, 1F->2F, …, 8F->1Y under one ir_curve_bootstrap_configs with interpolation_method FLAT_FORWARD_THEN_LOG_LINEAR and split_tenor_code = 1Y marking the boundary (settled 2026-08-10: n = 8; 1Y is the codegen default, where the Fixed-vs-Compounded-SOFR swap grid begins).
- The IR Rates synthetic feed publishes raw-grid observations at the FOMC point ids (1F..nF), so curve_republish_resolver's point-id lookup succeeds.
- The bootstrapped short end is flat (step function) between consecutive FOMC pillars and continuous beyond the split tenor; the FOMC-to-FOMC fixing schedule falls out of the pillar order.
- Provable as one configuration of the existing engine – no engine code change, no schema change beyond the event-store and resolution tasks.
Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
Notes
Blocked on the feed lifecycle harmonization story (Feed lifecycle harmonization: asset-class-agnostic feed control-plane), 2026-08-11. The remaining verification (feed end-to-end start, republish chain) needs the folder-scoped cascade to cover IR curve configs — until then the FOMC config can only be started by raw per-config requests. DB recreate and spot-checks are done; config, pillars, and market_series are seeded and live.
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 |
|---|---|
| #1953 | [marketdata,refdata,synthetic] FOMC bootstrap segment: SPOT-1F..8F-1Y pillars |
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
Result
Implemented and merged via PR #1953 (2026-08-11):
- One
ir_curve_bootstrap_configsrow for the FOMC short end withinterpolation_methodFLAT_FORWARD_THEN_LOG_LINEARandsplit_tenor_code1Y, and their_curve_bootstrap_pillarsrowsSPOT->1F,1F->2F, …,8F->1Yunder it (decision D3) – one configuration of the existing engine; no engine code change, no schema change beyond D1/D2. - Raw-grid quotes at the FOMC point ids: the IR Rates synthetic feed
template entries and
market_seriesrows for1F..=8F= are seeded, socurve_republish_resolver's point-id lookup resolves. - Verified: full build green, DB recreated (schema 0.0.25, segment
seeded and live),
compass build ratgreen, PR CI green. - The branch also carried the template-driven ZZ sentinel fix for eventing-test FK parents (calendar_rule/calendar_exception), which makes those tests pass in an isolated test tenant.
- Remaining end-to-end verification (feed start, republish chain)
needs the folder cascade to cover IR curve configs; tracked by task
folder-cascade-all-asset-classesin the feed lifecycle harmonization story (see * Notes).