mpl_core/
lib.rs

1//! MPL Core Library
2//!
3//! Core primitives for the Meaning Protocol Layer:
4//! - Semantic Types (STypes) and schemas
5//! - MPL Envelope structure
6//! - AI-ALPN handshake messages
7//! - QoM profiles and evaluation
8//! - CEL-based assertions for Instruction Compliance
9//! - Policy engine for rule-based enforcement
10//! - Canonicalization and semantic hashing
11//! - Error taxonomy
12
13pub mod assertions;
14pub mod determinism;
15pub mod envelope;
16pub mod error;
17pub mod groundedness;
18pub mod handshake;
19pub mod hash;
20pub mod metrics;
21pub mod ontology;
22pub mod policy;
23pub mod qom;
24pub mod stype;
25pub mod validation;
26
27pub use assertions::{Assertion, AssertionSet, AssertionEvaluator, AssertionResult, AssertionSetResult, AssertionSeverity, EvaluationContext};
28pub use envelope::MplEnvelope;
29pub use error::{MplError, MplErrorCode};
30pub use handshake::{ClientHello, ServerSelect};
31pub use hash::{canonicalize, semantic_hash};
32pub use metrics::{QomComputer, MetricContext, MetricComputeResult, TocResult, TocMethod};
33pub use policy::{PolicyEngine, PolicyContext, PolicyDecision};
34pub use qom::{QomProfile, QomReport};
35pub use stype::SType;
36pub use validation::SchemaValidator;
37
38/// MPL protocol version
39pub const MPL_VERSION: &str = "0.1.0";
40
41/// Re-export commonly used types
42pub mod prelude {
43    pub use crate::assertions::{Assertion, AssertionSet, AssertionEvaluator, AssertionResult, AssertionSetResult, AssertionSeverity, EvaluationContext};
44    pub use crate::envelope::MplEnvelope;
45    pub use crate::error::{MplError, MplErrorCode, Result};
46    pub use crate::handshake::{ClientHello, ServerSelect};
47    pub use crate::hash::{canonicalize, semantic_hash};
48    pub use crate::metrics::{QomComputer, MetricContext, MetricComputeResult, TocResult, TocMethod};
49    pub use crate::policy::{PolicyEngine, PolicyContext, PolicyDecision, Policy, Operation};
50    pub use crate::qom::{QomMetrics, QomProfile, QomReport};
51    pub use crate::stype::SType;
52    pub use crate::validation::SchemaValidator;
53}