Struct DeliveryFrictionRow
pub struct DeliveryFrictionRow {
pub path: String,
pub revisions: u32,
pub cognitive: f64,
pub median_lead_time_days: f64,
pub p95_lead_time_days: f64,
pub wip_age_days: f64,
pub friction_score: f64,
}Expand description
One row per file with above-threshold revision count.
Fields§
§path: String§revisions: u32§cognitive: f64MAX(cognitive) across all entities of the file. 0.0 when
codelore-rca doesn’t support the file’s language.
median_lead_time_days: f64Median committer_date - date across the file’s commits, in
days. Zero on rebase-only workflows where author and committer
timestamps coincide for every commit. Commits where
committer_date <= date (clock-skew or timezone artefacts) are
excluded from this statistic — they do not shrink revisions,
only the lead-time aggregates.
p95_lead_time_days: f6495th-percentile lead time in days. Surfaces the right tail —
the “one commit took two weeks” worst case. Same negative/zero
exclusion as median_lead_time_days.
wip_age_days: f64Days since the file’s last commit. MAX(committer_date) minus
the analysis-time anchor. Files high on both friction and
wip_age_days are the stale-but-still-touched worst case.
friction_score: f64Composite friction score in [0, 100]. Product of three
percentile ranks (revisions × lead time × cognitive) scaled by
100; high requires elevation on ALL THREE axes.
Trait Implementations§
§impl Clone for DeliveryFrictionRow
impl Clone for DeliveryFrictionRow
§fn clone(&self) -> DeliveryFrictionRow
fn clone(&self) -> DeliveryFrictionRow
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 DeliveryFrictionRow
impl Debug for DeliveryFrictionRow
§impl<'de> Deserialize<'de> for DeliveryFrictionRow
impl<'de> Deserialize<'de> for DeliveryFrictionRow
§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 DeliveryFrictionRow
impl Serialize for DeliveryFrictionRow
Auto Trait Implementations§
impl Freeze for DeliveryFrictionRow
impl RefUnwindSafe for DeliveryFrictionRow
impl Send for DeliveryFrictionRow
impl Sync for DeliveryFrictionRow
impl Unpin for DeliveryFrictionRow
impl UnsafeUnpin for DeliveryFrictionRow
impl UnwindSafe for DeliveryFrictionRow
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