//! Cache-key derivation from workspace state for `haz`.
//!
//! The seam between `haz-cache`'s pure cache-key serialisation and
//! the workspace state a key is derived from. [`build_cache_key`]
//! gathers a task's resolved inputs, its hard-predecessor stream
//! hashes, and its environment from the validated workspace, and
//! folds them into a [`haz_cache::CacheKey`]; [`resolve_input_files`]
//! exposes just the input-resolution step for read-only consumers.
//!
//! The derivation is pure and synchronous (no `tokio` runtime), so
//! both the executor (`haz-exec`) and the read-only `haz why`
//! introspection path depend on this crate without either pulling
//! the other in.
//!
//! [`pattern_walk`] is the shared path-pattern projection and
//! recursive filesystem walker that input resolution builds on; the
//! executor reuses the same walker for output materialisation.
pub use ;