pub struct AssertionIR {
pub assert_id: AssertId,
pub predicate: PredicateIR,
pub verify_via: Vec<VerifyChannel>,
pub vision_prompt: Option<String>,
pub on_missing_input: OnMissingInput,
}Expand description
A single assertion with its explicit verify-chain.
The three baseline allOf conditionals are reproduced on the generated
schema via #[schemars(extend)]:
exprpredicates consume no observation channel (verifyVia: []); all other predicates need at least one channel.visualpredicates are vision-only (verifyVia == ["vision"]).- For
elementState/elementText,visionPromptis required iff the chain containsvision, forbidden otherwise (03 §1.4 rule 5; the compiler never synthesizes vision prompts, principle 6).
“vision only at the chain tail” is order-sensitive and remains a bind-phase check (not expressible in JSON Schema).
Fields§
§assert_id: AssertIdStable assertion id (unique within the step).
predicate: PredicateIRThe predicate to evaluate.
verify_via: Vec<VerifyChannel>Explicit, ordered verify-chain — a subsequence of [dom, uiTree, vision]. Order carries semantics (degradation order) and participates
verbatim in judgeHash (02 §12.1 rule 5). Uniqueness is enforced by
the schema (uniqueItems), not by this type.
vision_prompt: Option<String>Author-written vision prompt, handed verbatim to the VisionVerifier
when vision is the declared degraded tail of an
elementState/elementText verify-chain (YAML surface key visual).
Required iff such a chain contains vision, forbidden otherwise.
Part of the assertion, hence inside the judgeHash domain (02 §12.3).
on_missing_input: OnMissingInputConst "unknown" (principle 4): a channel that cannot complete
evaluation yields unknown for that channel and the chain advances; an
exhausted chain yields unknown. A completed negative is final
(spine R5).
Trait Implementations§
Source§impl Clone for AssertionIR
impl Clone for AssertionIR
Source§fn clone(&self) -> AssertionIR
fn clone(&self) -> AssertionIR
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 AssertionIR
impl Debug for AssertionIR
Source§impl<'de> Deserialize<'de> for AssertionIR
impl<'de> Deserialize<'de> for AssertionIR
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 AssertionIR
impl JsonSchema for AssertionIR
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