Skip to main content

ralph/queue/repair/
mod.rs

1//! Purpose: Facade for queue repair surfaces.
2//!
3//! Responsibilities:
4//! - Declare focused repair companion modules.
5//! - Re-export the stable repair API used by queue callers.
6//! - Document the split between data, planning, persistence/apply, relationship
7//!   rewriting, and dependency traversal helpers.
8//!
9//! Scope:
10//! - Thin module root only; repair report/plan types, planning, apply,
11//!   relationship rewriting, and dependency traversal live in sibling companions.
12//!
13//! Usage:
14//! - Used through `crate::queue::{RepairReport, QueueRepairPlan,
15//!   apply_queue_repair_with_undo, apply_queue_maintenance_repair_with_undo,
16//!   plan_queue_repair, plan_queue_maintenance_repair, plan_loaded_queue_repair,
17//!   get_dependents}`.
18//! - Crate-internal helpers remain available through `crate::queue::repair::*`.
19//!
20//! Invariants/Assumptions:
21//! - Re-exports preserve existing caller imports.
22//! - Mutating repair flows live in `apply` and continue to require a held queue
23//!   lock plus an undo snapshot before saving; planning flows are pure.
24
25mod apply;
26mod dependents;
27mod planning;
28mod relationships;
29mod types;
30
31pub use apply::{apply_queue_maintenance_repair_with_undo, apply_queue_repair_with_undo};
32pub use dependents::get_dependents;
33pub use planning::{plan_loaded_queue_repair, plan_queue_maintenance_repair, plan_queue_repair};
34pub use types::{QueueRepairPlan, RepairReport};