nornir 0.5.3

Companion to cargo: dependency tracking, release gating, deploy, benchmarks, and documentation assembly. Project-agnostic.
//! Release gates, publish-order walker, deploy.
//!
//! Each gate is a free function returning `Result<()>`. Generated
//! release binaries call them in the order defined in
//! `workspace_holger/release/SPEC.md`.

pub mod cargo;
/// Release dependency-DAG (crate publish-order graph) assembled as a neutral graph
/// model annotated with per-crate registry state — the deep half of the release
/// dep-DAG viz surface.
pub mod depdag;
pub mod doctor;
pub mod edition;
/// Graph-theory + optimization core the doctor reasons over: Tarjan SCC,
/// condensation → publish waves, MFAS cycle-cut ranking, and the invertive
/// remedy planner over the outcome-space Ω. Pure, deterministic, extractor-agnostic.
pub mod graph_math;
pub mod gate;
pub mod pipeline;
/// Pre-cascade validation (catch ALL blockers before any irreversible
/// `cargo publish`): non-members, missing crates.io metadata, dep-API skew (via
/// `--dry-run` verify), detached workspaces, and registry/version consistency —
/// aggregated into one "preflight: N blocking issue(s)" summary with per-issue fixes.
pub mod preflight;
pub mod progress;
/// Registry-state check (item #10): a pluggable [`registry::RegistryBackend`]
/// (crates.io sparse-index default, custom/private base URL, both pure-Rust
/// `ureq`) that asks the registry "what version is actually PUBLISHED?" and
/// classifies each publish target local-vs-published — catching the
/// local-behind-registry DESYNC (`gatling` 0.1.4-local vs 0.1.6-published)
/// that today's verify-only preflight lets slip through and tear the cascade.
pub mod registry;
/// Topological ROOT-CAUSE analysis (item #9): partition a flat failure list from
/// the publish/preflight cascade into the ROOT crate(s) and the downstream
/// symptoms each root explains, so the operator fixes the one un-published
/// dependency instead of chasing N dependents' verify failures.
pub mod root_cause;
/// Same-version SOURCE-DRIFT detection: a crate whose local source differs from
/// the copy already published at the same version (the "edited without a bump"
/// trap) — a hard preflight blocker, and the inverse (unchanged ⇒ skip republish).
pub mod source_drift;
pub mod stage;
pub mod publish;
pub mod promote;
pub mod regression;
/// Semantic blast radius (EPIC item 7): cross-reference a version bump against the
/// warehouse SCIP call-graph to find the EXACT call sites that touch the changed
/// crate's API — "what actually breaks", not merely "who depends on it".
pub mod semantic_blast;
/// `nornir release undo` (task #32): reverse a release run's mutating steps from
/// the `release_changes` ledger (un-bump, restore `[patch]`, delete/reset branch,
/// yank an immutable publish) + the record wrappers the release path drives.
pub mod undo;