pub struct ProjectHealth {
pub overdue: usize,
pub blocked: usize,
pub unassigned: usize,
pub missing_references: Vec<MissingProjectReference>,
}Expand description
A project’s health counters (data-model §5, FR-003).
Every figure is consumed from an existing derived read, never recomputed
here: overdue from the planning overdue read and blocked from the
relationship graph’s blocked_state (research R4).
Fields§
§overdue: usizeMembers past their due date and not done.
blocked: usizeMembers with an open blocker.
unassigned: usizeMembers with no assignee (absent or blank after trimming).
missing_references: Vec<MissingProjectReference>The project’s members’ associations that no longer resolve (C-005).
Trait Implementations§
Source§impl Clone for ProjectHealth
impl Clone for ProjectHealth
Source§impl Debug for ProjectHealth
impl Debug for ProjectHealth
impl Eq for ProjectHealth
Source§impl PartialEq for ProjectHealth
impl PartialEq for ProjectHealth
impl StructuralPartialEq for ProjectHealth
Auto Trait Implementations§
impl Freeze for ProjectHealth
impl RefUnwindSafe for ProjectHealth
impl Send for ProjectHealth
impl Sync for ProjectHealth
impl Unpin for ProjectHealth
impl UnsafeUnpin for ProjectHealth
impl UnwindSafe for ProjectHealth
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
Converts
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> ⓘ
Converts
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