pub struct HealthScorePenalties {
pub dead_files: Option<f64>,
pub dead_exports: Option<f64>,
pub complexity: f64,
pub p90_complexity: f64,
pub maintainability: Option<f64>,
pub hotspots: Option<f64>,
pub unused_deps: Option<f64>,
pub circular_deps: Option<f64>,
pub unit_size: Option<f64>,
pub coupling: Option<f64>,
pub duplication: Option<f64>,
pub prop_drilling: Option<f64>,
}Expand description
Per-component penalty breakdown for the health score.
Fields§
§dead_files: Option<f64>Points subtracted for unreachable files; absent when dead-code data was not available.
dead_exports: Option<f64>Points subtracted for unused exports; absent when dead-code data was not available.
complexity: f64Points subtracted for overall complexity load.
p90_complexity: f64Points subtracted for the complexity tail (v1: p90 cyclomatic; v2: critical-complexity density).
maintainability: Option<f64>Points subtracted for low maintainability-index files; absent when file scores were not computed.
hotspots: Option<f64>Points subtracted for churn-times-complexity hotspots; absent without git history.
unused_deps: Option<f64>Points subtracted for unused dependencies; absent when dead-code data was not available.
circular_deps: Option<f64>Points subtracted for circular dependency chains; absent when dead-code data was not available.
unit_size: Option<f64>Penalty for oversized functions, computed against fixed calibration
(very-high-risk bin edge at 60 LOC). Deliberately independent of
health.maxUnitSize, which filters the large-functions findings list
only; raising that threshold empties the list without moving this
penalty. health.ignore removes files from the score entirely.
coupling: Option<f64>Points subtracted for fan-in coupling concentration; absent when the module graph was not available.
duplication: Option<f64>Points subtracted for duplicated code; absent when the duplication pipeline did not run.
prop_drilling: Option<f64>Small capped penalty for prop-drilling chains. None unless the opt-in
prop-drilling rule is enabled; sized like the coupling penalty (~5pt cap).