#![allow(missing_docs)] // Internal implementation details // ML training service domain lints: generated protobuf code and training orchestration #![allow(clippy::mixed_attributes_style)] // Generated protobuf code uses mixed attributes #![allow(clippy::manual_clamp)] // Explicit min/max preferred in training parameters #![allow(clippy::too_many_arguments)] // Training functions need many hyperparameters #![allow(clippy::type_complexity)] // Complex types in async service handlers #![allow(clippy::wildcard_in_or_patterns)] // Wildcard patterns in job queue matching #![allow(clippy::redundant_pattern_matching)] // Explicit pattern matching preferred #![allow(clippy::while_let_loop)] // Explicit loop with break for service processing #![allow(clippy::doc_lazy_continuation)] // Doc formatting acceptable //! ML Training Service Library //! //! This library provides the core functionality for the ML Training Service, //! including training orchestration, job management, and gRPC API implementation. #![deny(unsafe_code)] #![deny(clippy::unwrap_used, clippy::expect_used)] pub mod asset_parser; pub mod batch_tuning_manager; pub mod checkpoint_manager; pub mod data_config; pub mod data_loader; pub mod data_file_discovery; pub mod database; pub mod dbn_data_loader; pub mod deployment_pipeline; pub mod encryption; pub mod ensemble_training_coordinator; pub mod gpu_config; pub mod gpu_resource_manager; pub mod grpc; pub mod grpc_tuning_handlers; pub mod job_tracker; pub mod k8s_dispatcher; pub mod job_queue; pub mod job_spawner; pub mod monitoring; pub mod optuna_persistence; pub mod orchestrator; pub mod promotion_manager; pub mod queue_consumer; pub mod schema_types; pub mod service; pub mod simple_metrics; pub mod storage; pub mod technical_indicators; pub mod training_metrics; pub mod trial_executor; pub mod tuning_manager; pub mod validation_pipeline; // TLI BacktestingService proto (client only -- for validation pipeline) pub mod backtesting_proto { tonic::include_proto!("foxhunt.tli"); } // Re-export proto module for test access pub use service::proto; /// Error types for the ML training service pub mod errors { use thiserror::Error; /// Training service errors #[derive(Error, Debug)] pub enum TrainingServiceError { /// Configuration error #[error("Configuration error: {message}")] Configuration { message: String }, /// Database error #[error("Database error: {message}")] Database { message: String }, /// Storage error #[error("Storage error: {message}")] Storage { message: String }, /// Training error #[error("Training error: {message}")] Training { message: String }, /// Resource allocation error #[error("Resource allocation error: {message}")] Resource { message: String }, /// Invalid request error #[error("Invalid request: {message}")] InvalidRequest { message: String }, /// Job not found error #[error("Job not found: {job_id}")] JobNotFound { job_id: String }, /// Internal service error #[error("Internal error: {message}")] Internal { message: String }, } /// Result type for training service operations pub type Result = std::result::Result; } /// Version information pub const VERSION: &str = env!("CARGO_PKG_VERSION"); /// Service metadata pub const SERVICE_NAME: &str = "ml_training_service"; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used)] mod tests { use super::*; #[test] fn test_version() { assert_ne!(VERSION, ""); } #[test] fn test_service_name() { assert_eq!(SERVICE_NAME, "ml_training_service"); } }