pub enum PipelineEvent {
Show 46 variants
PipelineStarted,
PipelineResumed {
from_checkpoint: bool,
},
PipelineCompleted,
PipelineAborted {
reason: String,
},
PlanningPhaseStarted,
PlanningPhaseCompleted,
DevelopmentPhaseStarted,
DevelopmentIterationStarted {
iteration: u32,
},
PlanGenerationStarted {
iteration: u32,
},
PlanGenerationCompleted {
iteration: u32,
valid: bool,
},
DevelopmentIterationCompleted {
iteration: u32,
output_valid: bool,
},
ContextCleaned,
DevelopmentPhaseCompleted,
ReviewPhaseStarted,
ReviewPassStarted {
pass: u32,
},
ReviewCompleted {
pass: u32,
issues_found: bool,
},
FixAttemptStarted {
pass: u32,
},
FixAttemptCompleted {
pass: u32,
changes_made: bool,
},
ReviewPhaseCompleted {
early_exit: bool,
},
AgentInvocationStarted {
role: AgentRole,
agent: String,
model: Option<String>,
},
AgentInvocationSucceeded {
role: AgentRole,
agent: String,
},
AgentInvocationFailed {
role: AgentRole,
agent: String,
exit_code: i32,
error_kind: AgentErrorKind,
retriable: bool,
},
AgentFallbackTriggered {
role: AgentRole,
from_agent: String,
to_agent: String,
},
AgentModelFallbackTriggered {
role: AgentRole,
agent: String,
from_model: String,
to_model: String,
},
AgentRetryCycleStarted {
role: AgentRole,
cycle: u32,
},
AgentChainExhausted {
role: AgentRole,
},
AgentChainInitialized {
role: AgentRole,
agents: Vec<String>,
},
AgentRateLimitFallback {
role: AgentRole,
agent: String,
prompt_context: Option<String>,
},
RebaseStarted {
phase: RebasePhase,
target_branch: String,
},
RebaseConflictDetected {
files: Vec<PathBuf>,
},
RebaseConflictResolved {
files: Vec<PathBuf>,
},
RebaseSucceeded {
phase: RebasePhase,
new_head: String,
},
RebaseFailed {
phase: RebasePhase,
reason: String,
},
RebaseAborted {
phase: RebasePhase,
restored_to: String,
},
RebaseSkipped {
phase: RebasePhase,
reason: String,
},
CommitGenerationStarted,
CommitMessageGenerated {
message: String,
attempt: u32,
},
CommitMessageValidationFailed {
reason: String,
attempt: u32,
},
CommitCreated {
hash: String,
message: String,
},
CommitGenerationFailed {
reason: String,
},
CommitSkipped {
reason: String,
},
CheckpointSaved {
trigger: CheckpointTrigger,
},
FinalizingStarted,
PromptPermissionsRestored,
DevelopmentIterationContinuationTriggered {
iteration: u32,
status: DevelopmentStatus,
summary: String,
files_changed: Option<Vec<String>>,
next_steps: Option<String>,
},
DevelopmentIterationContinuationSucceeded {
iteration: u32,
total_continuation_attempts: u32,
},
}Expand description
Pipeline events representing all state transitions.
Each event captures an observable transition in pipeline execution. The reducer handles these events to compute new state.
Variants§
PipelineStarted
PipelineResumed
PipelineCompleted
PipelineAborted
PlanningPhaseStarted
PlanningPhaseCompleted
DevelopmentPhaseStarted
DevelopmentIterationStarted
PlanGenerationStarted
PlanGenerationCompleted
DevelopmentIterationCompleted
ContextCleaned
DevelopmentPhaseCompleted
ReviewPhaseStarted
ReviewPassStarted
ReviewCompleted
FixAttemptStarted
FixAttemptCompleted
ReviewPhaseCompleted
AgentInvocationStarted
AgentInvocationSucceeded
AgentInvocationFailed
AgentFallbackTriggered
AgentModelFallbackTriggered
AgentRetryCycleStarted
AgentChainExhausted
AgentChainInitialized
AgentRateLimitFallback
Agent hit rate limit (429) - should fallback to next agent immediately.
Unlike other retriable errors (Network, Timeout), rate limits indicate the current provider is temporarily exhausted. Rather than waiting and retrying the same agent, we immediately switch to the next agent in the chain to continue work without delay.
Fields
RebaseStarted
RebaseConflictDetected
RebaseConflictResolved
RebaseSucceeded
RebaseFailed
RebaseAborted
RebaseSkipped
CommitGenerationStarted
CommitMessageGenerated
CommitMessageValidationFailed
CommitCreated
CommitGenerationFailed
CommitSkipped
CheckpointSaved
Fields
trigger: CheckpointTriggerFinalizingStarted
Finalization phase started.
PromptPermissionsRestored
PROMPT.md write permissions have been restored.
This event is emitted after the RestorePromptPermissions effect successfully restores write permissions on PROMPT.md.
DevelopmentIterationContinuationTriggered
Development iteration needs continuation due to partial/failed status.
Emitted only when development output is valid (output_valid == true) and
status is not “completed” (i.e., “partial” or “failed”). Invalid XML/XSD
failures are handled separately and must not consume the continuation budget.
Fields
status: DevelopmentStatusStatus from the agent (“partial” or “failed”).
DevelopmentIterationContinuationSucceeded
Development iteration continuation succeeded.
Emitted when a continuation attempt completes with status “completed”. This resets the continuation state and allows the iteration to complete.
Trait Implementations§
Source§impl Clone for PipelineEvent
impl Clone for PipelineEvent
Source§fn clone(&self) -> PipelineEvent
fn clone(&self) -> PipelineEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PipelineEvent
impl Debug for PipelineEvent
Source§impl<'de> Deserialize<'de> for PipelineEvent
impl<'de> Deserialize<'de> for PipelineEvent
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 PipelineEvent
impl RefUnwindSafe for PipelineEvent
impl Send for PipelineEvent
impl Sync for PipelineEvent
impl Unpin for PipelineEvent
impl UnwindSafe for PipelineEvent
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