Skip to content

content: Rename upstreamProvenance to upstreamAttestations - #1648

Open
mlieberman85 wants to merge 1 commit into
slsa-framework:mainfrom
mlieberman85:upstream-attestations
Open

content: Rename upstreamProvenance to upstreamAttestations#1648
mlieberman85 wants to merge 1 commit into
slsa-framework:mainfrom
mlieberman85:upstream-attestations

Conversation

@mlieberman85

Copy link
Copy Markdown
Member

Summary

Follow-on to #1627. Renames and pluralizes the upstream-attestation field
in the Dependency Ingestion Provenance predicate so it can carry verdicts
on any upstream-published attestation, not just SLSA Build Provenance.

  • upstreamProvenance (object) → upstreamAttestations (array of entries)
  • Each entry identifies a predicateType and carries its own verification
    verdict plus availability marker.
  • At L3, at least one entry MUST be present describing the platform's
    upstream-attestation stance for the dep.
  • Kept the #dep-verify-provenance HTML anchor stable so existing external
    links are not broken.

Why

The previous singular upstreamProvenance field was misleadingly named — the
spec text said it could carry a VSA or any other upstream attestation, but
the name implied Build Provenance only. The singular shape also meant the
platform could only reference one upstream attestation per dep, so an
upstream that publishes both a Build Provenance and a VSA could not be
represented cleanly.

Files changed

  • spec/dependency-provenance.md — field, section, matrix, examples, and
    verification-step updates.
  • spec/dependency-track.md — mode-1 reference, L3 summary and requirement,
    benefits, and S2C2F mapping row.
  • spec/threats.md — threat-block cross-reference wording.

Test plan

  • npm run lint clean
  • ./tools/lint.sh clean
  • Netlify preview renders the section correctly

Pluralize and rename the upstream-attestation field in the Dependency
Ingestion Provenance predicate so it can represent verdicts on any
upstream-published attestation (Build Provenance, VSA, upstream-signed
VEX, or other predicate types), not just Build Provenance. The prior
singular name misleadingly suggested Build Provenance only, and the
singular shape could not carry verdicts on multiple upstream predicate
types at once.

- upstreamProvenance (object) -> upstreamAttestations (array)
- Each entry identifies a predicateType and carries its own verification
  verdict plus availability marker.
- At L3, at least one entry MUST be present describing the platform's
  upstream-attestation stance for the dep.
- Kept the #dep-verify-provenance HTML anchor stable so external links
  are not broken.

Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
@netlify

netlify Bot commented Aug 30, 2026

Copy link
Copy Markdown

Deploy Preview for slsa ready!

Name Link
🔨 Latest commit 7c75474
🔍 Latest deploy log https://app.netlify.com/projects/slsa/deploys/6a94864107b05d0008e2b194
😎 Deploy Preview https://deploy-preview-1648--slsa.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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

Labels

None yet

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

1 participant