Skip to content

Say what this crate may depend on, and under what terms - #34

Merged
HackingGate merged 1 commit into
mainfrom
chore/supply-chain-gate
Aug 14, 2026
Merged

Say what this crate may depend on, and under what terms#34
HackingGate merged 1 commit into
mainfrom
chore/supply-chain-gate

Conversation

@HackingGate

Copy link
Copy Markdown
Owner

The cargo-deny half of #13's provider evaluation, and the config that is its evidence.

Why a provider rather than a rule

cargo deny answers three questions no rule in policy/principles.toml can: whether a dependency carries a published advisory, whether its licence is one this repository may ship under, and whether the tree has acquired two copies of one crate or a source nobody named. Those are facts about the dependency graph rather than about this tree's files, which is exactly the boundary between a rule here and an external provider. So it is adopted, not reimplemented.

What it says today

advisories ok, bans ok, licences ok, sources ok

The licence list holds what the tree actually carries and nothing else. cargo deny reports an allowance that matched nothing, and an entry describing no dependency reads as a decision while doing nothing -- the same shape as a stale baseline or a waiver naming a rule that is gone. Three speculative entries were removed on that report, which is the tool doing to this config what this repository does to its own.

Not wired into a hook

Deliberately, and for a reason already settled here: the advisory half reaches the network, and no-stale-hook-pins runs at pre-push and manual rather than at every commit because a check that adds a network round trip to a commit is one somebody switches off.

Wiring it is a separate decision. What a claim in policy/upheld.toml could name once it is wired is the hook id, not an individual advisory -- the same limit ROADMAP.md records for every third-party hook, since this tool cannot look inside one. That limit is the real finding of the provider evaluation, and it applies identically to zizmor and to ast-grep.

`deny.toml`, and the evaluation #13 asks for.

`cargo deny` answers three questions no rule in `policy/principles.toml` can:
whether a dependency carries a published advisory, whether its licence is one
this repository may ship under, and whether the tree has acquired two copies of
one crate or a source nobody named. Those are facts about the dependency graph
rather than about this tree's files, which is exactly the boundary between a
rule here and an external provider -- so it is adopted as a provider and not
reimplemented.

The four checks pass as written: advisories ok, bans ok, licences ok, sources
ok. The licence list holds what the tree actually carries and nothing else,
because `cargo deny` reports an allowance that matched nothing and an entry
describing no dependency reads as a decision while doing nothing -- the same
shape as a stale baseline or a waiver naming a rule that is gone. Three
speculative entries were removed on that report.

Not wired into a hook, deliberately. The advisory half reaches the network, and
this repository already decided where that belongs: `no-stale-hook-pins` runs at
pre-push and manual rather than at every commit, because a check that adds a
network round trip to a commit is one somebody switches off. Wiring it is a
separate decision, and what a claim could then name is the hook id rather than
an individual advisory -- the same limit ROADMAP.md records for every
third-party hook, since this tool cannot look inside one.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@HackingGate, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 6 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

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: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e609f56a-e6f0-4571-907d-3544f61657b9

📥 Commits

Reviewing files that changed from the base of the PR and between 180405b and 60d019c.

📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • deny.toml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.15%. Comparing base (180405b) to head (60d019c).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #34   +/-   ##
=======================================
  Coverage   89.15%   89.15%           
=======================================
  Files          29       29           
  Lines        9217     9217           
=======================================
  Hits         8217     8217           
  Misses       1000     1000           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@HackingGate
HackingGate merged commit bf0750d into main Aug 14, 2026
12 checks passed
@HackingGate
HackingGate deleted the chore/supply-chain-gate branch August 14, 2026 17:59
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