pub struct AdvisorStats {
pub agent: String,
pub seated: usize,
pub proposed: usize,
pub absent: usize,
pub faint: usize,
pub strong: usize,
}Expand description
Design-deliberation record for one agent.
Approximate by construction, same as crate::advise::Reflection itself:
strong/faint come from a word-overlap heuristic against the synthesis
brief, not from an explicit attribution, so Self::reflection_rate is a
rough read on whose ideas seemed to land, not a precise credit split.
Fields§
§agent: StringAgent id.
seated: usizeAdvisor seats it occupied, across every run with [graph] advise on.
proposed: usizeSeats where it produced a usable proposal (record.proposal.is_some()).
absent: usizeSeats where it produced no usable proposal at all (crashed, timed
out, or answered with nothing a proposal could be parsed out of).
Counted from record.proposal.is_none() directly rather than from
record.reflection == Absent — reflection is #[serde(default)]
and can be left at its default on a record from before
apply_reflection ran, which would otherwise double as a false
“absent”.
faint: usizeProposals the synthesis brief carried little or no recognisable trace of.
strong: usizeProposals the synthesis brief named outright or carried enough of to count as a clear match.
Implementations§
Source§impl AdvisorStats
impl AdvisorStats
Sourcepub fn reflection_rate(&self) -> f64
pub fn reflection_rate(&self) -> f64
Share of its proposals rated Strong, as a percentage. The
denominator is proposed, not seated — a seat that never produced
a proposal had nothing for the synthesis to reflect, so it cannot
count against this rate any more than a reviewer’s silence counts
against ReviewerStats::precision.
Same caveat as the struct itself: this is a heuristic read on reflection, not a precise attribution.
Trait Implementations§
Source§impl Clone for AdvisorStats
impl Clone for AdvisorStats
Source§impl Debug for AdvisorStats
impl Debug for AdvisorStats
Auto Trait Implementations§
impl Freeze for AdvisorStats
impl RefUnwindSafe for AdvisorStats
impl Send for AdvisorStats
impl Sync for AdvisorStats
impl Unpin for AdvisorStats
impl UnsafeUnpin for AdvisorStats
impl UnwindSafe for AdvisorStats
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