PlanBuilder

Struct PlanBuilder 

Source
pub struct PlanBuilder { /* private fields */ }
Expand description

Builder for creating execution plans from generation results

Converts generation results (file changes, commands) into structured execution plans with step ordering, dependency resolution, and risk scoring.

Implementations§

Source§

impl PlanBuilder

Source

pub fn new(name: String) -> Self

Create a new plan builder

Source

pub fn add_create_file_step( self, path: String, content: String, ) -> ExecutionResult<Self>

Add a create file step

§Arguments
  • path - File path (will be validated with PathResolver)
  • content - File content
§Errors

Returns error if path is invalid

Source

pub fn add_modify_file_step( self, path: String, diff: String, ) -> ExecutionResult<Self>

Add a modify file step

§Arguments
  • path - File path (will be validated with PathResolver)
  • diff - Diff to apply
§Errors

Returns error if path is invalid

Source

pub fn add_delete_file_step(self, path: String) -> ExecutionResult<Self>

Add a delete file step

§Arguments
  • path - File path (will be validated with PathResolver)
§Errors

Returns error if path is invalid

Source

pub fn add_command_step(self, command: String, args: Vec<String>) -> Self

Add a command execution step

§Arguments
  • command - Command to execute
  • args - Command arguments
Source

pub fn add_test_step(self, pattern: Option<String>) -> Self

Add a test execution step

§Arguments
  • pattern - Optional test pattern to filter tests
Source

pub fn add_dependency(self, step_id: String, dependency_id: String) -> Self

Add a dependency between steps

§Arguments
  • step_id - ID of the step that depends on others
  • dependency_id - ID of the step that must complete first
Source

pub fn with_critical_files(self, files: Vec<String>) -> Self

Set custom critical files

These files are weighted higher in risk scoring.

Source

pub fn build(self) -> ExecutionResult<ExecutionPlan>

Build the execution plan

Performs final validation, calculates risk scores, and returns the plan.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more