diff --git a/crates/ml/examples/alpha_compose_backtest.rs b/crates/ml/examples/alpha_compose_backtest.rs index f434a4a99..0c83b6552 100644 --- a/crates/ml/examples/alpha_compose_backtest.rs +++ b/crates/ml/examples/alpha_compose_backtest.rs @@ -382,6 +382,7 @@ fn main() -> Result<()> { cli.max_snapshots, Some(&alpha_cache), cli.real_spread, + None, // E.4.A T4: mbp10_dir wiring + --use-real-depth flag lands in T5 )?; let n_total = rows.len(); info!("Loaded {} snapshots", n_total); diff --git a/crates/ml/examples/alpha_dqn_h600_smoke.rs b/crates/ml/examples/alpha_dqn_h600_smoke.rs index 919e94dbb..8bd1c6f1d 100644 --- a/crates/ml/examples/alpha_dqn_h600_smoke.rs +++ b/crates/ml/examples/alpha_dqn_h600_smoke.rs @@ -650,6 +650,7 @@ fn main() -> Result<()> { cli.max_snapshots, alpha_cache_vec.as_deref(), cli.real_spread, + None, // E.4.A T4: mbp10_dir wiring + --use-real-depth flag lands in T5 )? } (None, Some(mbp10)) => { diff --git a/crates/ml/src/env/loaders.rs b/crates/ml/src/env/loaders.rs index 387a61109..99f96f90f 100644 --- a/crates/ml/src/env/loaders.rs +++ b/crates/ml/src/env/loaders.rs @@ -127,7 +127,20 @@ pub fn load_snapshots_from_fxcache( max_snapshots: usize, alpha_cache: Option<&[f32]>, use_real_spread: bool, + // Phase E.4.A.4: when Some, peek MBP-10 by timestamp to populate + // SnapshotRow.bid_l[1..10] / ask_l[1..10] from real LOB depth. + // When None, synthesize L2-L10 at ±tick offsets (current behaviour). + // This commit introduces the parameter; the real-peek implementation + // lands in Task 5 follow-on. + mbp10_dir: Option<&Path>, ) -> Result> { + if mbp10_dir.is_some() { + warn!( + "fxcache loader: mbp10_dir provided but real-peek not yet \ + implemented (Phase E.4.A Task 5 follow-on) — falling back \ + to synthesised L2-L10 offsets" + ); + } let reader = FxCacheReader::open(fxcache_path) .with_context(|| format!("open fxcache {}", fxcache_path.display()))?; let alpha_dim = reader