nornir 0.5.3

Companion to cargo: dependency tracking, release gating, deploy, benchmarks, and documentation assembly. Project-agnostic.
//! Graph extraction — building the constellation's dependency + symbol graph
//! `G = (V, E)` from whatever evidence exists.
//!
//! nornir models the constellation as a directed graph `G = (V, E)` (EPIC
//! MATHEMATICAL FOUNDATIONS): `V` = crates/objects, `E` = "must-come-first"
//! dependency edges. There is **one graph model** but **several extractors**
//! that feed it:
//!
//!  - the **source extractor** — [`crate::warehouse::dep_graph`] (`Cargo.toml`
//!    manifests → [`WorkspaceGraph`](crate::warehouse::dep_graph::WorkspaceGraph))
//!    and [`crate::knowledge::symbols`] (a syn pass → symbol/call rows);
//!  - the **binary extractor** — [`extract::binary`] (compiled ELF artefacts →
//!    the same `WorkspaceGraph` + symbol/call rows) for the airgap / vendored
//!    `.so` case where no source is checked out (EPIC item 8, on-theme for
//!    **Skidbladnir**).
//!
//! Both feed the SAME node/edge types so modgunn (security/CVE), blodomlopp
//! (the circulatory viz), and the release doctor's blast-radius reason over
//! dependencies uniformly — a node/edge only carries an extra
//! [`extract::Provenance`] tag recording whether it came from source or binary.

pub mod extract;