bug
forget(&index, &gone)` is not gated on `dry_run` and `gone` is filled even in a dry run (lines 136-137 run unconditionally), so `POST /v1/admin/cache/sweep?dry_run=true` really unlinks the index… forget(&index, &gone)` is not gated on `dry_run` and `gone` is filled even in a dry run (lines 136-137 run unconditionally), so `POST /v1/admin/cache/sweep?dry_run=true` really unlinks the index entries of every blob it merely reported — the blobs it "did not remove" become unreachable cache misses immediately and are deleted as unreferenced on the very next real sweep, the opposite of the documented "reports … without removing anything".
services/proxy/src/sweep.rs:140
Evidence quote
Not recorded
Suggested fix
Not recorded