From 492fdc025e877ccd685677ed477d238e848181f5 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Tue, 17 Mar 2026 08:38:38 +0100 Subject: [PATCH] fix(data): skip non-OHLCV record types in DBN loader instead of hard error MBP-10 .dbn files mixed into test_data/ caused OHLCV loader to crash on unknown RType 0x42. Now silently skips non-OHLCV records. Co-Authored-By: Claude Opus 4.6 (1M context) --- crates/ml/src/trainers/dqn/data_loading.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/crates/ml/src/trainers/dqn/data_loading.rs b/crates/ml/src/trainers/dqn/data_loading.rs index f8daae3d2..6327bf170 100644 --- a/crates/ml/src/trainers/dqn/data_loading.rs +++ b/crates/ml/src/trainers/dqn/data_loading.rs @@ -903,10 +903,13 @@ impl DQNTrainer { Ok(Some(record)) => { idx += 1; - // Convert RecordRef to RecordRefEnum for pattern matching - let record_enum = record - .as_enum() - .map_err(|e| anyhow::anyhow!("Failed to convert record to enum: {}", e))?; + // Convert RecordRef to RecordRefEnum for pattern matching. + // Skip records with unknown RType (e.g. MBP-10 files mixed + // into an OHLCV directory) instead of hard-erroring. + let record_enum = match record.as_enum() { + Ok(e) => e, + Err(_) => continue, // non-OHLCV record type — skip + }; match record_enum { dbn::RecordRefEnum::Ohlcv(ohlcv) => {