pub struct CrewTask {
pub goal: String,
pub caveats: Caveats,
pub context: Vec<String>,
pub verify: Option<String>,
}Expand description
A leaf Subtask projected into the unit a CrewRunner dispatches — the
concrete realization of “a leaf is a CrewTask”. Produced by
Subtask::to_crew_task; the runner adds placement (a workspace_ref) when
it actually spawns the work, so it isn’t carried here. No id/deps/status
either — those are the plan’s bookkeeping, not the child’s concern.
Fields§
§goal: StringWhat the child agent is asked to do (the subtask’s instruction).
caveats: CaveatsThe authority the child runs under — the parent’s grant met with the
subtask’s declared policy. meet is the greatest lower bound, so this can
only narrow the parent (attenuation, never amplify): a model-proposed
plan can never widen the grant it was handed.
context: Vec<String>The leaf’s file scope — its write lane (#812; see
Subtask::context). Forwarded as args["scope"] and intersected
into the effective writable set at apply; empty = unfenced.
verify: Option<String>The optional verify command that gates this task — forwarded to the crew
op so the child’s work is checked before it is accepted (the #332
per-subtask gate). None = no per-task check.
Trait Implementations§
impl Eq for CrewTask
impl StructuralPartialEq for CrewTask
Auto Trait Implementations§
impl Freeze for CrewTask
impl RefUnwindSafe for CrewTask
impl Send for CrewTask
impl Sync for CrewTask
impl Unpin for CrewTask
impl UnsafeUnpin for CrewTask
impl UnwindSafe for CrewTask
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,
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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