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.

Emacs 29.1 (Org mode 9.6.6)