pub struct Attempt {
pub contract_passed: bool,
pub contract_detail: String,
pub panel_size: usize,
pub verdicts: Vec<Verdict>,
pub unreachable: Vec<Unreachable>,
pub session_id: String,
}Expand description
What a coder run produced: the facts a gate decides over.
Fields§
§contract_passed: boolWhether the outcome contract passed. The deterministic half.
contract_detail: StringWhat the contract reported, for the operator and the reviewers.
panel_size: usizeHow many reviewers were ASKED. The threshold derives from this, not from how many answered.
verdicts: Vec<Verdict>§unreachable: Vec<Unreachable>§session_id: StringThe coder session that produced the work, still holding its worktree.
A session id rather than a branch, because nothing is published until
the gate approves. In the interactive path car/coder/<id> is created
by coder.approve_merge — the branch exists only after a human said
yes, so it means “approved”. Publishing before the panel would put
unapproved work in a namespace that already carries that meaning, and
leave one dead branch per rejection in the operator’s repository. The
panel reviews the worktree diff instead, which is the same view the
human approval surface shows.
Trait Implementations§
impl Eq for Attempt
impl StructuralPartialEq for Attempt
Auto Trait Implementations§
impl Freeze for Attempt
impl RefUnwindSafe for Attempt
impl Send for Attempt
impl Sync for Attempt
impl Unpin for Attempt
impl UnsafeUnpin for Attempt
impl UnwindSafe for Attempt
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