pub struct ResolvedRoles {
pub implementers: Vec<AgentSpec>,
pub judges: Vec<AgentSpec>,
pub reviewers: Vec<AgentSpec>,
pub fixer: Option<AgentSpec>,
pub conductor: AgentSpec,
pub implementer_roster: Vec<AgentSpec>,
pub judge_roster: Vec<AgentSpec>,
pub reviewer_roster: Vec<AgentSpec>,
}Expand description
Roles resolved to concrete agent specs for one run.
Fields§
§implementers: Vec<AgentSpec>One per candidate.
judges: Vec<AgentSpec>One per judge.
reviewers: Vec<AgentSpec>One per reviewer slot.
fixer: Option<AgentSpec>Explicit fixer, if configured.
conductor: AgentSpecQueue conductor, explicitly selected or resolved by the standalone-seat fallback.
implementer_roster: Vec<AgentSpec>The full ordered implementer roster, in Roles::implementers’s own
order — or [[agents]] in file order, when that list is empty. Unlike
Self::implementers, never truncated to graph.candidates and
never rotated/wrapped: a solo run (candidates = 1) resolves
implementers down to a single slot, but graph::Runner’s per-seat
quota fallback needs the whole list to walk forward through when
that one slot’s agent runs out of quota mid-run.
judge_roster: Vec<AgentSpec>Self::implementer_roster’s counterpart for judge seats: the whole
[roles] judges list (or every agent), untruncated and unrotated, for
the per-seat handover when a judge’s agent fails.
reviewer_roster: Vec<AgentSpec>Likewise for reviewer seats.
Trait Implementations§
Source§impl Clone for ResolvedRoles
impl Clone for ResolvedRoles
Auto Trait Implementations§
impl Freeze for ResolvedRoles
impl RefUnwindSafe for ResolvedRoles
impl Send for ResolvedRoles
impl Sync for ResolvedRoles
impl Unpin for ResolvedRoles
impl UnsafeUnpin for ResolvedRoles
impl UnwindSafe for ResolvedRoles
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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