Files
DeepSeek-TUI/deny.toml
CodeWhale Bot bfb9ee704b build(deps): carry one jsonschema stack again (690 → 685 packages)
The dependabot bump of the workspace `jsonschema` pin to 0.49 (d85be3b76)
left schemaui 0.12 — which still requires ^0.46, including its latest
0.12.4 — on the old line, so the graph compiled jsonschema,
jsonschema-regex, referencing, and fancy-regex twice (5.8 s + 3.2 s of
the cold lib-test build for the two jsonschema units alone) and
`cargo deny check bans` warned on all four. Pin the workspace back to the
0.46 line schemaui can share, with a note to move both together, and
drop the stale jni/jni-sys/redox_syscall skips deny reported as unmatched
or unnecessary. `cargo deny check bans` and `check advisories` are clean;
`--locked` still resolves; codewhale-workflow-js and the tui schema tests
pass. multiple-versions stays "warn".
2026-08-15 19:23:26 -07:00

106 lines
4.0 KiB
TOML

# cargo-deny configuration for CodeWhale
# https://embarkstudios.github.io/cargo-deny/
[graph]
# Scan all workspace members with all features
all-features = true
[advisories]
# Deny unmaintained and unsound crates
unmaintained = "all"
unsound = "all"
# Ignore specific advisories (known issues in dependencies)
ignore = [
"RUSTSEC-2024-0436", # paste unmaintained - no safe upgrade
"RUSTSEC-2026-0192", # ttf-parser unmaintained - no safe upgrade
"RUSTSEC-2024-0388", # derivative unmaintained - transitive via starlark
"RUSTSEC-2025-0057", # fxhash unmaintained - transitive via starlark
"RUSTSEC-2025-0141", # bincode unmaintained - transitive via syntect, no safe upgrade (syntect 5.3.0 is latest)
"RUSTSEC-2024-0320", # yaml-rust unmaintained - transitive via syntect, no safe upgrade (syntect 5.3.0 is latest)
]
[bans]
# Duplicate-version ratchet (Epic #5249, issue #5248): keep the gate in
# warn/dry-run until Hunter approves enforcement. Each entry below is a
# duplicate that survives the 0.9.5 shrink and is blocked on an upstream
# crate that has not yet released a compatible version. Adding a new
# duplicate without extending this list will surface as a new `cargo deny`
# warning, so the ratchet is warm but not yet blocking CI.
# Surviving duplicates after the 708 -> 679 shrink (see PR body):
# - reqwest 0.12 vs 0.13 — blocked on oauth2 5.0.0 which still depends on reqwest 0.12
# - sha2 0.10 vs 0.11 — blocked on oauth2 (0.10) vs schemaui 0.12 (0.11)
# - thiserror 1 vs 2 — blocked on portable-pty 0.9 via filedescriptor 0.8 (v1) vs workspace v2
# - toml 0.8 vs 1.1 + toml_edit 0.22 vs 0.25 + winnow 0.7 vs 1.0 — blocked on rust-i18n 4.2 (0.8 stack) vs workspace 1.1
# - strum 0.27 vs 0.28 — ratatui-widgets 0.3.0 (via ratatui 0.30.0) pins 0.27
# while ratatui-core 0.1.2 uses 0.28; unifies once widgets moves forward
multiple-versions = "warn"
wildcards = "deny"
# Explicitly allow the surviving duplicates so `cargo deny` does not warn
# on them again, but will warn on any *new* duplicate crate.
skip = [
{ name = "reqwest", version = "0.12.28" },
{ name = "sha2", version = "0.10.9" },
{ name = "thiserror", version = "1.0.69" },
{ name = "thiserror-impl", version = "1.0.69" },
{ name = "toml", version = "0.8.23" },
{ name = "toml_datetime", version = "0.6.11" },
{ name = "toml_edit", version = "0.22.27" },
{ name = "winnow", version = "0.7.14" },
{ name = "serde_spanned", version = "0.6.9" },
{ name = "core-foundation", version = "0.9.4" },
{ name = "fancy-regex", version = "0.16.2" },
{ name = "itertools", version = "0.13.0" },
{ name = "security-framework", version = "2.11.1" },
{ name = "strum", version = "0.28.0" },
{ name = "strum_macros", version = "0.28.0" },
{ name = "windows-sys" },
{ name = "windows-targets" },
{ name = "windows_aarch64_gnullvm" },
{ name = "windows_aarch64_msvc" },
{ name = "windows_i686_gnu" },
{ name = "windows_i686_msvc" },
{ name = "windows_x86_64_gnu" },
{ name = "windows_x86_64_gnullvm" },
{ name = "windows_x86_64_msvc" },
]
# For crates where the version is not the discriminator, use skip-tree to
# allow the duplicate tree regardless of version.
skip-tree = [
{ name = "portable-pty" },
{ name = "rust-i18n" },
{ name = "oauth2" },
]
[sources]
# Deny unknown registries and git sources
unknown-registry = "deny"
unknown-git = "deny"
# Allow only crates.io
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
# Allow git sources used by the project (add as needed)
allow-git = []
[licenses]
# Confidence threshold for license inference from text
confidence-threshold = 0.93
# Allowed licenses (MIT for CodeWhale, plus common transitive deps)
allow = [
"MIT",
"MIT-0",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"ISC",
"Unicode-3.0",
"Unicode-DFS-2016",
"Zlib",
"BSD-2-Clause",
"BSD-3-Clause",
"0BSD",
"MPL-2.0",
"CC0-1.0",
"BSL-1.0",
"CDLA-Permissive-2.0",
]
# License exceptions for specific crates if needed
exceptions = []