pub enum NeedsYou {
Contract,
Question,
Approval,
Finding,
Auth,
}Expand description
What a session is waiting on a human for, right now.
Computed server-side and shipped on every session summary so every client
(the car board TUI, CarHost, milo) says the same words about the same
state — the same precedent as DiffReady::overlap_disclosure, where
hand-rolling the sentence per renderer had already produced two divergent
copies of one sentence.
Variants§
Contract
A drafted outcome contract is waiting for confirm/reject/revise.
Question
The loop asked a mid-session question and is parked on the answer.
Approval
The work is done and the diff is waiting for merge approval.
Finding
A no-change finding is waiting to be accepted or rejected. Distinct from
NeedsYou::Approval on purpose: there is no diff, and a board that
says “diff ready for approval” over an empty worktree is lying to the
operator about what they are being asked to look at.
Auth
The run is blocked on sign-in and is waiting for a credential.
Implementations§
Trait Implementations§
impl Copy for NeedsYou
Source§impl<'de> Deserialize<'de> for NeedsYou
impl<'de> Deserialize<'de> for NeedsYou
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for NeedsYou
impl StructuralPartialEq for NeedsYou
Auto Trait Implementations§
impl Freeze for NeedsYou
impl RefUnwindSafe for NeedsYou
impl Send for NeedsYou
impl Sync for NeedsYou
impl Unpin for NeedsYou
impl UnsafeUnpin for NeedsYou
impl UnwindSafe for NeedsYou
Blanket Implementations§
impl<T> Boilerplate for T
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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