Skip to main content

DraftProposal

Enum DraftProposal 

Source
pub enum DraftProposal {
    Lesson {
        lesson: String,
    },
    Fact {
        relation: String,
        object: String,
    },
    QueryRevision {
        body: String,
    },
    PlanRevision {
        edits: Vec<PlanEdit>,
    },
    CodeRevision {
        source: String,
    },
}
Expand description

What a DISCOVER draft proposes to change. Closed vocabulary: every variant maps onto an apply path that already records an inverse, and anything the model returns outside it leaves the draft advisory.

Note what each variant does NOT carry. The subject of a Fact, the name of a QueryRevision, the hash of a PlanRevision and the tool of a CodeRevision all come from the draft’s target, and the evalset a CodeRevision is gated against comes from the substrate — so the model names the change but never names its own scope or its own grader.

Variants§

§

Lesson

One imperative line recorded as a Fact with relation = "lesson". The pre-vocabulary shape, and still the default one.

Fields

§lesson: String
§

Fact

A durable fact under a model-chosen relation — the “stop making a person re-supply this every time” proposal.

Fields

§relation: String
§object: String
§

QueryRevision

A rewrite of the saved CAL query or template named by the target: the agent changing how it assembles its own context.

Fields

§body: String
§

PlanRevision

Field-level edits to the Workflow plan named by the target. Node topology is not expressible here by construction — only the paths the engine’s allowlist admits.

Fields

§edits: Vec<PlanEdit>
§

CodeRevision

New source for the executable tool named by the target. Applies only through §7.4’s recorded evalset-run edge (Rule E1).

Fields

§source: String

Trait Implementations§

Source§

impl Clone for DraftProposal

Source§

fn clone(&self) -> DraftProposal

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 DraftProposal

Source§

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

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

impl<'de> Deserialize<'de> for DraftProposal

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 DraftProposal

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DraftProposal

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.