Task: Move IStochasticProcess interface into ores.analytics.quant

Table of Contents

This page documents a task in the Extract stochastic process math from ores.synthetic into ores.analytics.quant story. It captures the goal, current status, acceptance, and any notes or results.

Goal

IStochasticProcess lives in ores.analytics.quant/include/ores.analytics.quant/domain, with ores.marketdata.api and ores.synthetic updated to include it from its new home.

Status

Field Value
State DONE
Parent story Extract stochastic process math from ores.synthetic into ores.analytics.quant
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-07-12

Acceptance

  • Interface moved with no behavioural change; ores.marketdata.api no longer declares it; all call sites updated; full build succeeds.

Plan

Moved i_stochastic_process.hpp verbatim (pure virtual, zero dependencies) from ores.marketdata.api/domain to ores.analytics.quant/domain, renamespacing ores::marketdata::domain::IStochasticProcess to ores::analytics::quant::domain::IStochasticProcess. Updated the four ores.synthetic.service call sites (gmm_process, arithmetic_gmm_process, ou_process, process_factory, fx_spot_feed) to include the new header and use the new namespace, and added ores.analytics.quant.lib to ores.synthetic.service/src/CMakeLists.txt (kept ores.marketdata.api.lib too — still used for other marketdata types in that component).

Notes

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
#1519 [analytics.quant] Extract stochastic process math from ores.synthetic

Review

# Comment summary File Decision Notes
1 Include order regression (ores.analytics.quant should sort before ores.marketdata.api) fx_spot_feed.hpp Accepted Fixed

Result

Interface relocated with no behavioural change. Confirmed no other component (ores.marketdata, Qt client) referenced the old location. Full build of ores.analytics.quant.lib, ores.analytics.quant.tests, ores.synthetic.api/core/service.lib and ores.synthetic.service.exe succeeds; ores.analytics.quant.tests (46499 assertions) and ores.synthetic.api.tests (71 assertions) pass locally.

Emacs 29.3 (Org mode 9.6.15)