pub struct WaveState {
pub wave_number: usize,
pub rounds: Vec<RoundState>,
pub validation: Option<ValidationResult>,
pub summary: Option<WaveSummary>,
pub start_commit: Option<String>,
pub review: Option<ReviewState>,
pub repairs: Vec<RepairAttempt>,
pub started_at: String,
pub completed_at: Option<String>,
}Expand description
State of a single wave
Fields§
§wave_number: usizeWave number (1-indexed)
rounds: Vec<RoundState>Rounds executed in this wave
validation: Option<ValidationResult>Validation result (if validation was run)
summary: Option<WaveSummary>Summary of what was done
start_commit: Option<String>Git commit SHA at wave start (for tracking changes)
review: Option<ReviewState>Review result (if review was run)
repairs: Vec<RepairAttempt>Repair attempts (if validation failed)
started_at: StringStart time
completed_at: Option<String>End time (set when complete)
Implementations§
Source§impl WaveState
impl WaveState
pub fn new(wave_number: usize) -> Self
pub fn mark_complete(&mut self)
Sourcepub fn all_task_ids(&self) -> Vec<String>
pub fn all_task_ids(&self) -> Vec<String>
Get all task IDs from all rounds
Get task ID to tag mapping
Source§impl WaveState
impl WaveState
Sourcepub fn apply_execution_result(&mut self, result: WaveExecutionResult)
pub fn apply_execution_result(&mut self, result: WaveExecutionResult)
Update this wave state from an execution result
This integrates the extension-based execution results into the existing wave tracking structure.
Sourcepub fn from_execution_result(
wave_number: usize,
result: WaveExecutionResult,
) -> Self
pub fn from_execution_result( wave_number: usize, result: WaveExecutionResult, ) -> Self
Create a WaveState and immediately apply an execution result
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WaveState
impl<'de> Deserialize<'de> for WaveState
Source§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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for WaveState
impl RefUnwindSafe for WaveState
impl Send for WaveState
impl Sync for WaveState
impl Unpin for WaveState
impl UnwindSafe for WaveState
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<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>
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