check / check (push) Successful in 35s
Bounds cacheDirectory/originals to an adaptive limit: min(configured max, bytesUsed + bytesFree - reserve), bytesFree from statfs, so it tracks disk pressure (status().originalsLimitBytes exposes it). Each original write evicts least-recently-used originals until usage fits; last-use is the file mtime, bumped on every read that returns a path, so order survives restarts. Never evicted: pinned originals and every original whose write overlaps the evicting one — its own and any concurrent sibling's, since content writes run in parallel. So an over-budget fetch keeps the path it returns, and no write can delete a sibling's file before that fetch returns it; such files become eligible on a later, non-overlapping write. Defaults: 100 GiB limit, 50 GiB reserve. Model: opus-4-8