pub struct RunFailure {
pub detail: String,
pub session_id: Option<String>,
pub configuration: bool,
}Expand description
A coder run that failed, and the session it left behind.
The session id is the load-bearing half. run can fail after the session
has reached NeedsApproval — no worktree at approval, an unreadable diff, a
green contract over an unchanged worktree — and a plain String gave the
caller no way to close that session out. Each one leaked a git worktree
registered in the operator’s own repository, with its task handle already
taken so coder.cancel could not reach it either, and the reaper that would
have swept them was deleted on the strength of the invariant these paths
break.
Fields§
§detail: String§session_id: Option<String>None only when the failure happened before a session existed.
configuration: boolThe daemon configuration prevented any model from attempting the item. Such a failure must not create item backoff or a public issue comment.
Implementations§
Source§impl RunFailure
impl RunFailure
Sourcepub fn early(detail: impl Into<String>) -> Self
pub fn early(detail: impl Into<String>) -> Self
A failure with no session behind it — nothing to close out.
Sourcepub fn with_session(session_id: &str, detail: impl Into<String>) -> Self
pub fn with_session(session_id: &str, detail: impl Into<String>) -> Self
A failure that left a live session.
Sourcepub fn configuration_with_session(
session_id: &str,
detail: impl Into<String>,
) -> Self
pub fn configuration_with_session( session_id: &str, detail: impl Into<String>, ) -> Self
A session stopped before model dispatch because its routing constraints leave no independent coder available.
Trait Implementations§
Source§impl Clone for RunFailure
impl Clone for RunFailure
Source§impl Debug for RunFailure
impl Debug for RunFailure
impl Eq for RunFailure
Source§impl PartialEq for RunFailure
impl PartialEq for RunFailure
impl StructuralPartialEq for RunFailure
Auto Trait Implementations§
impl Freeze for RunFailure
impl RefUnwindSafe for RunFailure
impl Send for RunFailure
impl Sync for RunFailure
impl Unpin for RunFailure
impl UnsafeUnpin for RunFailure
impl UnwindSafe for RunFailure
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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