pub trait BaselineStore {
// Required methods
fn load(&self, scope: &str, name: &str) -> Result<Option<Baseline>>;
fn save(&self, scope: &str, baseline: &Baseline) -> Result<()>;
}Expand description
A storage backend for benchmark baselines.
Implementations MUST treat load as tolerant of missing data
(return Ok(None)). Implementations SHOULD treat save as
atomic — partial writes that survive a crash are unacceptable
because they would corrupt comparisons on the next run.
scope is a free-form key the caller uses to namespace baselines
(e.g. a git SHA, a branch name, or "latest"). The implementation
MUST treat (scope, name) as the identity of a baseline.