pub struct Subtask {
pub id: String,
pub prompt: String,
pub files: Vec<String>,
pub footprint: Option<SymbolFootprint>,
}Expand description
One unit of farmed-out work. Under the B2 dumb partitioner, files is the
set of repo-relative paths the subtask is expected to touch — the partition
key. (B4 replaces this with symbol-level footprints.)
Fields§
§id: String§prompt: String§files: Vec<String>Repo-relative paths this subtask is expected to touch — the dumb partitioner’s key, and a fallback when no footprint is declared.
footprint: Option<SymbolFootprint>The subtask’s DECLARED symbol footprint (what it promised to write/read). When present on every subtask, scheduling uses the B4 footprint analyzer instead of the file partitioner, and the gate’s containment is checked against the declared writes. Kept distinct from the scheduler’s expanded (blast-radius) footprint — the gate must never see the expanded set, or containment would silently widen.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Subtask
impl RefUnwindSafe for Subtask
impl Send for Subtask
impl Sync for Subtask
impl Unpin for Subtask
impl UnsafeUnpin for Subtask
impl UnwindSafe for Subtask
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
Mutably borrows from an owned value. Read more
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> 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> ⓘ
Converts
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> ⓘ
Converts
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