#![deny(missing_docs)]
pub mod categories;
pub mod error;
pub mod exit_code;
pub mod input;
pub mod compute;
pub mod facade;
pub use categories::{list_categories, CategoryCatalog, CategoryInfo, CATEGORIES};
pub use error::AnalysisError;
pub use exit_code::ExitCode;
pub use input::{
edge_weight_key, split_edge_weight_key, validate_node_id, BoundaryDefInput, BoundarySpecInput,
ChangeCouplingConfigInput, CoChangeEventInput, DependencyGraphInput, EdgeInput,
LeidenConfigInput, NodeInput, NormalizeNode, PatternInstanceInput, PatternLocationInput,
PriorPartition, QualityFunctionInput, ThresholdOverrideInput, ThresholdsInput,
};
pub use compute::boundaries::{
compute_boundary_violations, detect_boundaries, BoundaryDetectionResult,
BoundaryViolationResult,
};
pub use compute::change_coupling::compute_change_coupling;
pub use compute::coupling::{compute_coupling_topology, CouplingTopologyResult};
pub use compute::normalize::normalize_and_hash;
pub use compute::patterns::{compute_pattern_metrics, compute_pattern_metrics_from_catalog};
pub use compute::thresholds::{
compute_thresholds_check, AppliedOverrideInfo, ThresholdBreachInfo, ThresholdCheckResult,
THRESHOLD_EPSILON,
};
pub use facade::{assemble_snapshot, compute_delta, compute_trend, infer_boundaries, null_summary};
pub use sdivi_snapshot::boundary_inference::{
BoundaryInferenceResult, BoundaryProposal, PriorPartition as SnapshotPriorPartition,
};
pub use sdivi_snapshot::change_coupling::{ChangeCouplingResult, CoChangePair};
pub use sdivi_snapshot::delta::DivergenceSummary;
pub use sdivi_snapshot::snapshot::{
IntentDivergenceInfo, PatternMetricsResult, Snapshot, SNAPSHOT_VERSION,
};
pub use sdivi_snapshot::trend::TrendResult;
pub use sdivi_patterns::FINGERPRINT_KEY;
pub use sdivi_graph::metrics::GraphMetrics;
pub use sdivi_detection::partition::LeidenPartition;
pub use sdivi_patterns::catalog::{PatternCatalog, PatternStats};
pub use sdivi_patterns::fingerprint::PatternFingerprint;
pub use sdivi_patterns::hint_input::PatternHintInput;
pub use sdivi_patterns::queries::classify_hint;
pub mod prelude {
pub use crate::input::{DependencyGraphInput, PatternInstanceInput, ThresholdsInput};
pub use crate::AnalysisError;
pub use crate::DivergenceSummary;
pub use crate::ExitCode;
pub use crate::Snapshot;
}