Skip to content

cutile_inter_kernel is exempt from both license guards, and #663 no longer tracks the two decisions that keep it there #953

Closed

Description

@vyncint

Closing #663 left two policy decisions live but untracked, and both license guards still defer to it as though it were open.

What the guards say

scripts/check-dependency-licenses.sh:

Whether those belong in the inventory is the open question in #663; until it is settled the example is listed here rather than left silently uncovered.

scripts/check-example-license-policy.sh:

Both are policy calls for a maintainer, and they are the open question in #663 -- the same reason the example is already exempt from the inventory guard. Delete the entry once that is settled.

#663 closed on 2026-08-10.

My part in this

I closed it, with a comment saying both halves were enforced in CI. That was overstated. #664 and #681 did close the general gap — every other example workspace is now covered by both the inventory guard and cargo deny check. But cutile_inter_kernel is on both exemption lists, so its ~60 git-pulled crates are governed by neither, and my "Resolved" reads as though they were.

What is actually still open

The policy guard records the two concrete blockers, and neither has moved:

blocker current state
error[source-not-allowed]: git source not allowed (x7) deny.toml's allow-git lists only https://github.com/pliron-org/pliron; cutile-rs is not there
error[unlicensed]: cuda-bindings = 0.1.0 is unlicensed that is cutile-rs's own vendored cuda-bindings, not this repo's (ours is 0.2.1 with license.workspace = true), so the fix is not ours to make

Both are maintainer calls, exactly as that comment says. Nothing is wrong in the tree today — the exemptions are explicit, verified against disk, and documented. The problem is only that the issue they point at is closed, so the next person to read either guard is sent to a resolved thread.

What I would like to do

A PR updating both comments to cite this issue instead of #663, and to state plainly that the exemption withholds both the inventory rows and the policy check for this one example, rather than implying the policy still covers it. That is a comment-only change; it does not touch either exemption.

The decisions themselves are yours:

  • add https://github.com/NVlabs/cutile-rs to [sources] allow-git, or keep the example exempt;
  • decide whether a git dependency's transitive crates belong in the hand-maintained dependency-licenses.csv at all.

Happy to implement whichever you pick, or to leave the exemptions untouched and only fix the stale pointers.

Activity

  1. added
    supply-chainDependency policy: licenses, sources, security advisories, lock files
    build-relatedBuild scripts, toolchain discovery, or compilation setup
    on Aug 17, 2026
  2. added a commit that references this issue on Aug 17, 2026
  3. nihalpasham commented on Sep 3, 2026

    @nihalpasham
    Collaborator

    Where we stand:

    • The pointer half is covered by ci: both license guards still defer to #663, which is closed #955. What is left is the two decisions, and both moved since filing.
    • allow-git (deny.toml's list of git hosts a dependency may come from): Use the shared cutile-rs host crates in cuda-oxide #1102 adds https://github.com/NVlabs/cutile-rs, because the root workspace itself switches cuda-bindings/core/async to cutile-rs git deps. The same PR re-locks this example to cutile-rs a2c1ea4, where every cutile-rs crate has license.workspace = true (Apache-2.0, cutile-rs#178). That removes both blockers the policy guard's comment names. From crates.io metadata, the 58 registry crates only this example pulls are all MIT/Apache-2.0 variants, so licenses and sources should be green; advisories are the one lane only a live run shows. Use the shared cutile-rs host crates in cuda-oxide #1102 is a draft with conflicts today, so no date.
    • Inventory rows (the hand-kept dependency-licenses.csv): I'm leaning towards keeping the exemption. After Use the shared cutile-rs host crates in cuda-oxide #1102, cargo deny enforces licenses, advisories and sources over this example, so the ~60 rows would be documentation only. About two dozen of them only build on wasm or Windows targets. At the mono-repo move cutile becomes a path dep (a crate pulled from a directory in the same repo), the root lock covers these crates, and the guard stops asking this example for rows.
    guard                 today     after #1102             mono-repo
    cargo deny (policy)   exempt    enforced, drop entry    root run covers it
    CSV rows (inventory)  exempt    exempt, reason stated   root lock covers it
    

    Next step, once #1102 lands: a PR that takes cutile_inter_kernel out of POLICY_EXEMPT_EXAMPLES, shows check-example-license-policy.sh green in CI, and rewrites both comment blocks. The policy block still says "allow-git still lists only pliron" and names an unlicensed 0.1.0 crate; the inventory block should carry the reason above. Will you take that follow-up?

  4. nihalpasham commented on Sep 3, 2026

    @nihalpasham
    Collaborator

    Both decisions are made:

    Remaining work (drop the policy exemption, rewrite both guard comments with the reason inline) is a #1102 landing item, not an open question. Closing as completed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    build-relatedBuild scripts, toolchain discovery, or compilation setupsupply-chainDependency policy: licenses, sources, security advisories, lock files

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions