The source-fallback list is read from the flat slot's PACKAGES.gz and names the
packages that index serves as CRAN source rather than as a binary. It was then
applied to every path in the listing, including per-minor ones.
A package the flat slot serves as source still has a genuine `4.4/<pkg>.tar.gz`,
so removing that basename deleted a real binary from the cache and made every
per-minor pass rebuild it, every run, forever.
The overlap with the work list is total, not partial: the sensitive candidate
list is exactly "sensitive packages with no flat binary", which is the same set
this removed. That pinned the cache-driven skip rate near zero even after #192
made the per-minor objects visible. amd64/resolute listed 21212 per-minor
objects but cached only 13572, then recompiled osmdata, osqp and outbreaker2
while their 4.4 binaries sat in the bucket returning HTTP 200.
This change will:
- read each per-minor index and exclude only that minor's own source fallbacks
- keep judging flat-slot objects by the flat index
- report the fallback count per index, so a collapse is visible in the log