Skip to content

Re-sweep the abstract-only caches: some "needs access" verdicts predate the #586 fix #591

Description

@realmarcin

Follow-up promised in #587, kept out of that PR because the deliverable here is data, and it should not ride in on a tooling diff.

Why

189 PMID caches are still abstract-only. Some fraction of them are false negatives:

Sweeps run under those conditions produced the current "needs access" set. I do not know how much of it is real. That set is what #183 uses to decide which records cannot be enriched, so the error propagates into curation decisions.

Evidence that the yield is real

A 14-reference canary batch on #587, restricted to PMIDs > 33000000, returned 7 full texts and wrote 464 K. An earlier single fetch grew one cache from 485 bytes to 270,006. The strong predictor is publication year — a 14-reference batch of 2006–2009 papers returned zero, all genuinely closed.

Proposed pass

  1. Re-run cache_fulltext.py over all 189 abstract-only caches, in batches, newest-first since that is where the yield is.
  2. Record the outcome distribution: [cached] / not open-access / OA but no full-text XML / [error]. The last two are now distinguishable, which is the point.
  3. For anything that comes back [error] after retries, re-run once more before believing it.
  4. Report which records in Enrich records lacking members/growth conditions once full text is accessible #183's needs-access set are now reachable, and hand those to the normal fetch-first curation loop.

Not to be done blind: this is a batch, so it gets a canary first, and the per-batch counts get logged rather than summarised — a sweep that silently drops its tail is exactly what got us here.

Note on scope

This does not touch DOI-only references, which have their own retrieval gap (#259). Worth doing after, with the same method.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions