You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
cutile_inter_kernel is exempt from both license guards, and #663 no longer tracks the two decisions that keep it there #953
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.
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.
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?
inventory rows: the exemption stays until the mono-repo makes cutile a path dependency.
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.
Activity
ci: both license guards still defer to #663, which is closed (#955)
nihalpasham commentedon Sep 3, 2026
Where we stand:
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-rsa2c1ea4, where every cutile-rs crate haslicense.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.cargo denyenforces 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.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?
nihalpasham commentedon Sep 3, 2026
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.
retire the local host crates for real; CI, licensing, and docs follow…
Use the shared cutile-rs host crates in cuda-oxide (#1102)