Skip to main content

LlmDraft

Struct LlmDraft 

Source
pub struct LlmDraft {
    pub summary: String,
    pub target: String,
    pub guidance: String,
    pub evidence: Vec<String>,
    pub confidence: f64,
    pub lesson: String,
    pub proposal: Option<Value>,
}
Expand description

One DISCOVER draft as returned by the model. Unknown fields are dropped by serde; the engine further validates (cite-check, caps, target class, grounding, and independent verification before it is ever stored).

Fields§

§summary: String§target: String§guidance: String§evidence: Vec<String>§confidence: f64

The model’s self-reported confidence 0.0–1.0 that this finding is both correct and materially useful (§5.1). Missing/garbled → 0.0 (rejected by the confidence floor), a safe default.

§lesson: String

Optional authored lesson: one imperative rule the model proposes to record as a Fact grain. Empty (the default) keeps the draft advisory. A non-empty lesson makes the surviving recommendation applicable — through human review + apply only, never auto-apply — and the lesson text is folded into the GROUND claim and VERIFY summary so both gates judge exactly what an apply would write.

§proposal: Option<Value>

The generalized proposal vocabulary (§9.1): what change this draft asks a reviewer to make. Held as raw JSON so one draft naming an unknown or malformed kind degrades to advisory instead of dropping the whole response — read it through LlmDraft::parsed_proposal.

Implementations§

Source§

impl LlmDraft

Source

pub fn parsed_proposal(&self) -> Option<DraftProposal>

The proposal this draft makes, or None when it is advisory.

An explicit proposal decides on its own: if it names an unknown kind or fails to parse, the draft is advisory rather than being quietly re-read as something the model did not ask for. lesson is the fallback only when no proposal was sent at all, which is what keeps every transcript recorded before the vocabulary existed parsing — and therefore keeps the published runs comparable.

Trait Implementations§

Source§

impl Clone for LlmDraft

Source§

fn clone(&self) -> LlmDraft

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 LlmDraft

Source§

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

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

impl Default for LlmDraft

Source§

fn default() -> LlmDraft

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for LlmDraft

Source§

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

Deserialize this value from the given Serde deserializer. Read more

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<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> 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, <T as TryFrom<U>>::Error>

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.