pub enum DevelopmentEvent {
Show 20 variants
PhaseStarted,
IterationStarted {
iteration: u32,
},
ContextPrepared {
iteration: u32,
},
PromptPrepared {
iteration: u32,
},
AgentInvoked {
iteration: u32,
},
AnalysisAgentInvoked {
iteration: u32,
},
XmlExtracted {
iteration: u32,
},
XmlMissing {
iteration: u32,
attempt: u32,
},
XmlValidated {
iteration: u32,
status: DevelopmentStatus,
summary: String,
files_changed: Option<Vec<String>>,
next_steps: Option<String>,
},
OutcomeApplied {
iteration: u32,
},
XmlArchived {
iteration: u32,
},
XmlCleaned {
iteration: u32,
},
IterationCompleted {
iteration: u32,
output_valid: bool,
},
PhaseCompleted,
ContinuationTriggered {
iteration: u32,
status: DevelopmentStatus,
summary: String,
files_changed: Option<Vec<String>>,
next_steps: Option<String>,
},
ContinuationSucceeded {
iteration: u32,
total_continuation_attempts: u32,
},
OutputValidationFailed {
iteration: u32,
attempt: u32,
},
ContinuationBudgetExhausted {
iteration: u32,
total_attempts: u32,
last_status: DevelopmentStatus,
},
ContinuationContextWritten {
iteration: u32,
attempt: u32,
},
ContinuationContextCleaned,
}Expand description
Development phase events.
Events related to development iterations, including continuation handling for partial/failed completion states. Development iterations involve invoking developer agents to make code changes.
§State Transitions
PhaseStarted: Sets phase to DevelopmentIterationStarted: Resets agent chain, clears continuation stateIterationCompleted(output_valid=true): Transitions to CommitMessageIterationCompleted(output_valid=false): Stays in Development for retryContinuationTriggered: Saves context for continuation attemptContinuationSucceeded: Clears continuation, proceeds to CommitMessagePhaseCompleted: Transitions to Review
Variants§
PhaseStarted
Development phase has started.
IterationStarted
A development iteration has started.
ContextPrepared
Development context prepared for an iteration.
Emitted after Effect::PrepareDevelopmentContext completes.
PromptPrepared
Development prompt prepared for an iteration.
Emitted after Effect::PrepareDevelopmentPrompt completes.
AgentInvoked
Developer agent was invoked for an iteration.
Emitted after Effect::InvokeDevelopmentAgent completes.
AnalysisAgentInvoked
Analysis agent was invoked to verify development results for an iteration.
Emitted after Effect::InvokeAnalysisAgent completes. The analysis agent
produces development_result.xml by comparing git diff against PLAN.md.
XmlExtracted
Development result XML exists and was read successfully for the iteration.
Emitted after Effect::ExtractDevelopmentXml completes.
XmlMissing
Development result XML missing for an iteration.
Emitted after Effect::ExtractDevelopmentXml when the XML was absent.
Fields
XmlValidated
Development result XML validated for an iteration.
This event captures the parsed development outcome.
Fields
status: DevelopmentStatusThe parsed development status.
OutcomeApplied
Development outcome applied for an iteration.
XmlArchived
Development result XML archived for an iteration.
Emitted after Effect::ArchiveDevelopmentXml completes.
XmlCleaned
Development result XML cleaned before invoking the developer agent.
IterationCompleted
A development iteration completed with validation result.
Fields
PhaseCompleted
Development phase completed, all iterations done.
ContinuationTriggered
Continuation triggered due to partial/failed status.
Emitted only when development output is valid (parseable) but status is not “completed” (i.e., “partial” or “failed”).
Fields
status: DevelopmentStatusStatus from the agent (“partial” or “failed”).
ContinuationSucceeded
Continuation attempt succeeded with status “completed”.
Fields
OutputValidationFailed
Output validation failed (XSD/XML parsing error).
Emitted when development output cannot be parsed or fails XSD validation. The reducer decides whether to retry (same agent) or switch agents based on the attempt count in state.
ContinuationBudgetExhausted
Continuation attempts exhausted without reaching completed status.
Emitted when development iteration has used all allowed continuation attempts but still hasn’t reached status=“completed”.
Fields
last_status: DevelopmentStatusLast status received (Partial or Failed).
ContinuationContextWritten
Continuation context file was written successfully.
Emitted after WriteContinuationContext effect completes. The reducer
clears the needs_context_write flag on this event.
ContinuationContextCleaned
Continuation context file was cleaned up.
Emitted after CleanupContinuationContext effect completes.
Trait Implementations§
Source§impl Clone for DevelopmentEvent
impl Clone for DevelopmentEvent
Source§fn clone(&self) -> DevelopmentEvent
fn clone(&self) -> DevelopmentEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DevelopmentEvent
impl Debug for DevelopmentEvent
Source§impl<'de> Deserialize<'de> for DevelopmentEvent
impl<'de> Deserialize<'de> for DevelopmentEvent
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>,
Auto Trait Implementations§
impl Freeze for DevelopmentEvent
impl RefUnwindSafe for DevelopmentEvent
impl Send for DevelopmentEvent
impl Sync for DevelopmentEvent
impl Unpin for DevelopmentEvent
impl UnwindSafe for DevelopmentEvent
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<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