Instead of marking packages as "needing review" if they were unavailable once, it would be more reasonable and robust to instead check the repository id as returned by GitHub's API, store that in the database, and flag those packages as needing review that have a different ID from the latest crawl compared to the database.
Instead of marking packages as "needing review" if they were unavailable once, it would be more reasonable and robust to instead check the repository id as returned by GitHub's API, store that in the database, and flag those packages as needing review that have a different ID from the latest crawl compared to the database.