xtask/src/lib.rs
//! **dwarves xtask, the library half.**
//!
//! `xtask` is a bin crate: its verbs are driven from `main.rs` and nothing links
//! it. This lib target exists for exactly one reason — the pieces that GENERATE
//! a committed artifact must be testable, and a test cannot reach into a bin.
//!
//! Only generators live here, and the pure plans of verbs that hand work on
//! (`open-crates`: the release line it gives the forge must be shown, not trusted). A verb that merely spawns work (`demo-wasm`,
//! `deploy-pages`, `gen-*-stub`) stays in `main.rs`, because its proof is the
//! artifact on disk and not a string this process can assert about.
//!
//! Today that is one module: the audited build-flow diagram, whose whole value
//! is a distinction that must be shown to render differently
//! (`xtask/tests/build_flow_svg.rs`).
/// `cargo xtask build-flow-svg` — the `Build{variant}` flow drawn from a data
/// model of audited steps, each carrying the `file:line` it was read at.
pub mod build_flow_svg;
/// `cargo xtask open-crates` — the open crates a lone clone of Holger needs, put on
/// crates.io through the forge's own `dwarves release` (A28 H22, M27).
pub mod open_crates;