pub struct PhaseContext<'a> {Show 13 fields
pub config: &'a Config,
pub registry: &'a AgentRegistry,
pub logger: &'a Logger,
pub colors: &'a Colors,
pub timer: &'a mut Timer,
pub stats: &'a mut Stats,
pub developer_agent: &'a str,
pub reviewer_agent: &'a str,
pub review_guidelines: Option<&'a ReviewGuidelines>,
pub template_context: &'a TemplateContext,
pub run_context: RunContext,
pub execution_history: ExecutionHistory,
pub prompt_history: HashMap<String, String>,
}Expand description
Shared context for all pipeline phases.
This struct holds references to all the shared state that phases need to access. It is passed by mutable reference to each phase function.
Fields§
§config: &'a ConfigConfiguration settings for the pipeline.
registry: &'a AgentRegistryAgent registry for looking up agent configurations.
logger: &'a LoggerLogger for output and diagnostics.
colors: &'a ColorsTerminal color configuration.
timer: &'a mut TimerTimer for tracking elapsed time.
stats: &'a mut StatsStatistics for tracking pipeline progress.
developer_agent: &'a strName of the developer agent.
reviewer_agent: &'a strName of the reviewer agent.
review_guidelines: Option<&'a ReviewGuidelines>Review guidelines based on detected project stack.
template_context: &'a TemplateContextTemplate context for loading user templates.
run_context: RunContextRun context for tracking execution lineage and state.
execution_history: ExecutionHistoryExecution history for tracking pipeline steps.
prompt_history: HashMap<String, String>Prompt history for storing prompts used during execution.
Implementations§
Source§impl PhaseContext<'_>
impl PhaseContext<'_>
Sourcepub fn record_developer_iteration(&mut self)
pub fn record_developer_iteration(&mut self)
Record a completed developer iteration.
Sourcepub fn record_reviewer_pass(&mut self)
pub fn record_reviewer_pass(&mut self)
Record a completed reviewer pass.
Sourcepub fn capture_prompt(&mut self, key: &str, prompt: &str)
pub fn capture_prompt(&mut self, key: &str, prompt: &str)
Capture a prompt in the prompt history.
This method stores a prompt with a key for later retrieval on resume. The key should uniquely identify the prompt (e.g., “development_1”, “review_2”).
§Arguments
key- Unique identifier for this promptprompt- The prompt text to store
Sourcepub fn clone_prompt_history(&self) -> HashMap<String, String>
pub fn clone_prompt_history(&self) -> HashMap<String, String>
Clone the prompt history without consuming it.
This is used when building checkpoints to include the prompts while keeping them in the context for subsequent checkpoint saves.
Auto Trait Implementations§
impl<'a> Freeze for PhaseContext<'a>
impl<'a> !RefUnwindSafe for PhaseContext<'a>
impl<'a> Send for PhaseContext<'a>
impl<'a> Sync for PhaseContext<'a>
impl<'a> Unpin for PhaseContext<'a>
impl<'a> !UnwindSafe for PhaseContext<'a>
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> 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