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
- Assertion
Evaluator - CEL-based assertion evaluator
- Assertion
Result - Result of evaluating a single assertion
- Assertion
Set - A set of assertions to evaluate together
- Assertion
SetResult - Result of evaluating an assertion set
- Evaluation
Context - Additional context for assertion evaluation
Enums§
- Assertion
Error - Assertion evaluation error
- Assertion
Severity - Assertion severity levels
Functions§
- load_
assertions_ from_ json - Load assertions from a JSON file