Skip to content

Record the v1.2.0 DOI, and stop the drift that keeps producing it - #102

Merged
Silentpartnercoding merged 1 commit into
mainfrom
agent/record-v1.2.0-doi
Aug 18, 2026
Merged

Record the v1.2.0 DOI, and stop the drift that keeps producing it#102
Silentpartnercoding merged 1 commit into
mainfrom
agent/record-v1.2.0-doi

Conversation

@Silentpartnercoding

Copy link
Copy Markdown
Owner

Two things: a DOI to record, and the reason it keeps being hard to record.

Zenodo auto-published

Creating the paper-v1.2.0 GitHub release minted 10.5281/zenodo.21997434 five seconds later. There was no draft and no approval step.

SUBMISSION-CHECKLIST.md describes this as "inspect the draft deposit, and publish it only after metadata approval", and the v1.2.0 line said publishing was an owner action. Neither is true of this repository’s integration. Creating a release here IS publishing a DOI.

I said the Zenodo step would wait for your approval. That was wrong, and the result is irreversible — Zenodo records cannot be unpublished. The deposit itself is correct (version 1.2.0, isNewVersionOf the v1.1.0 DOI, open access), so nothing needs retracting, but the gate has to move earlier because there is no later gate. Re-opened as a checklist decision: gate the release, or disable auto-publication.

This is the same failure class the repository studies — a control described in writing and absent from the system it describes.

The structural cause, found and fixed

Twice now the source has drifted from a deposit, for one reason:

A version DOI is minted from the document, so a document cannot contain its own version DOI.

Requiring it forces a choice between a false statement and an artifact that differs from the deposit. v1.1.0 took the second horn; v1.2.0’s transitional header took the first.

check_peer_review_package.py was enforcing the impossible version — it required the version DOI to appear in the manuscript. Now:

  • the manuscript cites the concept DOI 10.5281/zenodo.21965712 — assigned once, never changes, always resolves to latest;
  • the manuscript must not cite its own version DOI;
  • the version DOI lives in metadata.json, CITATION.cff, and ARCHIVAL-INTEGRITY.md.

From v1.3.0 onward the manuscript needs no post-deposit edit, so source and deposit cannot diverge again.

One-time discrepancy, recorded not repaired

deposited v1.2.0 PDF   sha256 487dfe14…
repository v1.2.0 PDF  sha256 e1cee6b3…

The deposit archives the tree whose header said a v1.2.0 deposit had not been created — true when built, false five seconds later.

No new version is cut to close this, because that would mint another DOI, date another header, and require another version. That regress is exactly what the concept-DOI rule stops. It is one transitional sentence, it is recorded, and it terminates with v1.2.0.

paper-check passes; 426 passed, 8 skipped; integrity checks green.

🤖 Generated with Claude Code

ZENODO AUTO-PUBLISHED. Creating the paper-v1.2.0 GitHub release minted
10.5281/zenodo.21997434 five seconds later. There was no draft and no approval
step. SUBMISSION-CHECKLIST.md describes this step as "inspect the draft deposit,
and publish it only after metadata approval", and the v1.2.0 line said
publishing was an owner action. Neither is true of this repository's
integration: creating a release here IS publishing a DOI. The documented gate
does not exist in the mechanism it describes, which is the same failure class
this repository studies, and the approval gate has to move earlier because there
is no later one. Recorded in ARCHIVAL-INTEGRITY.md and re-opened as a checklist
decision.

The deposit itself is correct: version 1.2.0, isNewVersionOf the v1.1.0 DOI,
open access. Nothing needs retracting, and a Zenodo record cannot be unpublished
in any case, which is why the gate mattered.

THE STRUCTURAL CAUSE, FOUND AND FIXED. Twice the repository source has drifted
from a deposit for one reason: a version DOI is minted FROM the document, so a
document cannot contain its own version DOI. Requiring it forces a choice
between a false statement and an artifact that differs from what was deposited.
v1.1.0 took the second horn; v1.2.0's transitional header took the first.

check_peer_review_package.py PREVIOUSLY ENFORCED THE IMPOSSIBLE VERSION -- it
required the version DOI to appear in the manuscript. It now requires the
opposite: the manuscript cites the CONCEPT DOI 10.5281/zenodo.21965712, which is
assigned once, never changes and always resolves to the latest version; the
manuscript must NOT cite its own version DOI; the version DOI lives in
metadata.json, CITATION.cff and ARCHIVAL-INTEGRITY.md. From v1.3.0 onward the
manuscript needs no post-deposit edit, so source and deposit cannot diverge
again.

ONE-TIME DISCREPANCY, RECORDED NOT REPAIRED. The v1.2.0 deposit archives the
tree whose header said a v1.2.0 deposit had not been created -- true when built,
false five seconds later. No new version is cut to close it, because that would
mint another DOI, date another header and require another version. That regress
is exactly what the concept-DOI rule stops. Both PDF hashes are recorded.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Silentpartnercoding
Silentpartnercoding merged commit 545258a into main Aug 18, 2026
6 checks passed
@Silentpartnercoding
Silentpartnercoding deleted the agent/record-v1.2.0-doi branch August 18, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant