pub struct SummaryContribution {
pub kind: AssociationKind,
pub target: String,
pub label: String,
pub resolution: ReferenceResolution,
pub progress: Option<ProgressValue>,
pub risk: Option<HealthRollup>,
pub policy_version: Option<String>,
}Expand description
One referenced source entity’s contribution to an InitiativeSummary.
The join’s atom: the source’s kind, its stable id, its derived display label,
its own typed value, and the shared health policy’s typed risk. A reference that
does not resolve is still a contribution — with ReferenceResolution::Missing,
no value, no risk, and the diagnostics that say why (C-005).
Fields§
§kind: AssociationKindThe reference kind.
target: StringThe stable id (project id, epic id) or name (milestone) as recorded.
label: StringThe derived display label; the target itself for an unresolved reference.
resolution: ReferenceResolutionHow the reference resolved.
progress: Option<ProgressValue>The owning service’s typed value, when it has one (projects and epics do; a milestone’s health is its risk below).
risk: Option<HealthRollup>The shared health policy’s typed risk for the source’s scope.
policy_version: Option<String>The policy version that produced Self::risk (health-v1), when present.
Implementations§
Source§impl SummaryContribution
impl SummaryContribution
Sourcepub fn source_entity(&self) -> String
pub fn source_entity(&self) -> String
The source entity’s stable spelling, <kind>:<id>, for provenance.
Sourcepub fn is_knowable(&self) -> bool
pub fn is_knowable(&self) -> bool
Whether this contribution reports anything knowable.
A real zero-progress figure is knowable — it is a value, not an absence — so
this is progress.is_some() or a risk whose state is not
HealthState::Unknown. That is what keeps 0 distinct from “nobody said”.
Trait Implementations§
Source§impl Clone for SummaryContribution
impl Clone for SummaryContribution
Source§impl Debug for SummaryContribution
impl Debug for SummaryContribution
impl Eq for SummaryContribution
Source§impl PartialEq for SummaryContribution
impl PartialEq for SummaryContribution
impl StructuralPartialEq for SummaryContribution
Auto Trait Implementations§
impl Freeze for SummaryContribution
impl RefUnwindSafe for SummaryContribution
impl Send for SummaryContribution
impl Sync for SummaryContribution
impl Unpin for SummaryContribution
impl UnsafeUnpin for SummaryContribution
impl UnwindSafe for SummaryContribution
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
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
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> ⓘ
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