Skip to content

RO Crate identity is tied to git commits at the moment, but should be pyproject author #203

Description

@EiffL

Repo-local identity vs. declared authorship

These look like the same thing and aren't. Git's user.name/user.email answer who performed this action — they're stamped into each commit at the moment it's made and are effectively immutable afterward, since changing them means rewriting history. It's an append-only log of who did what, when.

Declared authorship — [project].authors in pyproject.toml, the copyright line in the report — answers a different question: who claims this work. It's a statement about the artifact, not a record of an action, so it can be corrected at any time without disturbing anything.

They usually agree, and it's easy to assume one derives from the other. It doesn't. The two can drift apart the moment you change your git identity mid-project, or commit from a machine configured with a different one.

Where this bites is provenance tooling. lc builds the RO-Crate's author list by asking git who last wrote each tracked file — so the provenance record inherits the commit identity and ignores your declaration entirely. Editing pyproject.toml fixes the claim instantly; the provenance record only catches up as files are re-committed under the new identity, or via a history rewrite.

Practical rule: set the git identity before the first commit, declare authorship in metadata, and treat a mismatch as two facts about different moments rather than a bug to reconcile.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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