pub struct Runner {
pub state: RunState,
/* private fields */
}Expand description
Drives one run.
Fields§
§state: RunStateRun state; public so the CLI can report on it.
Implementations§
Source§impl Runner
impl Runner
Sourcepub async fn start(
repo: &Path,
instruction: String,
config: Config,
) -> Result<Self>
pub async fn start( repo: &Path, instruction: String, config: Config, ) -> Result<Self>
Start a fresh run against repo.
Sourcepub async fn review(repo: &Path, branch: &str, config: Config) -> Result<Self>
pub async fn review(repo: &Path, branch: &str, config: Config) -> Result<Self>
Open a review-only run against work that already exists on branch.
The expensive half of the graph is the implement wave — measured at 111 and 134 internal tool-loop turns on this repository, against a handful for a judge or a reviewer. The cheap half is worth running on hand-written work too, and there was no way to reach it.
No new state and no schema change are needed: a run with one viable
candidate and a tally already decided degrades execute to exactly
review → gate → merge, because judge skips a single-candidate field,
deliberate has fewer than two first choices to reconcile, vote
returns early, tally is already present and fold_losers has no
losers. Resuming such a run therefore does the right thing as well.
Auto Trait Implementations§
impl !RefUnwindSafe for Runner
impl !UnwindSafe for Runner
impl Freeze for Runner
impl Send for Runner
impl Sync for Runner
impl Unpin for Runner
impl UnsafeUnpin for Runner
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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