//! Domain types, exit codes and IO traits shared by the odx crates.
//!
//! Library crates in the odx workspace never touch the operating system
//! directly. They take the traits defined here ([`Clock`], [`Env`],
//! [`FileSystem`], [`ProcessRunner`]) so that every code path, including
//! error paths, can be exercised in tests. The binaries construct the real
//! implementations from `system` (feature `system`); tests use the
//! in-memory fakes from `fake` (feature `fakes`).
//!
//! Traits for git, forges, package indexes and secret storage are added in
//! the roadmap phases that introduce them.
pub use Clock;
pub use Env;
pub use Exit;
pub use FileSystem;
pub use ;
pub use repo_key;