Follow-up from the #116 error-catch investigation.
Motivation
While debugging a resumed pipeline run, we noticed two mutually-inconsistent 'remaining pkg' counts:
length(list.files(assessed, pattern = '_meta.rds$')) (pkg-name-only) said 1282 bundles were on disk.
val_build()'s parallel pre-filter said 636 pkgs were 'already assessed on disk' out of 1606.
The gap is real: the pre-filter checks for <pkg>_<ver>_meta.rds, so any pkg whose on-disk version doesn't match prep$vers gets re-dispatched. Root cause candidates:
- Snapshot repos aren't actually frozen where we thought they were.
riskmetric (or a helper) fetches from a live mirror instead of the frozen PPM snapshot.
- A previous run wrote bundles at one
prep$vers, the next run's prep$vers differs.
- Something else entirely.
Ask
An exported diagnostic helper: assess_pkg_version_drift(val_dir, prep = NULL, avail_pkgs = NULL) that classifies every pkg in the union of on-disk + expected sets as one of match, drifted, multi_version, unexpected, missing and returns a tibble. Optional summary count print via verbose = TRUE.
Follow-up from the #116 error-catch investigation.
Motivation
While debugging a resumed pipeline run, we noticed two mutually-inconsistent 'remaining pkg' counts:
length(list.files(assessed, pattern = '_meta.rds$'))(pkg-name-only) said 1282 bundles were on disk.val_build()'s parallel pre-filter said 636 pkgs were 'already assessed on disk' out of 1606.The gap is real: the pre-filter checks for
<pkg>_<ver>_meta.rds, so any pkg whose on-disk version doesn't matchprep$versgets re-dispatched. Root cause candidates:riskmetric(or a helper) fetches from a live mirror instead of the frozen PPM snapshot.prep$vers, the next run'sprep$versdiffers.Ask
An exported diagnostic helper:
assess_pkg_version_drift(val_dir, prep = NULL, avail_pkgs = NULL)that classifies every pkg in the union of on-disk + expected sets as one ofmatch,drifted,multi_version,unexpected,missingand returns a tibble. Optional summary count print viaverbose = TRUE.