Struct EffortExposureRow
pub struct EffortExposureRow {
pub band: String,
pub files: u32,
pub loc_share_pct: f64,
pub commit_share_pct: f64,
pub churn_share_pct: f64,
pub commit_share_ci_low: f64,
pub commit_share_ci_high: f64,
pub churn_share_improving_pct: Option<f64>,
pub churn_share_degrading_pct: Option<f64>,
}Expand description
One row per code-health band in the trailing activity window.
Fields§
§band: StringCode-health band: "red", "yellow", or "green".
files: u32Distinct files live at HEAD that fall in this band.
Percentage of total SLOC (source lines of code) in this band.
Percentage of trailing-window commits — counting only commits that touched a code-health-banded file — that touched ≥1 file in this band. The denominator is banded (scorable) commits, not every window commit: a commit touching only unscored paths (lockfiles, generated code, docs) is in neither numerator nor denominator, so the share is of scorable engineering activity. A commit touching files in multiple bands is counted once per band it touches, so percentages across bands can sum
100%.
Percentage of trailing-window churn (lines added + deleted) in this
band’s files, as a share of churn on code-health-banded files only —
not raw repo churn. Churn on unscored paths (lockfiles, generated code,
docs) is excluded from the denominator, matching the band-restricted
numerator; counting it would understate every band’s share and let the
max_red_effort_pct gate drift more permissive as non-code churn grows.
Wilson 95% CI lower bound for commit_share_pct / 100.
Wilson 95% CI upper bound for commit_share_pct / 100.
Share of total window churn (same denominator as
churn_share_pct) that landed in this band’s
files whose own health IMPROVED over the window. None unless the
decomposition was computed (run_effort_exposure_decomposed, which
needs repository access); populated only for the red band, where the
improving-churn gate exemption reads it. Additive: absent from the
serialized output when None, so a run without the decomposition is
byte-identical to before.
Complement of churn_share_improving_pct:
the share of total window churn in this band’s files whose health did NOT
improve over the window. For the red band the two sum to
churn_share_pct. None under the same
conditions as its sibling.
Trait Implementations§
§impl Clone for EffortExposureRow
impl Clone for EffortExposureRow
§fn clone(&self) -> EffortExposureRow
fn clone(&self) -> EffortExposureRow
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for EffortExposureRow
impl Debug for EffortExposureRow
§impl<'de> Deserialize<'de> for EffortExposureRow
impl<'de> Deserialize<'de> for EffortExposureRow
§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
§impl Serialize for EffortExposureRow
impl Serialize for EffortExposureRow
Auto Trait Implementations§
impl Freeze for EffortExposureRow
impl RefUnwindSafe for EffortExposureRow
impl Send for EffortExposureRow
impl Sync for EffortExposureRow
impl Unpin for EffortExposureRow
impl UnsafeUnpin for EffortExposureRow
impl UnwindSafe for EffortExposureRow
Blanket Implementations§
impl<T> Allocation for T
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more