Skip to main content

LoopConfig

Struct LoopConfig 

Source
pub struct LoopConfig {
    pub name: String,
    pub version: String,
    pub description: String,
    pub environment: Environment,
    pub features: Features,
    pub intent: Intent,
    pub execution: Execution,
    pub safety: Safety,
    pub evolution: Evolution,
}

Fields§

§name: String

Loop identity. Becomes the generated skill name.

§version: String§description: String§environment: Environment

Which deployment this config describes. Read before anything else, because it decides how strictly the rest is enforced.

§features: Features

Coarse capability switches, each defaulting to the safe answer.

§intent: Intent

What the loop is for, and how anyone would know it worked.

§execution: Execution

How the work gets done.

§safety: Safety

What must not happen, and when this stops.

§evolution: Evolution

How the loop is allowed to change itself.

Implementations§

Source§

impl LoopConfig

Source

pub fn goal_names(&self) -> Vec<&str>

Source

pub fn blocking_validations_for(&self, target: &str) -> Vec<&Validation>

Source

pub fn provider(&self, id: &str) -> Option<&ProviderSpec>

Source

pub fn cascade_for(&self, tier: Tier) -> Vec<&ProviderSpec>

Resolve a tier to the ordered list of provider ids to try.

Source

pub fn evolution_enabled(&self) -> bool

Whether self-evolution is on at both the feature switch and the section.

Two switches rather than one because they answer to different people: features is an operator’s blanket answer for the machine, evolution is the author’s answer for this loop. Either being off is off.

Trait Implementations§

Source§

impl Clone for LoopConfig

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 LoopConfig

Source§

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

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

impl<'de> Deserialize<'de> for LoopConfig

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 JsonSchema for LoopConfig

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for LoopConfig

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

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> 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, 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, !>

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.