The matrix pins each slot's primary R minor, and the weekly cron only
ever builds that one. Non-primary minors are filled in incidentally, by
process-cran-updates looping the installed interpreters for new and
updated packages, so older packages accumulate a backlog there.
That is why rlang exists for 4.4 and 4.5 on amd64/resolute but not 4.6,
and why an R 4.6.1 client got a 4.5.3 binary and 'undefined symbol:
SETLENGTH'. 2709 records across the 16 slots are in that state.
rebuild_r_version selects the interpreter; rebuild-missing.R derives its
target slot from the R it runs under, so that is the whole mechanism.
'matrix' keeps today's behaviour. An R minor absent from the image fails
the step with the available list rather than silently rebuilding the
wrong slot.