Global content-addressed cache migration (D0, D1)
Goal
A relative ori_cache is rejected with a diagnostic and no build silently falls through to a temp-dir cache.
Implementation Sketch
Derived from compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md. Implement the work items below in order; each maps to a design bullet in the approved proposal.
Spec References
- Approved proposal:
compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md - Umbrella invariant T4:
compiler_repo/docs/ori_lang/proposals/approved/toolchain-philosophy-proposal.md
Work Items
- Introduce the
ORI_CACHEroot override and addORI_CACHE+ORI_CACHE_BUDGETto theis_unfingerprinted_environmentexemption list in the same change (else setting either disables the cache) - Strengthen relative-path detection into rejection with an explicit diagnostic naming the variable; remove the silent
$TMPDIR/ori-cachethird-tier fallback for a relative-or-unsetHOME - Migrate
ArcIrCacheoff the project-localbuild/cache/functions/arc_ir/layout into the global root; updateincremental/mod.rsmodule docs that describe the supersededbuild/cache/tree - Adopt the
CACHE_FORMAT_VERSIONpath-component migration gate: an unrecognized version is a cold cache, never a misparse