//! Runner image and toolcache compatibility checks for offline CI systems.
//!
//! `gha-runner-image-proof` is the receipt-backed compatibility oracle for the
//! runner image and toolcache surface that `ci-forge` and other offline runners
//! need to model. It validates a runner-image manifest, probes the host or a
//! Docker image against it, and classifies whether `actions/setup-node@v4` can
//! be satisfied from the manifest's toolcache layout — all without contacting
//! GitHub or downloading anything.
//!
//! The crate owns the canonical `runner-image-manifest` schema (v1). It does
//! not ship a baked-in catalog of GitHub-hosted runner images; the manifest is
//! the expectation, and the tool verifies whether a host/image matches it.

pub mod check;
pub mod engine;
pub mod manifest;
pub mod model;
pub mod probe;
pub mod probe_docker;
pub mod probe_host;
pub mod render;
pub mod setup_node;

pub use engine::{
    CheckOptions, ProbeDockerOptions, ProbeHostOptions, SetupNodeCmdOptions, run_check,
    run_probe_docker, run_probe_host, run_setup_node,
};
pub use manifest::RunnerManifest;
pub use model::{
    Check, CheckStatus, Compatibility, OutputFormat, ReceiptMode, RunnerImageReceipt, ToolInfo,
};
pub use render::render_receipt;

pub const TOOL_NAME: &str = "gha-runner-image-proof";
pub const TOOL_VERSION: &str = env!("CARGO_PKG_VERSION");
