Skip to content

repo-oa admission is asserted, not verified: 78 entries have no repository, 247 have no licence #23

Description

@lfnothias

Surfaced while fixing the red verify-paper gate in #22. The gate fix is correct, but it stops CI from failing on this, so recording it here rather than letting it disappear behind a green build.

The data

All 568 status: included entries in collections/metabolomics/v2/corpus.yaml carry access.type: repo-oa and access.verified_via: git_clone_succeeded_at_build. Two subsets do not support that claim.

Problem Count
repo_url: "" yet verified_via: git_clone_succeeded_at_build 78
access.license: null (of which 169 have a real repo_url) 247

An empty repo_url cannot have been cloned at build. Examples, all license_tier: restricted:

10.1002/9780470508183          (Wiley book)
10.1007/978-3-319-47656-8_6
10.1007/s00044-016-1764-y
10.1016/j.aca.2018.05.001
10.1021/acs.analchem.0c03895

These are the "no-repo entries" the backfill in c414aeecc explicitly left behind (no-repo entries 138->78), so the number is known — it just isn't enforced anywhere.

Why it is ambiguous rather than simply wrong

repo-oa has two conflicting definitions in this repository:

  • governance/CONTENT_POLICY.md §3 — "a public git repository cloned at build qualifies as repo-oa. This is the paper-access axis only — what a consumer may do with the tool is the separate license_tier axis." Under this reading, repo-oa asserts public availability, and the 247 null-licence entries are fine because license_tier: restricted already makes them link-only.
  • scripts/release_gate.py:282-288 — "paper is non-OA, but the repository is openly licensed (permissive/copyleft), with the specific code SPDX recorded per-paper." Under this reading, 247 entries claim a right that was never established.

The 78 no-repo entries fail both readings.

Note also that repo-permissive and repo-copyleft appear only in release_gate.py and verify-paper.yml. No governance document defines them.

What needs deciding

  1. Which definition of repo-oa governs. Reconcile CONTENT_POLICY.md §3 and the release_gate.py comment, and define repo-permissive / repo-copyleft (or drop them).
  2. What happens to the 78 entries with no repository. They have neither an open paper nor a repository, so under either reading they have no admission basis. Re-tier, or remove from included.
  3. Whether verified_via: git_clone_succeeded_at_build should be written at all when no clone was attempted. It is currently the value for 100% of entries, which makes the field carry no information.

Then enforce it

Once the semantics are settled, verify-paper.yml should gate on evidence rather than on the tier name — at minimum, a repo-* entry must have a non-empty repo_url. That check will fail on the 78 until they are resolved, which is the correct outcome.

Deliberately not doing this in #22: it would turn main red again, and dropping or re-tiering 78 already-published entries is a content decision, not a CI fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions