[package] name = "adaptive-strategy" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true documentation.workspace = true publish.workspace = true keywords.workspace = true categories.workspace = true description = "Adaptive trading strategy framework with ensemble ML models and regime detection" [dependencies] # Core dependencies (using workspace dependencies) tokio = { workspace = true } tracing = { workspace = true } anyhow = { workspace = true } thiserror = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } uuid = { workspace = true } # MINIMAL numerical dependencies - HEAVY ML REMOVED # ALL HEAVY ML DEPENDENCIES REMOVED: # candle-core, candle-nn - REMOVED (moved to ml_training_service) # linfa, linfa-clustering - REMOVED (moved to ml_training_service) # smartcore - REMOVED (moved to ml_training_service) # MINIMAL time series and statistics chrono = { workspace = true } # ta - REMOVED (technical analysis moved to data crate) # Configuration (using workspace dependencies) config = { workspace = true } # ALL GPU DEPENDENCIES REMOVED - moved to ml_training_service # cudarc - REMOVED # Additional dependencies for async traits and serialization (using workspace dependencies) async-trait = { workspace = true } futures = { workspace = true } rand = { workspace = true } # Financial types rust_decimal = { workspace = true } num-traits = { workspace = true } # Internal dependencies common = { path = "../common" } # Database - optional, only when postgres feature is enabled sqlx = { workspace = true, optional = true } # Remove problematic dependencies that have compilation issues # ml.workspace = true # REMOVED - has compilation issues # trading_engine.workspace = true # REMOVED - has compilation issues # risk.workspace = true # REMOVED - has compilation issues # data.workspace = true # REMOVED - has compilation issues [features] default = ["minimal"] # MINIMAL FEATURES ONLY - ALL GPU/ML REMOVED minimal = [] # Minimal adaptive strategies without heavy ML # PostgreSQL database support for configuration loading # Enables DatabaseConfigLoader with hot-reload via NOTIFY/LISTEN # Includes: PgPool, PgListener, query macros, and FromRow derives postgres = ["sqlx"] # ALL GPU/ML FEATURES REMOVED: # cuda, cudnn, gpu - MOVED TO ml_training_service [dev-dependencies] criterion = { workspace = true, features = ["html_reports", "async_tokio"] } futures = { workspace = true } backtesting = { path = "../backtesting" } rust_decimal_macros = { workspace = true } data = { path = "../data" } # For real market data loading in tests [[bench]] name = "tlob_performance" harness = false [lib] name = "adaptive_strategy" path = "src/lib.rs" [lints.clippy] # Module structure - allow mod.rs files for complex modules with subdirectories mod_module_files = "allow" self_named_module_files = "allow" # Critical safety lints - temporarily set to warn during remediation (Wave 105) unwrap_used = "warn" expect_used = "warn" panic = "warn" indexing_slicing = "warn" float_arithmetic = "warn" out_of_bounds_indexing = "deny" unchecked_duration_subtraction = "deny" # High-priority restriction lints for HFT safety arithmetic_side_effects = "warn" as_conversions = "warn" assertions_on_result_states = "deny" clone_on_ref_ptr = "warn" create_dir = "deny" dbg_macro = "deny" decimal_literal_representation = "deny" default_numeric_fallback = "warn" deref_by_slicing = "deny" disallowed_script_idents = "deny" else_if_without_else = "deny" empty_drop = "deny" empty_structs_with_brackets = "deny" error_impl_error = "deny" exit = "deny" [lints.rust] unsafe_code = "warn" missing_docs = "allow" unreachable_pub = "warn" unused_crate_dependencies = "allow" # Override workspace warn → allow for test dependencies unused_extern_crates = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_qualifications = "warn" variant_size_differences = "warn"