//! Typed error enum for the shared graph engine.
//!
//! Every fallible operation on `CsrIndex` (label interning, edge insert,
//! edge delete) returns `Result<T, GraphError>`. The skill / CLAUDE.md
//! discipline is explicit: silent casts or `debug_assert!` at capacity
//! boundaries reproduce the same class of bug as the one being fixed —
//! loud, typed errors only.
use Error;
/// Hard upper bound on the number of distinct edge labels an individual
/// `CsrIndex` can intern. `u32::MAX` is the type-theoretic ceiling;
/// leaving one slot unused lets callers use `u32::MAX` as an "invalid"
/// sentinel should they need it.
pub const MAX_EDGE_LABELS: usize = as usize;
/// Errors returned by graph-engine operations.