feat(proxy): reclaim space from the blob store
Age is the write time, so eviction is by insertion order and not by use
Defect 14 / Tier 3 / issue
services/proxy/src/sweep.rs:186services/proxy/src/sweep.rs:100-101services/proxy/src/sweep.rs:10-12Expected review
record a use time - touch the blob, or keep an access record, when it is served - or stop describing this as least-recently-used and accept it as first-in-first-out.
Discovery difficulty
mtime is the obvious thing to reach for and it *is* the age of the blob, so the code is not wrong about what it computes, only about what that means. Finding it means noticing that the diff claims use, then checking that nothing on the serve path updates the field the claim rests on.
Trigger
a dependency fetched a year ago and served on every build since, against one fetched yesterday and never read again. The year-old one is evicted first, and it is the one every build needs. On a long-lived proxy that inverts the policy across the whole working set.
Severity
issue