Skip to content

Class: SourceRevision

A specific, logically immutable snapshot of a source repository's tracked files. Uniquely identified by a revision identifier such as a cryptographic hash (e.g., git commit SHA) or a path-qualified sequential number (e.g., SVN).

URI: slsa:SourceRevision

 classDiagram
    class SourceRevision
    click SourceRevision href "../SourceRevision/"
      SourceRevision : author

      SourceRevision : parentRevisions

      SourceRevision : repository





        SourceRevision --> "0..1" SourceRepository : repository
        click SourceRepository href "../SourceRepository/"



      SourceRevision : reviewType





        SourceRevision --> "0..1" ReviewTypeEnum : reviewType
        click ReviewTypeEnum href "../ReviewTypeEnum/"



      SourceRevision : revisionId

      SourceRevision : timestamp

Slots

Name Cardinality and Range Description Inheritance
revisionId 1
String
Immutable identifier for a source revision (e direct
repository 0..1
SourceRepository
The source repository that contains this revision direct
author 0..1
String
Identity of the person or automation that authored this revision (e direct
timestamp 0..1
String
Timestamp (RFC 3339) of when this source revision was created direct
parentRevisions *
String
Revision IDs of the parent revision(s), forming the directed acyclic graph of... direct
reviewType 0..1
ReviewTypeEnum
The type of human or automated review process used to approve this source rev... direct

Usages

used by used in type used
SourceProvenanceAttestation revision range SourceRevision

In Subsets

Notes

  • if SourceRevision ever needs signingTool/sigstoreLogEntry (for Sigstore-signed git tags via Cosign, gittuf), then consider adding a SigstoreSignable mixin on both Statement and SourceRevision

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/lmodel/slsa

Mappings

Mapping Type Mapped Value
self slsa:SourceRevision
native slsa:SourceRevision

LinkML Source

Direct

name: SourceRevision
description: A specific, logically immutable snapshot of a source repository's tracked
  files. Uniquely identified by a revision identifier such as a cryptographic hash
  (e.g., git commit SHA) or a path-qualified sequential number (e.g., SVN).
notes:
- if SourceRevision ever needs signingTool/sigstoreLogEntry (for  Sigstore-signed
  git tags via Cosign, gittuf), then consider adding  a SigstoreSignable mixin on
  both Statement and SourceRevision
in_subset:
- slsa_source_track
from_schema: https://w3id.org/lmodel/slsa
slots:
- revisionId
- repository
- author
- timestamp
- parentRevisions
- reviewType

Induced

name: SourceRevision
description: A specific, logically immutable snapshot of a source repository's tracked
  files. Uniquely identified by a revision identifier such as a cryptographic hash
  (e.g., git commit SHA) or a path-qualified sequential number (e.g., SVN).
notes:
- if SourceRevision ever needs signingTool/sigstoreLogEntry (for  Sigstore-signed
  git tags via Cosign, gittuf), then consider adding  a SigstoreSignable mixin on
  both Statement and SourceRevision
in_subset:
- slsa_source_track
from_schema: https://w3id.org/lmodel/slsa
attributes:
  revisionId:
    name: revisionId
    description: Immutable identifier for a source revision (e.g., git commit SHA,
      path-qualified sequential number).
    in_subset:
    - slsa_source_track
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: revisionId
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: string
    required: true
  repository:
    name: repository
    description: The source repository that contains this revision.
    in_subset:
    - slsa_source_track
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: repository
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: SourceRepository
    inlined: true
  author:
    name: author
    description: Identity of the person or automation that authored this revision
      (e.g., an email address or platform username).
    in_subset:
    - slsa_source_track
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: author
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: string
  timestamp:
    name: timestamp
    description: Timestamp (RFC 3339) of when this source revision was created.
    in_subset:
    - slsa_source_track
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: timestamp
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: string
  parentRevisions:
    name: parentRevisions
    description: Revision IDs of the parent revision(s), forming the directed acyclic
      graph of change history.
    in_subset:
    - slsa_source_track
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: parentRevisions
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: string
    multivalued: true
  reviewType:
    name: reviewType
    description: The type of human or automated review process used to approve this
      source revision. Captures the contested forms of two-party review — including
      pair programming and mob programming — whose security equivalence to standard
      asynchronous two-party review is an open question identified in practitioner
      community discussions (Tamanna et al., 2024, LF.2). See ReviewTypeEnum for defined
      values.
    in_subset:
    - slsa_source_track
    - slsa_adoption_study
    from_schema: https://w3id.org/lmodel/slsa
    rank: 1000
    alias: reviewType
    owner: SourceRevision
    domain_of:
    - SourceRevision
    range: ReviewTypeEnum