Skip to content

ci(dependency-review): allow caniuse-lite's CC-BY-4.0 data license - #884

Merged
groupthinking merged 1 commit into
mainfrom
claude/determined-maxwell-4di1vo
Jul 19, 2026
Merged

ci(dependency-review): allow caniuse-lite's CC-BY-4.0 data license#884
groupthinking merged 1 commit into
mainfrom
claude/determined-maxwell-4di1vo

Conversation

@groupthinking

Copy link
Copy Markdown
Owner

Summary

The dependency-review gate fails on every Dependabot npm bump that refreshes caniuse-lite, blocking otherwise-clean dependency PRs. Observed on PR #881 (head 147cb07), where the check failed while the scan explicitly reported no vulnerabilities:

Dependency review did not detect any vulnerable packages with severity level "moderate" or higher.
The following dependencies have incompatible licenses:
package-lock.json » caniuse-lite@1.0.30001806 – License: CC-BY-4.0
##[error]Dependency review detected incompatible licenses.

caniuse-lite ships MIT-licensed code; only its browser-compatibility dataset is CC-BY-4.0, and that data is not code we redistribute. The bump moved it 1.0.30001799 → 1.0.30001806, which re-triggers the license evaluation. Because caniuse-lite updates on nearly every browserslist refresh (pulled transitively via browserslist / autoprefixer / tailwind), this is a recurring false positive on the license gate.

This change allowlists pkg:npm/caniuse-lite in allow-dependencies-licenses — the same per-purl mechanism the workflow already uses for @sentry/* — rather than broadening the global allow-licenses list to include CC-BY-4.0. Vulnerability enforcement (fail-on-severity: moderate) is unchanged.

Linked issue

N/A — CI-hygiene fix surfaced by the failing check on #881.

Verification

  • YAML parses (python3 -c "import yaml; yaml.safe_load(open('.github/workflows/dependency-review.yml'))")
  • Root cause confirmed from the dependency-review job log on build(deps): bump the npm-minor-patch group across 1 directory with 13 updates #881 head 147cb07 (license-only failure, zero vulnerabilities)
  • Required CI — will run on this PR; the same action re-evaluating this diff is the real end-to-end check
  • Review threads resolved

Notes

Scoped to the license false positive only. The other two red checks on #881 (validate, agent-completion/truth-gate) are the repo's agent-completion policy gates, which a Dependabot-authored PR cannot satisfy by design — out of scope here and a separate policy decision.


Generated by Claude Code

The dependency-review gate fails on every dependabot npm bump that
refreshes caniuse-lite (e.g. #881: caniuse-lite 1.0.30001799 ->
1.0.30001806) because the package's browser-compat dataset is
CC-BY-4.0, which is not in allow-licenses. No vulnerability is
involved — the scan reports "did not detect any vulnerable packages"
and fails purely on the license.

caniuse-lite's code is MIT; only its data is CC-BY-4.0, and that data
is not code we redistribute. It updates on nearly every browserslist
refresh, so allow it by purl in allow-dependencies-licenses (matching
the existing @sentry/* exemptions) rather than broadening the global
allow-licenses list to include CC-BY-4.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016U6QJimZShor41DG3XhoqX
@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v0-uvai Ready Ready Preview, Comment, Open in v0 Jul 19, 2026 5:07am

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • [‘architecture-gap’, ‘bug’, ‘ci-cd’, ‘ci/cd’, ‘copilot-rabbit’, ‘documentation’, ‘duplicate’, ‘enhancement’, ‘frontend’, ‘github_actions’, ‘good first issue’, ‘help wanted’, ‘high-priority’, ‘invalid’, ‘javascript’, ‘ml-model’, ‘needs-triage’, ‘pipeline-critical’, ‘placeholder-code’, ‘priority:high’, ‘python’, ‘python:uv’, ‘question’, ‘styling’, ‘tests’, ‘v0’]

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Repository UI (inherited), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: c4bf8c9f-c066-41e2-9b1d-4d95d0d5b0b0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/determined-maxwell-4di1vo
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch claude/determined-maxwell-4di1vo

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

@github-actions github-actions Bot added the ci/cd label Jul 19, 2026
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 9c511ee.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@github-actions

github-actions Bot commented Jul 19, 2026

Copy link
Copy Markdown

Agent Completion Truth Gate: BLOCKED

Reasons: invalid_payload

Machine-readable verdict
{
  "details": {
    "invalid_fields": [
      "issue.number",
      "policy.agent_login",
      "policy.run_id"
    ]
  },
  "reasons": [
    "invalid_payload"
  ],
  "verdict": "blocked"
}

Workflow evidence

Copy link
Copy Markdown
Owner Author

Draft status — the fix itself is green; two blockers remain, both outside this PR's scope:

  1. dependency-review — the change this PR exists for. Confirms the caniuse-lite CC-BY-4.0 allowlist entry is accepted.

  2. agent-completion/truth-gateinvalid_payload (missing issue.number, policy.agent_login, policy.run_id). This PR intentionally carries no agent-lock manifest — it's a CI-hygiene fix surfaced by the failing check on build(deps): bump the npm-minor-patch group across 1 directory with 13 updates #881, not tied to a sanctioned issue. Clearing this gate is a human decision: link it to a backing issue with valid provenance, or merge under maintainer authority. I won't manufacture provenance values to satisfy the gate.

  3. build — ESLint crash Cannot read properties of undefined (reading 'Cjs') in @typescript-eslint/typescript-estree (the apps/web lint script, ESLint 9.39.5). Unrelated to this diff (a 4-line workflow-YAML edit can't affect ESLint resolution). lint-frontend passed on this same commit, so this looks like a flaky/job-specific node_modules install rather than a real regression — a re-run should clear it. Worth noting build passed on build(deps): bump the npm-minor-patch group across 1 directory with 13 updates #881, which carries the Dependabot lockfile bump.

Not auto-merging to protected main. Merge/provenance decision is the maintainer's. Staged merge (once gates cleared): squash-merge claude/determined-maxwell-4di1vomain.


Generated by Claude Code

@groupthinking
groupthinking marked this pull request as ready for review July 19, 2026 05:12
Copilot AI review requested due to automatic review settings July 19, 2026 05:12
@groupthinking
groupthinking merged commit 08db322 into main Jul 19, 2026
33 of 37 checks passed
@groupthinking
groupthinking deleted the claude/determined-maxwell-4di1vo branch July 19, 2026 05:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Scopes a license-policy exception to caniuse-lite, preventing recurring false failures without weakening vulnerability checks.

Changes:

  • Allowlists pkg:npm/caniuse-lite.
  • Documents the exception, though the stated MIT/CC license split is inaccurate.

Comment on lines +31 to +33
# caniuse-lite ships MIT code but a CC-BY-4.0 dataset; the scanner reports the data
# license, which is not code we redistribute. It updates on nearly every browserslist
# refresh, so allow it by purl rather than adding CC-BY-4.0 to the global allow-licenses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants