1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! # panproto-mig
//!
//! Migration engine for panproto.
//!
//! This crate computes and applies schema migrations, transforming
//! instances from one schema version to another while preserving
//! data integrity through theory morphisms.
//!
//! The migration pipeline consists of:
//!
//! 1. **Existence checking** ([`check_existence`]): Theory-derived
//! validation that a migration is well-formed. The conditions
//! checked depend on the protocol's schema and instance theories.
//!
//! 2. **Compilation** ([`compile()`]): Pre-computes surviving vertex/edge
//! sets and remapping tables for fast per-record application.
//!
//! 3. **Lifting** ([`lift_wtype`], [`lift_functor`]): Applies a compiled
//! migration to concrete instances, delegating to `panproto-inst`'s
//! restrict operations.
//!
//! 4. **Composition** ([`compose()`]): Composes two sequential migrations
//! into a single equivalent migration.
//!
//! 5. **Inversion** ([`invert()`]): Checks if a migration is invertible
//! (bijective) and constructs the inverse if so.
// Allow concrete HashMap/HashSet in public API signatures per ENGINEERING.md spec.
pub use compile;
pub use compose;
pub use ;
pub use ;
pub use invert;
pub use ;
pub use Migration;