Skip to content

test(deny): pin workflow deny calls and licence overrides - #163

Merged
github-actions[bot] merged 1 commit into
mainfrom
test/deny-pin-calls
Nov 1, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
test/deny-pin-calls

Conversation

@brujack

@brujack brujack commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Summary

Two gaps in tests/test_deny_policy.py, reported by the math session's review and verified here:

  • Deny-side narrowing was invisible. cargo-deny 0.20.2 has no --ignore (error: unexpected argument '--ignore' found), so test_one_ignore_list_no_workflow_has_its_own only guards a re-added cargo audit --ignore (a real flag, so the test stays, with a corrected docstring). Dropping licenses from the blocking line, or adding -A/--exclude/-t, passed CI. New test_workflow_cargo_deny_calls_are_pinned pins every workflow cargo deny call exactly.
  • Licence overrides were invisible. A [[licenses.clarify]] or [licenses].exceptions entry can relabel a GPL crate as permissive while the GPL/MIT fixtures still pass. New test_licence_overrides_are_pinned pins exceptions = [] and the single ring clarify entry (expression and licence-file hash).
  • CLAUDE.md Advisory Triage line updated.

Test Plan

  • Six mutation controls, each failing exactly one test, files restored: drop licenses from ci.yml; add -A unmatched-skip; add --exclude ring to the scheduled run; relabel ring as MIT; add a GPL exception; add a second clarify entry
  • make test — 1187 Rust, 200 Python, 16 bats pass
  • Coverage: test-only change; Python floor 90 / unchanged

Not covered: a deny call moved into a script or Makefile target (none exists today) would bypass the workflow scan.

Code review

SKIP: two tests plus one CLAUDE.md sentence; mutation-verified. Not one of branch-code-review's three SKIP cases — disclosed rather than claimed.

Spec alignment

SKIP: no plan executed; follow-up guard for spec R2 of docs/cursor/specs/2026-10-31-rust-standards-edition-2024-spec.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01RMRWKKn1ZnoEgzb3hX8ewo

cargo-deny has no --ignore flag, so the RUSTSEC check only guards a
re-added cargo audit. Narrowing a deny run (a dropped check, -A,
--exclude) and relabelling a crate via clarify or exceptions both
passed CI; pin them exactly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RMRWKKn1ZnoEgzb3hX8ewo
@github-actions
github-actions Bot merged commit caedb06 into main Nov 1, 2026
13 checks passed
@brujack
brujack deleted the test/deny-pin-calls branch November 1, 2026 05:38
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.

1 participant