Zenodo reuse-external: archive under the record's existing DOI - #1
Merged
Conversation
…dy has A third Zenodo identifier policy. Zenodo publishes under the record's own DOI (the bibliographic DOI) instead of a Crossref DOI this library registered or a DOI Zenodo mints. Nothing is registered or prereserved; the existing external-crossref deposit policy sends metadata.doi. The planner needs attention (MISSING_EXTERNAL_DOI) when the policy is asked for without a record DOI, and a DOI collision on Zenodo recovers through the same lookup used for reused Crossref DOIs.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…publish answers 404 When an earlier run published the draft but failed before the journal was cleared, every retry hit 404 on the draft and the job looped. The published record keeps the draft's id, so the executor now reads it and adopts its identifiers, the same way a DOI collision is adopted. ZenodoWriter gains an optional readPublishedRecord; the client implements it on top of readRecordSnapshot.
…s keep this Detaching the method lost the client instance and failed with "Cannot read properties of undefined (reading 'readRecordSnapshot')" on the first live recovery. The test now uses a class instance provider.
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.
Adds the Zenodo identifier policy
reuse-external: Zenodo publishes under the DOI the record already has, without registering or minting anything.zenodoReusedDoi(policy, identifiers)is the one place that decides which DOI Zenodo must use (Crossref-managed, the record's own, or none).MISSING_EXTERNAL_DOIwhen the policy is asked for without a record DOI; the Zenodo payload carries the record DOI; Crossref is never waited on or written.metadata.doiset,prereserve_doinever sent (existingexternal-crossrefdeposit policy).reuse-externaldoes not require Crossref.Consumer:
OpenDevEd/new-elPR #119 (plan 03 inplans/optional-doi/).Tests: 314 passing (4 new). Lint and build clean.
Note
Add
reuse-externalidentifier policy for Zenodo archivalreuse-externalpolicy to archive Zenodo records under their existing bibliographic DOI without requiring CrossrefMISSING_EXTERNAL_DOIif the DOI is absent. The DOI is propagated to Zenodo snapshots and file-correction approval checksrecoverAlreadyPublishedDraftto live-executor.ts to adopt a published record whenpublishJournaledDraftreturns a 404buildZenodoPayloadSnapshotin snapshots.ts now usesexternal-crossrefdoiPolicy for reuse policiesMacroscope summarized 0715aa7.