Skip to main content

jacquard_router/
lib.rs

1//! Generic router middleware for Jacquard.
2//!
3//! Control flow: a host registers one or more routing engines with
4//! the router, then the router owns the canonical activation and maintenance
5//! flow. It collects candidates across engines, selects one admissible route,
6//! asks the chosen engine to materialize its private runtime state, and only
7//! then publishes the canonical route snapshot and commitments.
8//!
9//! Ownership:
10//! - `ActorOwned`: canonical route table, lease transfer, commitment view
11//! - engine-private runtime state stays below the shared engine boundary
12//! - success-bearing mutations are proof-gated by typed engine evidence
13
14#![forbid(unsafe_code)]
15#![cfg_attr(not(feature = "std"), no_std)]
16
17extern crate alloc;
18
19mod delivery;
20mod middleware;
21mod runtime;
22
23pub use delivery::admitted_delivery_intent;
24pub use middleware::{FixedPolicyEngine, MultiEngineRouter};