pub struct TypeDefinition {Show 19 fields
pub name: String,
pub description: String,
pub when_to_use: String,
pub boundaries: Vec<String>,
pub examples: Vec<TypeExample>,
pub system_message: Option<String>,
pub sections: Vec<SectionDef>,
pub metadata_fields: Vec<MetadataFieldDef>,
pub title_weight: f32,
pub text_fields: Vec<String>,
pub hierarchy_relationship: String,
pub edge_weight_overrides: IndexMap<String, f32>,
pub propagating_relationships: Vec<String>,
pub updatable_fields: Vec<String>,
pub health_required_fields: Vec<String>,
pub staleness_threshold_days: u32,
pub write_rules: Vec<String>,
pub required_outgoing: Vec<RequiredOutgoing>,
pub edge_weights: IndexMap<String, f32>,
}Expand description
Complete type definition — serde/schemars-based, authored in YAML.
Fields§
§name: String§description: String§when_to_use: String§boundaries: Vec<String>§examples: Vec<TypeExample>§system_message: Option<String>§sections: Vec<SectionDef>§metadata_fields: Vec<MetadataFieldDef>§title_weight: f32§text_fields: Vec<String>§hierarchy_relationship: String§edge_weight_overrides: IndexMap<String, f32>§propagating_relationships: Vec<String>§updatable_fields: Vec<String>§health_required_fields: Vec<String>§staleness_threshold_days: u32§write_rules: Vec<String>§required_outgoing: Vec<RequiredOutgoing>Outgoing-edge invariants the schema asserts for this type.
Each entry names a list of relationship names plus a cardinality
constraint. The engine evaluates these on every memstead_create /
memstead_update (post-application of inline relations: / patches)
and surfaces unsatisfied blocks as a single
MISSING_REQUIRED_OUTGOING warning per entity. Tier-2 (warn,
never block). Empty default — types without required_outgoing
keep current behaviour.
edge_weights: IndexMap<String, f32>Implementations§
Source§impl TypeDefinition
impl TypeDefinition
Sourcepub fn edge_weight(&self, rel: &str) -> f32
pub fn edge_weight(&self, rel: &str) -> f32
Look up an edge weight by relationship name. Falls back to _default
when the relationship is unknown; returns 1.0 only if _default
itself is missing (the loader normally guarantees it exists).
pub fn section(&self, key: &str) -> Option<&SectionDef>
pub fn catch_all_section(&self) -> Option<&SectionDef>
pub fn metadata_field(&self, key: &str) -> Option<&MetadataFieldDef>
Sourcepub fn suggest_metadata_field(&self, key: &str) -> Option<String>
pub fn suggest_metadata_field(&self, key: &str) -> Option<String>
Closest declared metadata-field key for a typo, used by the CRUD layer to build a “did you mean …” hint when rejecting an unknown key.
Sourcepub fn suggest_section(&self, key: &str) -> Option<String>
pub fn suggest_section(&self, key: &str) -> Option<String>
Closest declared section key for a typo. Used by the CRUD layer to
build the UNKNOWN_SECTION envelope’s suggestion field on inbound
create/update writes.
Sourcepub fn required_sections(&self) -> impl Iterator<Item = &SectionDef>
pub fn required_sections(&self) -> impl Iterator<Item = &SectionDef>
Required sections in declaration order.
Sourcepub fn optional_sections(&self) -> impl Iterator<Item = &SectionDef>
pub fn optional_sections(&self) -> impl Iterator<Item = &SectionDef>
Optional sections in declaration order.
Sourcepub fn system_message_str(&self) -> &str
pub fn system_message_str(&self) -> &str
System message as a string — empty if unset.
Trait Implementations§
Source§impl Clone for TypeDefinition
impl Clone for TypeDefinition
Source§fn clone(&self) -> TypeDefinition
fn clone(&self) -> TypeDefinition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TypeDefinition
impl Debug for TypeDefinition
Source§impl<'de> Deserialize<'de> for TypeDefinition
impl<'de> Deserialize<'de> for TypeDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for TypeDefinition
impl JsonSchema for TypeDefinition
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more