alba_engine/cache/mod.rs
1//! The skip-only cache: fingerprint a ready beam, decide hit or miss, and
2//! persist the last successful run's manifest and logs under
3//! `.alba/cache/`. Sub-modules: `fingerprint` (hashing), `store`
4//! (persistence). The scheduler is the only consumer.
5
6use std::path::PathBuf;
7
8mod fingerprint;
9mod store;
10
11pub(crate) use fingerprint::{BeamFacts, fingerprint, hash_file, static_contribution};
12pub(crate) use store::{CacheStore, FORMAT_VERSION, Manifest};
13
14/// Caller-facing cache configuration: where the state lives and whether
15/// this run ignores it when reading. `force` still *writes*: a forced run
16/// rewrites every successful beam's entry.
17#[derive(Debug, Clone)]
18pub struct CacheOptions {
19 pub dir: PathBuf,
20 pub force: bool,
21}