Skip to main content

WorkExplanation

Struct WorkExplanation 

Source
pub struct WorkExplanation {
Show 16 fields pub gates: GateReport, pub transitions: BTreeMap<Transition, GateReport>, pub progress: ProgressSummary, pub context: ExecutionContext, pub work: WorkItem, pub ready: bool, pub applicability: Applicability, pub predecessors: Vec<WorkItem>, pub downstream_count: usize, pub schedule: Option<ActivitySchedule>, pub unestimated: bool, pub criticality: Option<f64>, pub drag_hours: Option<f64>, pub pert_variance_hours2: Option<f64>, pub why_now: Vec<String>, pub basis: BasisReport,
}
Expand description

Execution contract, prerequisites, and derived reason for a work item.

Fields§

§gates: GateReport

Claim eligibility, the same report next and status use.

§transitions: BTreeMap<Transition, GateReport>

Eligibility of every lifecycle transition, so FF/SF finish gates are visible before a claim.

§progress: ProgressSummary

Execution percentage, independent completion condition and completion time.

§context: ExecutionContext

Resolved requirements, gates, evidence and related work for the execution contract.

§work: WorkItem

Work-item projection represented by this result, including recorded event times.

§ready: bool

Whether this task can be claimed now.

§applicability: Applicability

Whether the work belongs to the active graph, derived from conditions, joins and choices.

§predecessors: Vec<WorkItem>

Direct predecessor work items.

§downstream_count: usize

Count of distinct transitively dependent work items.

§schedule: Option<ActivitySchedule>

Derived timing of this activity when available.

§unestimated: bool

Whether the forecast counts this task as 0 h because it has no estimate, so schedule, criticality and every forecast that includes it are optimistic; see is_unestimated.

§criticality: Option<f64>

Fraction of sampled schedules in which each activity is critical.

§drag_hours: Option<f64>

Hours the deterministic remaining finish would move if this work took no time: zero off the critical path, negative when shortening it would delay the finish; absent for work outside the active graph.

§pert_variance_hours2: Option<f64>

Classical PERT variance ((P − O) / 6)² of the remaining duration, in hours squared: started work keeps only the range its elapsed time allows (O raised to the elapsed hours), finished or unestimated work has none. It is the analytic approximation’s input, not the variance of the beta-PERT duration the simulation samples. Absent for work outside the active graph.

§why_now: Vec<String>

Readiness, blocker, gate, lifecycle, lag and schedule explanations.

§basis: BasisReport

Provisional bases this work relies on, and other work relying on its submission attempts.

Trait Implementations§

Source§

impl Clone for WorkExplanation

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WorkExplanation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for WorkExplanation

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for WorkExplanation

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.