Skip to main content

ItemReport

Struct ItemReport 

Source
pub struct ItemReport {
    pub id: ItemId,
    pub name: String,
    pub tags: Vec<Tag>,
    pub fingerprint: ItemFingerprint,
    pub samples: Vec<SampleReport>,
}
Expand description

Everything one item produced.

Fields§

§id: ItemId

The item.

§name: String

Its name.

§tags: Vec<Tag>

Its tags.

§fingerprint: ItemFingerprint

What the item contained when this run measured it, part by part, with the corpus’s derived declaration recorded alongside.

crate::baseline::compare reads it to answer “is this still the same experiment?”. A report archived before fingerprints existed carries ItemFingerprint::is_unknown, and a comparison against it counts the item as an unverified pairing rather than pretending it checked one.

§samples: Vec<SampleReport>

Every sample, in order.

Implementations§

Source§

impl ItemReport

Source

pub fn total_samples(&self) -> usize

How many samples ran.

Source

pub fn refused_proposals(&self) -> usize

Samples where the model proposed something and the runtime journaled nothing.

The second of the three numbers described at the top of this module, and the one a corpus of forbidden effects cannot produce on its own. A refused proposal is not a failure — the item may well pass, and should, because nothing happened — but it is the model reading the turn wrongly, and a design that claims to make wrong readings harmless has to be able to say how often it is doing that work.

Samples the harness could not set up are not counted: nothing was proposed there because nothing ran.

Counted from the REDUCTION’s verdict on each act, not from the command count. «Proposed something and journaled nothing» reads like the same question and is not: an act that is valid and changes nothing, and one that is waiting for a person to confirm it, both journal zero commands and neither was refused — so the design working reported as the model failing. It went the other way too: a plan holding one refusal beside one act that did write journals a command, and the refusal disappeared.

Source

pub fn samples_with_discards(&self) -> usize

Samples where the runtime threw away at least one model answer.

Counted per sample and not per answer, so the number is comparable with total_samples: a turn that lost three answers in a row is one turn that struggled, not three.

Samples the harness could not set up are not counted, for the same reason as in refused_proposals: nothing ran, so nothing was discarded.

Source

pub fn samples_passed(&self) -> usize

How many satisfied every deterministic expectation.

Source

pub fn deterministic_pass_rate(&self) -> f64

Fraction of samples that satisfied every deterministic expectation.

Judge scores never enter this number.

Source

pub fn is_flaky(&self) -> bool

Returns true when some samples passed and others did not. A flaky item is a result, not an error.

Source

pub fn variance(&self) -> Variance

How much the agent varied across samples.

Source

pub fn failures(&self) -> Vec<&AssertionFailure>

Every deterministic failure of every sample.

Source

pub fn samples_failing(&self, category: ReliabilityCategory) -> usize

How many samples failed at least one expectation of category.

Source

pub fn judge_summaries(&self) -> Vec<CriterionSummary>

The judge’s numbers, one row per criterion that was graded.

Trait Implementations§

Source§

impl Clone for ItemReport

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ItemReport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ItemReport

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ItemReport

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ItemReport

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ItemReport

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more