Skip to main content

CACHE_EPOCH

Constant CACHE_EPOCH 

pub const CACHE_EPOCH: &str = "schema_v17";
Expand description

Cache-invalidation epoch — a manual cache-buster folded into the cache key. Bump on any correctness fix that should orphan existing cache files, whether or not the DuckDB schema shape changed. This is deliberately independent of facts::schema::CURRENT_SCHEMA_VERSION (the on-disk schema version): a non-schema correctness fix bumps this without touching the schema version, and the historical schema_v prefix on the value is retained so older cache files stay invalidated.

The current epoch (schema_v17) invalidates caches whose author_aliases table predates the (raw_name, raw_email) re-key. The old email-only key collapsed two name+email identities that share one commit email into a single first-wins row, dropping the loser’s commits from every canonical-set consumer (knowledge shares, familiarity, bus factor). A stale hit would serve those collapsed rows, so the epoch bump forces the fact store to be rebuilt with the pair-keyed table.

Public so other cache-like artifacts (e.g. codelore diff’s --base-cache) can fold this epoch into their own freshness keys instead of duplicating the literal — see codelore-cli/src/diff.rs::base_cache_opts_digest.