Restore green CI: reconcile the two open-access gates, refresh the licence ledger, stage #15/#16#22
Open
lfnothias wants to merge 9 commits into
Open
Restore green CI: reconcile the two open-access gates, refresh the licence ledger, stage #15/#16#22lfnothias wants to merge 9 commits into
lfnothias wants to merge 9 commits into
Conversation
lfnothias
marked this pull request as ready for review
July 10, 2026 09:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gets
mainback to green and clears the community proposal queue. No release is cut and no tag is pushed.Why main is red
Two gates have been failing on every corpus-touching push since 2026-06-24 (tip
c414aeecc).1. The two open-access gates disagree.
scripts/release_gate.py(the release authority) admits the repository-OA tier —repo-oa,repo-permissive,repo-copyleft— but.github/workflows/verify-paper.ymlnever learned about it. All 568 papers incollections/metabolomics/v2/corpus.yamlcarryaccess.type: repo-oa, so the workflow rejected every one of them while the release gate passed them.This reconciles the workflow with the release gate and adds
tests/test_oa_tier_parity.py, which fails if they ever drift apart again. The test was checked against the broken workflow first to confirm it actually catches the regression.2. One skill description broke the lint.
asb-metabolomics/SKILL.mdopened with"Use FIRST when…"; the lint requires one ofUse when/Reference for/Explains/Decision support for. Reworded, meaning preserved.Both gates were verified locally by extracting and executing the workflows' own inline scripts, not a re-implementation:
License-clarification wave
verifyhad never been run against the ledger, so it still showed all five trial issues asopen. Refreshed: 2 closed, 1 responded, 2 open.license_afterstays null deliberately.LICENSEfile. Closed with an apology.governance/license_clarification/README.mdnow warns that licences hide outsideLICENSEfiles, with the three real cases we hit (README-embedded text, an RDESCRIPTIONfield, and aLICENSE.txt). Treat a nulllicenseInfoas unknown, never unlicensed.Proposal queue
Staged the two proposals that were never triaged:
api.biorxiv.org(cc_by), repo BSD-3-Clause.Also corrects
RforMassSpectrometry'ssource_issuefrom 14 to 13.Known gap, not fixed here
OPEN_ACCESS_POLICY.mdclaims preprints are "always CC-BY by repository policy". bioRxiv lets authors choose CC-BY-NC-ND or no-reuse, so that rule can admit text we may not redistribute. The OmniPath entry verifies the licence via the API rather than relying on the rule. Correcting the policy is a separate change.Verification
227 passed(was 227 before; +2 new parity tests, no regressions)verifyis idempotent — a re-run preserveslicense_afterand the newnotefieldReview findings folded in
Two independent reviewers went over this branch. What changed as a result:
repo-oais defined inCONTENT_POLICY.md§3, notOPEN_ACCESS_POLICY.md. Corrected, andCONTENT_POLICY.md§3 now documents therepo-*tiers as part of the CI-enforced set, so the doc matches what CI actually does.One reviewer finding was not accepted: that
10.64898/2026.06.18.733117is not a bioRxiv DOI. Prefix10.64898is registered to openRxiv, which took bioRxiv/medRxiv over from Cold Spring Harbor; the DOI resolves tobiorxiv.organdapi.biorxiv.orgreturns the record withlicense: cc_by. A comment now records this so it does not get "corrected" later.What this PR does not do
It does not bless the corpus. Making
verify-paperrecogniserepo-oameans it stops failing on all 568 entries — including 78 that claimverified_via: git_clone_succeeded_at_buildwith an emptyrepo_url, and 247 with no recorded licence. That gap predates this branch (corpus.yamlis untouched here) and the old red CI was not detecting it — it was failing on the tier name, indiscriminately, including on the 306 entries that are properly licensed.Filed as #23, with the exact counts, the two conflicting definitions of
repo-oa, and the enforcement that should replace the tier-name check. Resolving it means re-tiering or removing already-published entries, which is a content decision, not a CI fix.