Skip to content

stdlib: accept 'Gitlab source_provenance category (supply-chain#347) - #752

Merged
bryan-minimal merged 2 commits into
mainfrom
sc-347-gitlab-contract
Jul 14, 2026
Merged

stdlib: accept 'Gitlab source_provenance category (supply-chain#347)#752
bryan-minimal merged 2 commits into
mainfrom
sc-347-gitlab-contract

Conversation

@bryan-minimal

Copy link
Copy Markdown
Member

Companion to gominimal/minimal-supply-chain#347 / #348.

GitLab-hosted upstreams — the fpottier trio (menhir/visitors/unionFind on
gitlab.inria.fr, hard deps of charon-ml/aeneas) and mesa — had no honest
source_provenance category, so a build.ncl couldn't declare one; they were
pushed onto gs:// mirrors and Cpe workarounds.

This adds a source_provenance_gitlab sub-contract and its dispatch arm:

source_provenance = {
  category = 'Gitlab,
  host  = "gitlab.inria.fr",   # required — GitLab is federated
  owner = "fpottier",
  repo  = "unionFind",
}

host is required because the same owner/repo on gitlab.com vs
gitlab.inria.fr are different projects.

Pairs with supply-chain #348, which adds the matching
Provenance::Gitlab { host, owner, repo } (parse tiers +
pkg:generic/{host}/{owner}/{repo} purl identity that joins OSV GIT-ecosystem
advisories). Verified with nickel export: a valid Gitlab block exports, a block
missing host is a contract error, and GithubRepo/GnuProject/Sourceforge/Website
still validate.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 42 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b8ef82d3-c9c2-42d5-937c-c4c3b918055e

📥 Commits

Reviewing files that changed from the base of the PR and between 8ed6a90 and ad4e7ea.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • Cargo.toml
  • crates/stdlib/Cargo.toml
  • crates/stdlib/minimal-ncl/attr_classes.ncl

Comment @coderabbitai help to get the list of available commands.

@twitchyliquid64

Copy link
Copy Markdown
Member

Also bump the crate version of stdlib plzzzzzz

GitLab-hosted upstreams (the fpottier trio menhir/visitors/unionFind on
gitlab.inria.fr; mesa) had no honest provenance category, so a build.ncl
couldn't declare one and they were pushed onto gs:// mirrors + Cpe workarounds.

Add a `source_provenance_gitlab` sub-contract (category = 'Gitlab, with required
host / owner / repo) and its dispatch arm. `host` is required because GitLab is
federated — the same owner/repo on gitlab.com vs gitlab.inria.fr are different
projects.

Pairs with minimal-supply-chain#347/#348, which adds the matching
`Provenance::Gitlab { host, owner, repo }` (parse + pkg:generic identity).
Verified with nickel: a valid Gitlab block exports, a block missing `host` is a
contract error, and the existing categories still validate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bryan-minimal
bryan-minimal force-pushed the sc-347-gitlab-contract branch from 6c6dd2e to 906a7e0 Compare July 14, 2026 19:52
Requested on review — the embedded stdlib changed (new 'Gitlab
source_provenance contract), so bump the crate + the workspace dep pin + lock.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bryan-minimal

Copy link
Copy Markdown
Member Author

Also bump the crate version of stdlib plzzzzzz

Done, bumped the version and the pointer in the lock

@bryan-minimal
bryan-minimal enabled auto-merge (squash) July 14, 2026 20:00
@bryan-minimal
bryan-minimal merged commit d06a77d into main Jul 14, 2026
28 checks passed
@bryan-minimal
bryan-minimal deleted the sc-347-gitlab-contract branch July 14, 2026 20:19
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.

2 participants