pub struct SectionDef {Show 14 fields
pub key: String,
pub heading: String,
pub required: bool,
pub search_weight: f32,
pub catch_all: bool,
pub write_rules: Vec<String>,
pub description: Option<String>,
pub content: Option<String>,
pub item_pattern: Option<String>,
pub table: Option<TableFormat>,
pub example: Option<String>,
pub format_severity: ConstraintSeverity,
pub compiled_content: Option<ContentExpr>,
pub format_problems: Vec<String>,
}Expand description
A section within an entity (e.g. “Claim”, “Evidence”).
Fields§
§key: String§heading: String§required: boolWhether an entity must carry this section — absence means
optional, the same rule metadata fields follow. required: true refuses a create without the section
(MISSING_REQUIRED_SECTION).
search_weight: f32§catch_all: bool§write_rules: Vec<String>§description: Option<String>§content: Option<String>Declared markdown shape (section-format vocabulary, plan 08):
a flat content expression over the mdast block vocabulary —
see crate::content_expr::ContentExpr. Absent = free-form,
exactly the pre-declaration behavior. Validated and compiled
at schema load (SectionDef::compiled_content).
item_pattern: Option<String>Regex applied to the repeating unit of the declared content
(list items with lazy continuation joined; paragraph source
lines). Implicitly anchored ^…$; named capture groups name
the parts in refusal payloads. Legal only when content
contains exactly one of list / paragraph.
table: Option<TableFormat>Table contract — only legal when content contains table.
example: Option<String>One conforming snippet, echoed verbatim in every format refusal — for an agent, a conforming example outperforms any grammar string.
format_severity: ConstraintSeveritySeverity of format violations (plan 07’s uniform model).
Default block: a shape violation is deterministic and
one-round-trip repairable (the enum-value analogy) — warn
stays available per section.
compiled_content: Option<ContentExpr>The compiled content expression — populated by the loader
(parse once, match per write). Skipped in serialization so the
on-disk form round-trips. None when no format is declared OR
the declaration is defective (see format_problems).
format_problems: Vec<String>Problems the loader found in this section’s format declaration.
Same posture as the reserved-metadata-key check: install and
strict validation refuse on these
(crate::loader::check_section_formats); boot and
sealed-schema loads do NOT — a sealed schema carrying a bad
declaration keeps loading (refusing at boot would brick the
workspace) and the defect surfaces as a health finding. A
defective declaration is never enforced (compiled_content
stays None).
Trait Implementations§
Source§impl Clone for SectionDef
impl Clone for SectionDef
Source§fn clone(&self) -> SectionDef
fn clone(&self) -> SectionDef
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 SectionDef
impl Debug for SectionDef
Source§impl<'de> Deserialize<'de> for SectionDef
impl<'de> Deserialize<'de> for SectionDef
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 SectionDef
impl JsonSchema for SectionDef
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