pub struct Runner { /* private fields */ }Expand description
Orchestrates the execution of a feature through all phases.
Uses a single continuous ClaudeClient session with the Coder profile,
preserving context across phases so the agent can reference earlier work.
Implementations§
Source§impl Runner
impl Runner
Sourcepub fn new(
feature_slug: &str,
project_root: PathBuf,
pm: &PromptManager,
config: &CodaConfig,
git: Arc<dyn GitOps>,
gh: Arc<dyn GhOps>,
) -> Result<Self, CoreError>
pub fn new( feature_slug: &str, project_root: PathBuf, pm: &PromptManager, config: &CodaConfig, git: Arc<dyn GitOps>, gh: Arc<dyn GhOps>, ) -> Result<Self, CoreError>
Creates a new runner for the given feature.
Loads the feature state from state.yml and configures a
ClaudeClient with the Coder profile.
§Errors
Returns CoreError if the state file cannot be read or the
client cannot be configured.
Sourcepub fn set_progress_sender(&mut self, tx: UnboundedSender<RunEvent>)
pub fn set_progress_sender(&mut self, tx: UnboundedSender<RunEvent>)
Sets a progress event sender for real-time status reporting.
When set, the runner emits RunEvents at phase transitions so
the caller can display live progress without polling.
Sourcepub async fn execute(&mut self) -> Result<Vec<TaskResult>, CoreError>
pub async fn execute(&mut self) -> Result<Vec<TaskResult>, CoreError>
Executes all remaining phases from the current checkpoint.
Connects the client, iterates through phases from current_phase,
dispatching each phase based on its PhaseKind:
- Dev phases are handled by
run_dev_phase - Quality phases dispatch to
run_revieworrun_verifyby name
§Errors
Returns CoreError if any phase fails after all retries.