Story: ORE import pipeline
Table of Contents
This page documents a story in Sprint 16. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
End-to-end ORE instrument import: dispatch pipeline; equity / FX exotic / commodity / scripted / composite mappers; remaining mappers + roundtrip tests; instrument data persistence; instrument-trade model refactor + portfolio export; server-side import via ores.ore.service.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 16 |
| Now | Completed 2026-04-04. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-04-04 |
Continued from: Fix ORE import bugs (sprint 15). Bug-fix sprint that closed the previous round of ORE import issues; this sprint takes ORE import to full end-to-end coverage (dispatch, mappers for every instrument family, persistence, server-side service).
Acceptance
- All tasks complete; PR-by-PR breakdown in
git log.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Add commodity, scripted and composite instrument mappers | DONE | 2026-05-20 | 2026-04-04 | Commodity + composite + scripted mappers for ORE XML → ORES; round-trip tests; unified trade mapper updates. |
| Add equity and FX exotic instrument mappers | DONE | 2026-05-20 | 2026-04-04 | equity_instrument_mapper; FX mapping extended to exotics (barriers, digitals, accumulators); unified trade dispatch updates + round-trip fidelity tests. |
| Add ORE instrument dispatch pipeline | DONE | 2026-05-20 | 2026-04-04 | map_instrument std::variant-based dispatch wired into import pipeline; credit instrument mapper + Thing 3 tests; BondOption + BondTRS mapper support. |
| Add remaining instrument mappers and roundtrip tests | DONE | 2026-05-20 | 2026-04-04 | Forward + reverse mapping for BondRepo, TotalReturnSwap, ContractForDifference + various barrier and scripted options; new round-trip test suite; equity mapper edge-case fixes. |
| Instrument-trade model refactor and portfolio export | DONE | 2026-05-20 | 2026-04-04 | instrument_family discriminator + instrument_id UUIDs link trades to product-specific extension tables; new get_instrument_for_trade + export_portfolio NATS endpoints; thread-safe UUID generation; N+1 query awareness. |
| Persist instrument data on ORE trade import | DONE | 2026-05-20 | 2026-04-04 | Update import structure to dispatch type-specific save requests for instrument data alongside trade creation. |
| Add server-side ORE import via ores.ore.service | DONE | 2026-05-20 | 2026-04-04 | ores.ore.api + ores.ore.service microservice; NATS orchestration; ores.storage component for file management; storage_transfer + http_client + archiver helpers; path traversal fix. |
Decisions
- Final v0 sprint
- capture everything landed under v0 honestly; this is the closing chapter of v0.
Out of scope
- Anything explicitly carried forward to v1.
See also
None.