//! Turning a declared `AppConfig` into a [`ResolvedApp`] the daemon will run.
//!
//! Every rule that can refuse a config lives under here, and the proof that
//! they all ran is the [`ResolvedApp`] token: it has no public constructor,
//! so a caller holding one knows normalization happened.
//!
//! `resolved_app` is the pipeline and owns the bounds it enforces, `validate`
//! holds the checks reused across fields, and `tilde` expands paths and
//! renders the templates a log path may carry. `error` is what any of them
//! refuses with.
use Path;
pub use NormalizeError;
pub use ;
pub use ;
/// A shep home for the cases that never mention one, so a fixture
/// growing a `{{SHEP_HOME}}` later reads as the token rather than as a
/// refusal.