// Path resolution for the compiler-facts artifact. Reuses the already-public
// `graph::graph_json_path` instead of reaching for the private `graph_dir`,
// so this file needs no `super::paths` access at all despite living beside
// `graph.json` in the same directory.
use fs;
use ;
use crategraph_json_path;
use COMPILER_FACTS_CONTRACT_VERSION;
/// Every generation below the current one. Empty at contract version 1;
/// filled in the same way `graph::paths::SUPERSEDED_CACHE_FILES` already
/// is, the moment a second contract version ships.
pub const SUPERSEDED_COMPILER_FACTS_FILES: & = &;
/// Path to the compiler-facts artifact for `root`, beside `graph.json`. The
/// contract version is part of the filename, so a future contract bump
/// writes a new file rather than overwriting this one -- a v2-only reader
/// is inert to a stale v1 file by construction.
/// Removes every superseded compiler-facts generation for `root`. Called
/// from the publish step; a no-op today since
/// [`SUPERSEDED_COMPILER_FACTS_FILES`] is empty at contract version 1.