Module assertions

Module assertions 

Source
Expand description

CEL-based Assertion System

Provides assertion definitions and evaluation using the Common Expression Language (CEL). Assertions are used to compute Instruction Compliance (IC) metrics.

§Example

use mpl_core::assertions::{Assertion, AssertionSet, AssertionEvaluator};
use serde_json::json;

let assertions = AssertionSet::new(vec![
    Assertion::new("amount_positive", "payload.amount > 0", "Amount must be positive"),
    Assertion::new("currency_valid", "payload.currency in ['USD', 'EUR', 'GBP']", "Invalid currency"),
]);

let payload = json!({"amount": 100, "currency": "USD"});
let result = assertions.evaluate(&payload)?;
assert!(result.passed());

Structs§

Assertion
A single assertion with a CEL expression
AssertionEvaluator
CEL-based assertion evaluator
AssertionResult
Result of evaluating a single assertion
AssertionSet
A set of assertions to evaluate together
AssertionSetResult
Result of evaluating an assertion set
EvaluationContext
Additional context for assertion evaluation

Enums§

AssertionError
Assertion evaluation error
AssertionSeverity
Assertion severity levels

Functions§

load_assertions_from_json
Load assertions from a JSON file