Struct TeamCompositionRow
pub struct TeamCompositionRow {
pub author: String,
pub tenure_days: i64,
pub bucket: String,
pub veteran_breadth_ok: bool,
pub active: bool,
pub commits: u64,
pub files_touched: u64,
pub onboarding_weeks: Option<i64>,
}Expand description
Per-author team-composition row.
Fields§
Author canonical name/email, or "__summary__" for the summary row.
tenure_days: i64Contribution span in days (last_commit − first_commit). 0 for
single-commit authors. 0 for the summary row.
bucket: String"onboarded" (< 90 d), "experienced" (90–364 d), "veteran"
(≥ 365 d). For the summary row (where author == "__summary__"),
this field holds the percentage string (e.g.
"onboarded=66.7% experienced=33.3% veteran=0.0%").
veteran_breadth_ok: booltrue when the author’s distinct lineage-path count ≥ median of the
current core set. Always false for the summary row. A veteran
author with veteran_breadth_ok = false is capped at "experienced".
active: booltrue when the author has at least one commit in the trailing
window_days window.
commits: u64Total commit count for this author (non-merge only, same as changes
table source).
files_touched: u64Distinct lineage-paths touched across all history.
onboarding_weeks: Option<i64>Weeks from first commit to entering the weekly 80%-core set. None
for founders (first commit within first 12 weeks of the project) or
authors who never reach the core.
Trait Implementations§
§impl Clone for TeamCompositionRow
impl Clone for TeamCompositionRow
§fn clone(&self) -> TeamCompositionRow
fn clone(&self) -> TeamCompositionRow
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 TeamCompositionRow
impl Debug for TeamCompositionRow
§impl<'de> Deserialize<'de> for TeamCompositionRow
impl<'de> Deserialize<'de> for TeamCompositionRow
§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 TeamCompositionRow
impl Serialize for TeamCompositionRow
Auto Trait Implementations§
impl Freeze for TeamCompositionRow
impl RefUnwindSafe for TeamCompositionRow
impl Send for TeamCompositionRow
impl Sync for TeamCompositionRow
impl Unpin for TeamCompositionRow
impl UnsafeUnpin for TeamCompositionRow
impl UnwindSafe for TeamCompositionRow
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