pub struct ReviewRecord {
pub reviewer: usize,
pub agent: String,
pub summary: String,
pub findings: Vec<Finding>,
pub vote: Option<ReviewVote>,
pub failed: Option<String>,
pub duration_ms: u64,
pub attempts: usize,
}Expand description
One reviewer’s report in a round.
Fields§
§reviewer: usizeReviewer seat number, 1-based.
agent: StringAgent occupying the seat.
summary: StringReviewer prose.
findings: Vec<Finding>Findings, with magi-assigned ids.
vote: Option<ReviewVote>This seat’s initial vote. None on a record predating votes, exactly
like a round that genuinely had none cast — never a stand-in for a
vote that was lost.
failed: Option<String>Why this reviewer produced nothing.
duration_ms: u64Wall-clock time.
attempts: usizeHow many times this seat was asked before it settled — 0 for a first
answer, N after N nudges (ask_json_wave’s retry loop). Read this
together with Self::failed, never failed alone: failed: Some(_)
with attempts == 0 is a seat that never answered at all, while
failed: None with attempts > 0 is one that only came back after a
nudge — recovered, not silent — and the two must not look the same in
history. A record written before this field existed defaults to 0,
which under-reports a pre-existing retry rather than inventing one;
see ask_json_wave’s own doc for where this is filled in.
Trait Implementations§
Source§impl Clone for ReviewRecord
impl Clone for ReviewRecord
Source§impl Debug for ReviewRecord
impl Debug for ReviewRecord
Source§impl<'de> Deserialize<'de> for ReviewRecord
impl<'de> Deserialize<'de> for ReviewRecord
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>,
Auto Trait Implementations§
impl Freeze for ReviewRecord
impl RefUnwindSafe for ReviewRecord
impl Send for ReviewRecord
impl Sync for ReviewRecord
impl Unpin for ReviewRecord
impl UnsafeUnpin for ReviewRecord
impl UnwindSafe for ReviewRecord
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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