Skip to main content

suture_core/dag/
mod.rs

1//! Patch DAG — Directed Acyclic Graph of patches with branch management.
2//!
3//! The Patch-DAG is the central data structure that tracks the history of
4//! a Suture repository. Every commit adds a new node to the DAG. Branches
5//! are named pointers to specific nodes.
6//!
7//! # Invariants
8//!
9//! - THM-DAG-001: The DAG is always acyclic
10//! - Every non-root node has at least one parent
11//! - Branch names are unique
12
13#[doc(hidden)]
14pub(crate) mod branch;
15pub mod graph;
16#[doc(hidden)]
17pub(crate) mod merge;
18
19pub use graph::{DagError, DagNode, PatchDag};