Skip to main content

Report

Struct Report 

Source
pub struct Report {
    pub run: RunId,
    pub agent: AgentName,
    pub itinerary: ItineraryId,
    pub headline: String,
    pub body: String,
    pub artifacts: Vec<String>,
    pub at: Timestamp,
}
Expand description

What one run concluded.

Fields§

§run: RunId

The run this describes.

§agent: AgentName

Which agent wrote it.

§itinerary: ItineraryId

The chain it belonged to.

§headline: String

One line, for a list. What happened, not what was attempted.

§body: String

The report itself, as the agent wrote it.

§artifacts: Vec<String>

What it produced or changed: paths, branch names, pull request identifiers.

Separate from the body so a reader can find the output without reading the prose, and so a later run can be told what an earlier one left behind.

§at: Timestamp

When it was written.

Implementations§

Source§

impl Report

Source

pub fn new( run: RunId, agent: AgentName, itinerary: ItineraryId, headline: impl Into<String>, body: impl Into<String>, at: Timestamp, ) -> Self

Records a report, trimming anything past the caps.

Truncates rather than rejecting. A report is the only account of a run that has already happened and already cost money; throwing it away because it was too long would lose the thing entirely to punish a formatting mistake.

Source

pub fn producing(self, artifacts: Vec<String>) -> Self

Names what the run produced.

Source

pub fn has_body(&self) -> bool

Returns true when the agent had something to say beyond the headline.

Source

pub fn was_trimmed(&self) -> bool

Returns true when anything was trimmed to fit.

Worth surfacing: a reader who can see the report was cut knows to look at the transcript rather than assuming the agent stopped there.

Trait Implementations§

Source§

impl Clone for Report

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 Report

Source§

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

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

impl<'de> Deserialize<'de> for Report

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 Report

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 Report

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 Report

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V