Extract 9 new sub-crates from the ml monolith to enable parallel compilation across the workspace: New crates (this commit): - ml-features (282 tests): feature engineering, 21 modules - ml-labeling (45 tests): triple barrier, meta-labeling, fractional diff - ml-ensemble (116 tests): ensemble coordination, voting, confidence - ml-hyperopt (47 tests): core PSO/TPE optimizer, parameter space - ml-checkpoint (41 tests): checkpoint persistence, compression, signing - ml-regime (68 tests): CUSUM, Bayesian changepoint, regime classification - ml-data-validation (67 tests): FDR correction, CPCV, data quality - ml-risk (33 tests): neural VaR, Kelly criterion, circuit breakers - ml-validation (43 tests): statistical validation, walk-forward, DSR Extended existing crates: - ml-dqn: added evaluation/ (backtesting engine, metrics, reports) and checkpoint implementation - ml-supervised: added checkpoint implementations - ml-core: added shared types needed by new sub-crates Pattern: each module in ml/ becomes a thin facade (pub use subcrate::*) with bridge modules staying in ml for cross-model adapter code. Dead code deleted (~7K lines): - 13 undeclared files in microstructure/ (never compiled) - 7 undeclared files + tests/ in risk/ (never compiled) - parquet_io, cache_service, cache_storage, minio_integration (unused) - extraction_wave_d_impl.rs (bare fn outside impl block) All 2,746 sub-crate tests + 951 ml tests pass. Full workspace builds clean. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
78 lines
2.7 KiB
Rust
78 lines
2.7 KiB
Rust
#![deny(clippy::unwrap_used, clippy::expect_used)]
|
|
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
|
|
#![allow(dead_code)]
|
|
#![allow(missing_docs)]
|
|
#![allow(missing_debug_implementations)]
|
|
#![allow(unused_crate_dependencies)]
|
|
#![allow(clippy::float_arithmetic)]
|
|
#![allow(clippy::non_ascii_literal)]
|
|
#![allow(clippy::str_to_string)]
|
|
#![allow(clippy::partial_pub_fields)]
|
|
#![allow(clippy::multiple_inherent_impl)]
|
|
#![allow(clippy::same_name_method)]
|
|
#![allow(clippy::shadow_reuse)]
|
|
#![allow(clippy::shadow_unrelated)]
|
|
#![allow(clippy::shadow_same)]
|
|
#![allow(clippy::doc_markdown)]
|
|
#![allow(clippy::indexing_slicing)]
|
|
#![allow(clippy::missing_const_for_fn)]
|
|
#![allow(clippy::module_name_repetitions)]
|
|
#![allow(clippy::integer_division)]
|
|
#![allow(clippy::cognitive_complexity)]
|
|
#![allow(clippy::similar_names)]
|
|
#![allow(clippy::clone_on_ref_ptr)]
|
|
#![allow(clippy::too_many_lines)]
|
|
#![allow(clippy::as_conversions)]
|
|
#![allow(clippy::cast_precision_loss)]
|
|
#![allow(clippy::cast_possible_truncation)]
|
|
#![allow(clippy::default_numeric_fallback)]
|
|
#![allow(clippy::arithmetic_side_effects)]
|
|
#![allow(clippy::needless_range_loop)]
|
|
#![allow(clippy::into_iter_on_ref)]
|
|
#![allow(clippy::new_without_default)]
|
|
#![allow(clippy::manual_let_else)]
|
|
#![allow(clippy::unnecessary_wraps)]
|
|
#![allow(clippy::too_many_arguments)]
|
|
#![allow(clippy::must_use_candidate)]
|
|
#![allow(clippy::missing_errors_doc)]
|
|
#![allow(clippy::cast_sign_loss)]
|
|
#![allow(clippy::cast_possible_wrap)]
|
|
#![allow(clippy::cast_lossless)]
|
|
#![allow(clippy::unused_async)]
|
|
#![allow(clippy::match_same_arms)]
|
|
#![allow(clippy::unused_self)]
|
|
#![allow(clippy::map_err_ignore)]
|
|
#![allow(clippy::single_match_else)]
|
|
#![allow(clippy::wildcard_imports)]
|
|
#![allow(clippy::unnecessary_cast)]
|
|
|
|
//! Regime detection and structural break analysis for Foxhunt ML.
|
|
//!
|
|
//! This crate provides structural break detection and regime classification:
|
|
//! - CUSUM-based changepoint detection (mean, variance, multivariate)
|
|
//! - Bayesian online changepoint detection
|
|
//! - Regime classifiers (trending, ranging, volatile)
|
|
//! - Regime orchestrator (coordinates detection, classification, persistence)
|
|
//! - Transition matrix and probability features
|
|
|
|
// Re-export core types so modules can use `crate::X`
|
|
pub use ml_core::types::OHLCVBar;
|
|
pub use ml_core::MLError;
|
|
pub use ml_ensemble::MarketRegime;
|
|
|
|
// Wave D: Structural Breaks Detection (Agents D1-D4)
|
|
pub mod bayesian_changepoint;
|
|
pub mod cusum;
|
|
pub mod multi_cusum;
|
|
pub mod pages_test;
|
|
|
|
// Wave D: Regime Classification (Agents D5-D8)
|
|
pub mod orchestrator;
|
|
pub mod ranging;
|
|
pub mod transition_matrix;
|
|
pub mod trending;
|
|
pub mod volatile;
|
|
|
|
// Wave D: Transition Probability Features (Agent D15)
|
|
pub mod transition_probability_features;
|