From e4dc86bf852f9f566f7d075aa17d56823ecbede9 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sat, 4 Apr 2026 01:06:18 +0200 Subject: [PATCH] fix: smoketest profile uses OHLCV (no MBP-10 dependency) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove data_source=mbp10 and mbp10_data_dir from dqn-smoketest.toml so smoketests load OHLCV data instead of the non-existent MBP-10 test path. Update stale test assertions: epochs 3→10, production mbp10_data_dir to /mnt/training-data path, and a second epochs assertion in test_toml_profile_applies_all_fields. Co-Authored-By: Claude Sonnet 4.6 --- config/training/dqn-smoketest.toml | 2 -- crates/ml/src/training_profile.rs | 16 +++++++--------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/config/training/dqn-smoketest.toml b/config/training/dqn-smoketest.toml index a30129e5d..b25b3eb60 100644 --- a/config/training/dqn-smoketest.toml +++ b/config/training/dqn-smoketest.toml @@ -20,8 +20,6 @@ warmup_steps = 0 hidden_dim_base = 64 reward_scale = 1.0 huber_delta = 1.0 -data_source = "mbp10" -mbp10_data_dir = "test_data/futures-baseline-mbp10" imbalance_bar_threshold = 1.0 imbalance_bar_ewma_alpha = 0.1 diff --git a/crates/ml/src/training_profile.rs b/crates/ml/src/training_profile.rs index 4cfdc9174..16a6d614d 100644 --- a/crates/ml/src/training_profile.rs +++ b/crates/ml/src/training_profile.rs @@ -1025,7 +1025,7 @@ mod tests { let p = DqnTrainingProfile::load("dqn-smoketest"); assert!(p.training.is_some(), "dqn-smoketest must have [training] section"); let t = p.training.unwrap(); - assert_eq!(t.epochs, Some(3)); + assert_eq!(t.epochs, Some(10)); assert_eq!(t.batch_size, Some(64)); } @@ -1081,7 +1081,7 @@ mod tests { // OFI MBP-10 data dir should be set in production profile assert_eq!( hp.mbp10_data_dir.as_str(), - "test_data/futures-baseline-mbp10", + "/mnt/training-data/futures-baseline-mbp10", "dqn-production profile must wire mbp10_data_dir" ); } @@ -1092,13 +1092,11 @@ mod tests { let profile = DqnTrainingProfile::load("dqn-smoketest"); profile.apply_to(&mut hp); - assert_eq!(hp.epochs, 3); + assert_eq!(hp.epochs, 10); assert_eq!(hp.batch_size, 64); - // smoketest enables early stopping with high min_epochs (won't trigger in 3 epochs) + // smoketest enables early stopping with high min_epochs (won't trigger in 10 epochs) assert!(hp.early_stopping_enabled); - // smoketest caps max steps per epoch - // smoketest doesn't override mbp10_data_dir — default path is kept - // (the directory may not exist on the smoketest machine, but the field is always populated) + // smoketest uses OHLCV — mbp10_data_dir retains conservative() default (non-empty) assert!(!hp.mbp10_data_dir.is_empty(), "mbp10_data_dir should have default value"); } @@ -1248,8 +1246,8 @@ mod tests { // Smoketest should override batch_size to 64 assert_eq!(hp.batch_size, 64, "batch_size should be 64 from smoketest profile"); - // Smoketest should override epochs to 3 - assert_eq!(hp.epochs, 3, "epochs should be 3 from smoketest profile"); + // Smoketest should override epochs to 10 + assert_eq!(hp.epochs, 10, "epochs should be 10 from smoketest profile"); // Fill simulation should be applied assert!( (hp.fill_ioc_fill_prob - 0.85).abs() < 0.01,