Skip to main content

type_bridge_schema_migration/
lib.rs

1//! Verified offline schema migration contracts and provider lowering policy.
2
3mod apply_plan;
4mod coordinator;
5mod directory;
6mod execution;
7mod generate;
8mod history;
9mod legacy;
10pub mod lowering;
11mod manifest;
12mod policy;
13pub mod profile;
14mod rollback_plan;
15mod verify;
16
17pub use apply_plan::{
18    MigrationApplyPlanError, MigrationApplyTarget, VerifiedMigrationApplyManifest,
19    VerifiedMigrationApplyPlan, VerifiedMigrationApplyStep, VerifiedMigrationTransactionGroup,
20    build_verified_migration_apply_plan, partition_transaction_groups,
21};
22pub use coordinator::{
23    GroupCommitFailure, GroupCommitFuture, MigrationExecutionOutcome, MigrationExecutionPosition,
24    MigrationExecutionProvider, MigrationRollbackOutcome, PreparedMigrationGroup,
25    execute_verified_migration_apply_plan, execute_verified_migration_rollback_plan,
26};
27pub use directory::{
28    MigrationAuthoringLock, MigrationDirectory, MigrationDirectoryEntry,
29    validate_portable_direct_child,
30};
31pub use execution::{
32    AppliedRecord, ExecutionFence, ExecutionFuture, ExecutionScope, GroupCommitCertainty,
33    GroupEventRecord, GroupJournalEventKind, GroupRecoveryDecision, GroupRecoveryObservation,
34    JournalEntry, JournalSequence, LeaseHolderId, MigrationExecutionJournal, MigrationLease,
35    MigrationLeaseStore, OpenPlanRecord, OpenRollbackPlanRecord, PlanRecord, RollbackPlanRecord,
36    RollbackStepEventRecord, RolledBackRecord, active_applied_entries, decide_group_recovery,
37};
38pub use generate::{
39    GeneratedMigration, MigrationGenerationOutcome, MigrationGenerationRequest,
40    MigrationPreviewError, generate_next_migration, render_migration_preview,
41    try_acquire_migration_authoring_lock, write_generated_migration_under_lock,
42};
43pub use history::{
44    CanonicalMigrationHistoryEvidence, MigrationHistoryGraph,
45    canonical_history_declared_legacy_bridge_count_in, canonical_history_declares_legacy_bridge_in,
46    discover_verified_migration_chain, discover_verified_migration_chain_in,
47    discover_verified_migration_chain_with_evidence_in, discover_verified_migrations,
48    discover_verified_migrations_in, require_adoption_authority_pair,
49    require_adoption_authority_pair_state,
50};
51pub use legacy::{
52    LEGACY_APPLIED_SET_ALGORITHM, LEGACY_APPLIED_SET_CANONICALIZATION, LEGACY_CHECKSUM_ALGORITHM,
53    LegacyAppliedSetDigest, LegacyMigrationAppLabel, LegacyMigrationChecksum, LegacyMigrationId,
54    LegacyMigrationName, LegacyMigrationReference, build_legacy_frontier_bridge,
55};
56pub use lowering::{
57    SchemaFactCatalog, SchemaLoweringBinding, SchemaLoweringDiagnostic, SchemaLoweringPlan,
58    StatementOperationKind, StatementUnit, TypeQlStatement, TypeQlVerb, lower_schema_delta,
59};
60pub use manifest::{
61    SchemaMigrationDraft, VerifiedSchemaMigrationManifest, build_verified_manifest,
62    decode_verified_manifest, encode_verified_manifest, verified_manifest_digest,
63};
64pub use policy::{MigrationApplyApproval, MigrationSafetyPolicy, SafetyPolicyDecision};
65pub use rollback_plan::{
66    VerifiedMigrationRollbackManifest, VerifiedMigrationRollbackPlan,
67    VerifiedMigrationRollbackStep, build_verified_migration_rollback_plan,
68};
69pub use verify::{MigrationDriftFinding, MigrationVerifyReport, verify_migration_state};
70
71pub use profile::{
72    AnnotationKind, AnnotationSubjectKind, AnnotationTransition, EvidenceFlag, EvidenceRequirement,
73    FactKind, FactTransition, InterfaceDefault, InterfaceKind, LoweringMechanism, SafetyScenario,
74    SafetyScenarioRule, SchemaLoweringProfile, TransitionRule, annotation_transition_rule,
75    canonical_profile_bytes, fact_transition_rule, profile_fingerprint,
76    schema_lowering_profile_binding, typedb_3_12_1_profile,
77};
78pub use type_bridge_contract::schema_lowering::{
79    SCHEMA_LOWERING_PROFILE_CANONICALIZATION, SCHEMA_LOWERING_PROFILE_FINGERPRINT_DOMAIN,
80    SchemaLoweringProfileFingerprint, SchemaLoweringProfileId,
81    TYPEDB_3_12_1_SCHEMA_LOWERING_PROFILE_ID,
82};
83pub use type_bridge_schema::{SafetyClass, SafetyClassificationError, classify_operation_safety};