#![recursion_limit = "256"]
pub mod baseline;
pub mod cli;
pub mod facts;
pub mod graph;
pub mod health;
pub mod mcp;
pub mod memory;
pub mod profile;
pub mod scanner;
pub mod simulate;
pub mod sys;
pub use baseline::{
build_baseline, diff_baselines, BaselineDiff, BaselineModuleEdge, ModuleEdgeDelta,
ProjectBaseline,
};
pub use facts::{
CallEdgeFact, CallFact, EntryPointFact, EntryPointKind, FileFact, FunctionFact, ImportFact,
ImportResolution, Language, ScanReport, SnapshotFact, TypeFact,
};
pub use graph::GraphMetrics;
pub use health::{
compute_health, compute_health_with_config, is_foundation_file, BoundaryConfig,
ComplexityMetrics, ConfigError, DependencyViolationMetric, DuplicateFunctionGroup,
FileCouplingMetric, FileHotspot, FileInstabilityMetric, ForbiddenEdgeConfig,
FunctionComplexityMetric, HealthSummary, LanguagePluginConfig, LayerConfig,
ModuleDistanceMetric, RaysenseConfig, Remediation, ResolutionBreakdown, RuleConfig, ScanConfig,
ScoreConfig, TestGapCandidate, TestGapMetrics, TrendMetrics,
};
pub use health::{RuleFinding, RuleSeverity};
pub use profile::ProjectProfile;
pub use scanner::{scan_path, scan_path_with_config, standard_language_plugins, ScanError};
pub use simulate::{
break_cycle as simulate_break_cycle, break_cycle_recommendations,
move_file as simulate_move_file, remove_file as simulate_remove_file, CycleBreakCandidate,
SimulateError,
};