sqry_core/graph/unified/node/mod.rs
1//! Node types for the unified graph architecture.
2//!
3//! This module provides the core node-related types:
4//! - [`NodeId`]: Generational index handle for nodes
5//! - [`NodeKind`]: Enumeration of code entity types
6//! - [`CascadeCleanup`]: Coordinated node removal across graph structures
7//!
8//! # Design Principles
9//!
10//! - **Opaque handles**: `NodeId` is an opaque index, not a composite key
11//! - **Generational safety**: Stale references are detected via generation mismatch
12//! - **Type safety**: `NodeKind` provides exhaustive categorization of code entities
13//! - **Cascade cleanup**: ensures no dangling references after node removal
14
15pub mod cascade;
16pub mod id;
17pub mod kind;
18
19pub use cascade::{
20 CascadeCleanup, CascadeRemovalResult, CascadeStats, FileCascadeResult, cascade_remove_file,
21 cascade_remove_node,
22};
23pub use id::{GenerationOverflowError, NodeId};
24pub use kind::NodeKind;