ralph_workflow/reducer/state.rs
1//! Pipeline state types for reducer architecture.
2//!
3//! Defines immutable state structures that capture complete pipeline execution context.
4//! These state structures can be serialized as checkpoints for resume functionality.
5
6use crate::agents::AgentRole;
7use serde::{Deserialize, Serialize};
8use std::path::PathBuf;
9
10// Checkpoint types and PipelinePhase used by tests
11#[cfg(test)]
12use super::event::PipelinePhase;
13#[cfg(test)]
14use crate::checkpoint::{
15 PipelineCheckpoint, PipelinePhase as CheckpointPhase, RebaseState as CheckpointRebaseState,
16};
17
18// State enums and basic types (ArtifactType, PromptMode, DevelopmentStatus, FixStatus, RebaseState, CommitState)
19include!("state/enums.rs");
20
21// Continuation state for development and fix iterations
22pub mod continuation;
23pub use continuation::ContinuationState;
24
25// Agent fallback chain state and backoff computation
26include!("state/agent_chain.rs");
27
28// Run-level execution metrics
29include!("state/metrics.rs");
30
31// Pipeline state module (checkpoint payload and reducer state)
32pub mod pipeline;
33pub use pipeline::*;
34
35// Tests
36include!("state/tests.rs");