mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
Main CI has been red sincec09730e87(#8223). The Mobile and Security checks fail on main, and Docker image fails because it requires a green CI run for the same commit. Locally, the pre-push Rust lane also failed on load-sensitive `buzz-acp` timing tests. This PR fixes all three so main passes locally and on GitHub. - **Mobile:** #8223 was tested against a base from before #8206, which removed `buzzDevPushAppProfile` and app-profile selection. Its new `notification_toggle_test.dart` still put `appProfile` in the native grant map, so the merged tree doesn't compile. This removes the stale field. - **Security:** cargo-deny now reports [RUSTSEC-2024-0449](https://rustsec.org/advisories/RUSTSEC-2024-0449) (`unsafe-libyaml` is unmaintained), which comes in through `serde_yaml`. It's an unmaintained notice, not a vulnerability. The `serde_yaml_ng` fork depends on the same crate, so removing it means migrating YAML parsing in five crates. Like the existing unmaintained entries, it goes in `deny.toml` with a reason. - **buzz-acp test flakes:** the `spawn_script` test helper returned before bash was running, and the timing tests started their idle clock right away. Under full-suite load, process startup took longer than the idle windows. `keepalive_resets_idle_past_deadline`, `idle_resets_on_stdout_activity` and `acp_steer_request_omits_expected_run_id_and_carries_session_and_prompt` failed this way across three pre-push runs. The helper now has the script print a ready line and consumes it before returning. The keepalive loops also use brace expansion instead of `$(seq)`, which avoids an extra process launch before the first line. The keepalive test now uses a 250ms idle window with a 750ms floor. Both tests still fail if keepalives don't reset the idle clock. ### Validation - `cargo-deny check advisories` passes with this `deny.toml` and fails on main's. - The `notification_toggle_test.dart` tests and `flutter analyze` pass. - `cargo test -p buzz-acp --lib` passes all 1055 tests. - The `acp::tests` suite passed 20 of 20 runs with 4 concurrent copies over 5 rounds. Under the same load, the version without the brace-expansion change failed every run. - All pre-push hooks pass on5dbaa4d32: rust-tests, mobile-checks, desktop-tauri-checks, file-size-check, branch-skew. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Wes <wesbillman@users.noreply.github.com> Co-authored-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
98 lines
3.6 KiB
TOML
98 lines
3.6 KiB
TOML
[advisories]
|
|
ignore = [
|
|
# instant 0.1.13 — unmaintained crate. Transitive dep: nostr → instant.
|
|
# Will be resolved when nostr crate updates its dependencies.
|
|
{ id = "RUSTSEC-2024-0384", reason = "transitive dep via nostr; no upstream fix available" },
|
|
# paste 1.0.15 — unmaintained. Transitive dep: mesh-llm → iroh → netlink-* → paste.
|
|
# No safe upgrade available; tracked for upstream (iroh/netlink) replacement.
|
|
{ id = "RUSTSEC-2024-0436", reason = "transitive dep via mesh-llm → iroh → netlink; no upstream fix available" },
|
|
# quick-xml < 0.41: quadratic runtime on duplicate-attribute check (0194) and
|
|
# unbounded namespace-declaration allocation in NsReader (0195). Both DoS-class,
|
|
# requiring attacker-controlled XML. Our two locked versions only parse trusted
|
|
# input: 0.38.4 (rust-s3/aws-creds — responses from our own S3/MinIO endpoint)
|
|
# and 0.39.4 (mesh-llm → iroh → netdev → plist — local macOS system plists).
|
|
# Patched release (>= 0.41.0) is unreachable until rust-s3 and plist/netdev bump;
|
|
# remove these when upstream catches up.
|
|
{ id = "RUSTSEC-2026-0194", reason = "transitive via rust-s3 and mesh-llm→plist; trusted-input XML only; no upstream fix available yet" },
|
|
{ id = "RUSTSEC-2026-0195", reason = "transitive via rust-s3 and mesh-llm→plist; trusted-input XML only; no upstream fix available yet" },
|
|
# unsafe-libyaml 0.2.11 — unmaintained (repository archived 2024-03-25), not a
|
|
# vulnerability report. Transitive dep: serde_yaml → unsafe-libyaml. The serde_yaml_ng
|
|
# fork uses the same crate, so removing it means migrating YAML parsing in
|
|
# buzz-agent, buzz-persona, buzz-relay, buzz-workflow and desktop.
|
|
{ id = "RUSTSEC-2024-0449", reason = "transitive via serde_yaml; unmaintained, not vulnerable; removal needs a YAML parser migration" },
|
|
]
|
|
|
|
[licenses]
|
|
allow = [
|
|
"MIT",
|
|
"Apache-2.0",
|
|
"Apache-2.0 WITH LLVM-exception",
|
|
"BSD-2-Clause",
|
|
"BSD-3-Clause",
|
|
"ISC",
|
|
"Unicode-3.0",
|
|
"Unicode-DFS-2016",
|
|
"Zlib",
|
|
"OpenSSL",
|
|
"CC0-1.0",
|
|
"CDLA-Permissive-2.0",
|
|
"MITNFA",
|
|
"MPL-2.0",
|
|
"BSL-1.0",
|
|
"Unlicense",
|
|
# minicbor's permissive, OSI-approved license. Used for strict App Attest
|
|
# assertion CBOR parsing and also transitively by appattest.
|
|
"BlueOak-1.0.0",
|
|
# bzip2/libbzip2's permissive BSD-like license. New via desktop zip/bzip2
|
|
# transitive deps; compatible with Apache-2.0 distribution.
|
|
"bzip2-1.0.6",
|
|
]
|
|
confidence-threshold = 0.8
|
|
|
|
# mesh-llm workspace crates (pinned git dep) omit a per-crate `license` field in
|
|
# their manifests, so cargo-deny reports them as unlicensed. The mesh-llm repo is
|
|
# licensed "MIT OR Apache-2.0" (workspace Cargo.toml + top-level LICENSE = Apache-2.0);
|
|
# clarify each pulled-in member to that expression. Remove once mesh sets the field
|
|
# upstream (filed).
|
|
[[licenses.clarify]]
|
|
crate = "mesh-llm-config"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "mesh-llm-gpu-bench"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "mesh-llm-host-runtime"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "mesh-llm-plugin"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "mesh-llm-system"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "mesh-mixture-of-agents"
|
|
expression = "MIT OR Apache-2.0"
|
|
license-files = []
|
|
|
|
[[licenses.clarify]]
|
|
crate = "buzz-desktop"
|
|
expression = "Apache-2.0"
|
|
license-files = []
|
|
|
|
[licenses.private]
|
|
ignore = true
|
|
|
|
[bans]
|
|
multiple-versions = "warn"
|
|
wildcards = "allow"
|