[INFO] cloning repository https://github.com/gyb0211/shadow
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gyb0211/shadow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e775c960c0ab849eb5f2ecd408cb93078518ba0e
[INFO] testing gyb0211/shadow against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gyb0211/shadow
[INFO] finished tweaking git repo https://github.com/gyb0211/shadow
[INFO] tweaked toml for git repo https://github.com/gyb0211/shadow written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gyb0211/shadow on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gyb0211/shadow already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.126
[INFO] [stderr]   Downloaded strum v0.28.0
[INFO] [stderr]   Downloaded uuid-simd v0.8.0
[INFO] [stderr]   Downloaded uuid v1.23.4
[INFO] [stderr]   Downloaded outref v0.5.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.76
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.126
[INFO] [stderr]   Downloaded strum_macros v0.28.0
[INFO] [stderr]   Downloaded vsimd v0.8.0
[INFO] [stderr]   Downloaded unicode-general-category v1.1.0
[INFO] [stderr]   Downloaded borrow-or-share v0.2.4
[INFO] [stderr]   Downloaded num-cmp v0.1.0
[INFO] [stderr]   Downloaded jsonschema-regex v0.46.9
[INFO] [stderr]   Downloaded referencing v0.46.9
[INFO] [stderr]   Downloaded data-encoding v2.11.0
[INFO] [stderr]   Downloaded bytecount v0.6.9
[INFO] [stderr]   Downloaded micromap v0.3.0
[INFO] [stderr]   Downloaded fluent-uri v0.4.1
[INFO] [stderr]   Downloaded wasip2 v1.0.4+wasi-0.2.12
[INFO] [stderr]   Downloaded js-sys v0.3.103
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.8
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.52
[INFO] [stderr]   Downloaded num-bigint v0.4.7
[INFO] [stderr]   Downloaded regex v1.12.4
[INFO] [stderr]   Downloaded fraction v0.15.4
[INFO] [stderr]   Downloaded poly1305 v0.8.0
[INFO] [stderr]   Downloaded jsonschema v0.46.9
[INFO] [stderr]   Downloaded fancy-regex v0.18.0
[INFO] [stderr]   Downloaded chacha20poly1305 v0.10.1
[INFO] [stderr]   Downloaded rusqlite v0.37.0
[INFO] [stderr]   Downloaded webpki-roots v1.0.8
[INFO] [stderr]   Downloaded chacha20 v0.9.1
[INFO] [stderr]   Downloaded cron v0.15.0
[INFO] [stderr]   Downloaded zerocopy v0.8.52
[INFO] [stderr]   Downloaded regex-syntax v0.8.11
[INFO] [stderr]   Downloaded rustls v0.23.41
[INFO] [stderr]   Downloaded winnow v0.6.26
[INFO] [stderr]   Downloaded quinn-proto v0.11.15
[INFO] [stderr]   Downloaded web-sys v0.3.103
[INFO] [stderr]   Downloaded libsqlite3-sys v0.35.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba
[INFO] running `Command { std: "docker" "start" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: invalid feature `proxy` in required-features of target `shadow-proxy`: `proxy` is not present in [features] section
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling aws-lc-rs v1.17.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling aws-lc-sys v0.42.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling num-bigint v0.4.7
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling referencing v0.46.9
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling jsonschema-regex v0.46.9
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling winnow v0.6.26
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling cron v0.15.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jsonschema v0.46.9
[INFO] [stderr]    Compiling shadow-config v0.1.0 (/opt/rustwide/workdir/crates/shadow-config)
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 95 | define_provider_ref!(ModelProviderRef, "providers.models");
[INFO] [stdout]    | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 96 | define_provider_ref!(RiskProfileRef, "risk_profiles");
[INFO] [stdout]    | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 97 | define_provider_ref!(RuntimeProfileRef, "runtime_profiles");
[INFO] [stdout]    | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/schema.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/schema.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]  --> crates/shadow-config/src/autonomy.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> crates/shadow-config/src/lib.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service_key`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:68
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_timeout_secs`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_timeout_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_false` is never used
[INFO] [stdout]  --> crates/shadow-config/src/multi/alias_agent.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn default_false()->bool{false}
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shadow-core v0.1.0 (/opt/rustwide/workdir/crates/shadow-core)
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/channel.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/attribution.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/memory.rs:5:48
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shadow-log v0.1.0 (/opt/rustwide/workdir/crates/shadow-log)
[INFO] [stderr]    Compiling shadow-memory v0.1.0 (/opt/rustwide/workdir/crates/shadow-memory)
[INFO] [stderr]    Compiling shadow-providers v0.1.0 (/opt/rustwide/workdir/crates/shadow-providers)
[INFO] [stdout] warning: unused imports: `MemoryCategory` and `MemoryStrategy`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | use shadow_core::{Memory, MemoryCategory, MemoryEntry, MemoryStrategy};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embedding::EmbeddingProvider`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use embedding::EmbeddingProvider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_core::Memory`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use shadow_core::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:53
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:79
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:55
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:81
[INFO] [stdout]    |
[INFO] [stdout] 32 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `until`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:102
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     async fn get(&self, key: &str) -> Result<Option<MemoryEntry>> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:40:61
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn forget(&self, key: &str) -> Result<bool> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     async fn forget_for_agent(&self, key: &str) -> Result<bool> {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Response`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use reqwest::{Client, Error, RequestBuilder, Response};
[INFO] [stdout]   |                       ^^^^^                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChatResponse`, `ModelProviderRuntimeOptions`, `StreamChunk`, and `TokenUsage`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Attributable, AuthStyle, ChatResponse, ModelProvider, ModelProviderKind,
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 15 |     ModelProviderRuntimeOptions, ProviderKind, Role, StreamChunk, TokenUsage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{Arc, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/shadow-providers/src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:64
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...y: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, a...
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:90
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...gory: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, agent_id: Option<&str>) -> Re...
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:168
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...mportance: Option<f64>, agent_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stdout]    |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:79
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<Memory...
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:93
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:119
[INFO] [stdout]    |
[INFO] [stdout] 64 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `until`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:140
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allowed_agent_ids`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:38
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...r_agent(&self, allowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Optio...
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:66
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...llowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Resu...
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `memory` is never read
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct DefaultMemoryStrategy {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 59 |     memory: Arc<dyn Memory>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_important_turn` is never used
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn is_important_turn(user_message: &str, assistant_response: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_agent`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         user_agent: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_agent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `merge_system_into_user`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         merge_system_into_user: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_merge_system_into_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shadow-runtime v0.1.0 (/opt/rustwide/workdir/crates/shadow-runtime)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/shadow-providers/src/factory.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     mut p: OpenAiCompatibleModelProvider,
[INFO] [stdout]    |     ----^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> crates/shadow-providers/src/factory.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     opts: &ModelProviderRuntimeOptions,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/shadow-providers/src/lib.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |     if let Some(idx) = raw_name.find(":") {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `supports_vision` is never read
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OpenAiCompatibleModelProvider {
[INFO] [stdout]    |            ----------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     supports_vision: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | struct ApiResponse {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 275 |     choices: Vec<Choice>,
[INFO] [stdout] 276 |     usage: ApiUsage,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `effective_content_options` is never used
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl ResponseMessage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 299 |     fn effective_content_options(&self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 404 | struct ApiUsage {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 405 |     prompt_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 406 |     completion_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 407 |     total_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelsResponse` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:411:8
[INFO] [stdout]     |
[INFO] [stdout] 411 | struct ModelsResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiModel` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:416:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | struct ApiModel {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamToolCallAccumulator` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | struct StreamToolCallAccumulator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamToolCallDelta` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | struct StreamToolCallDelta{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamFunctionDelta` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 | struct StreamFunctionDelta{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 | use anyhow::{bail, Context, Result};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use parking_lot::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection` and `params`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rusqlite::{Connection, params};
[INFO] [stdout]    |                ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use serde_json::{Error, Value};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_log::Action`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use shadow_log::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToolKind` and `tool_attribution`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/attribution.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use shadow_core::{tool_attribution, ToolKind};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cron::CronJob`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cron::CronJob;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Schedule`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tools::cron::add::{CronAddTool, Schedule};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_config::Config`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shadow_config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/add.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/add.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{json, Error, Value};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_alias`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     agent_alias: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_alias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schedule`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     schedule: Schedule,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     command: &str,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     delivery: Option<DeliveryConfig>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `approved`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     approved: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approved`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     prompt: &str,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_target`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     session_target: crate::tools::cron::types::SessionTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     model: Option<String>,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `del_after_run`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     del_after_run: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_del_after_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allowed_tools`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     allowed_tools: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_run`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let next_run = next_run_for_schedule(&schedule, now)?;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let id = Uuid::new_v4().to_string();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schedule_json`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let schedule_json = serde_json::to_string(&schedule)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let delivery = delivery.unwrap_or_default();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:212:34
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn is_command_allowed(&self, command: &str) -> bool {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:215:45
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn is_command_explicitly_allowed(&self, command: &str) -> bool {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:218:34
[INFO] [stdout]     |
[INFO] [stdout] 218 |     fn command_risk_level(&self, command: &str) -> CommandRiskLevel {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut tools = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:544:9
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let mut skills = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace_dir`
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:543:20
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn load_skills(workspace_dir: &Path) -> Result<Vec<Skill>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> crates/shadow-runtime/src/tools/cron/add.rs:382:28
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Err(reason) = self.security.validate_command_execution(command, approved){}
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> crates/shadow-runtime/src/tools/cron/add.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Err(e) => Ok(ToolResult::err("")),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timezone`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/cron/common.rs:77:83
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let next_run_local = chrono_tz::Tz::from_str(tz).map_or(Value::Null, |timezone| {
[INFO] [stdout]    |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timezone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     memory: Option<Arc<dyn Memory>>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     workspace: std::path::PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_OUTPUT_LEN` is never used
[INFO] [stdout]    --> crates/shadow-runtime/src/cron/mod.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const MAX_OUTPUT_LEN: usize = 10 * 1024;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schedule_cron_expression` is never used
[INFO] [stdout]    --> crates/shadow-runtime/src/cron/schedule.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn schedule_cron_expression(schedule: &Schedule) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shadow v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shadow::config`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use shadow::config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_config::Config`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use shadow_config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_log::Action`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use shadow_log::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/main.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     match cli.command {
[INFO] [stdout] 143 | |         Commands::Agent {
[INFO] [stdout] 144 | |             agent: agent_alias,
[INFO] [stdout] 145 | |             message,
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 186 |
[INFO] [stdout] 187 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut config = Box::pin( shadow_config::Config::load_or_init()).await?;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/main.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             model,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/main.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |             if let Some(p) = model_provider {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_directive` is never used
[INFO] [stdout]   --> src/main.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl LogLevel {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 49 |     fn as_directive(self) -> &'static str{
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_terminal` is never used
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn is_terminal() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 00s
[INFO] running `Command { std: "docker" "inspect" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: invalid feature `proxy` in required-features of target `shadow-proxy`: `proxy` is not present in [features] section
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/channel.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/attribution.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/memory.rs:5:48
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stdout]   |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> crates/shadow-core/src/kennel/tool.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 95 | define_provider_ref!(ModelProviderRef, "providers.models");
[INFO] [stdout]    | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 96 | define_provider_ref!(RiskProfileRef, "risk_profiles");
[INFO] [stdout]    | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 97 | define_provider_ref!(RuntimeProfileRef, "runtime_profiles");
[INFO] [stdout]    | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/schema.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/schema.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]  --> crates/shadow-config/src/autonomy.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stdout]   --> crates/shadow-config/src/autonomy.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> crates/shadow-config/src/lib.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service_key`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:68
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_timeout_secs`
[INFO] [stdout]  --> crates/shadow-config/src/proxy_client.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_timeout_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_false` is never used
[INFO] [stdout]  --> crates/shadow-config/src/multi/alias_agent.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn default_false()->bool{false}
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MemoryCategory` and `MemoryStrategy`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | use shadow_core::{Memory, MemoryCategory, MemoryEntry, MemoryStrategy};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embedding::EmbeddingProvider`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use embedding::EmbeddingProvider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_core::Memory`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use shadow_core::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/shadow-memory/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:53
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:79
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:55
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:81
[INFO] [stdout]    |
[INFO] [stdout] 32 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `until`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:102
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     async fn get(&self, key: &str) -> Result<Option<MemoryEntry>> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:40:61
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn forget(&self, key: &str) -> Result<bool> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     async fn forget_for_agent(&self, key: &str) -> Result<bool> {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:64
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...y: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, a...
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:90
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...gory: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, agent_id: Option<&str>) -> Re...
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:168
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...mportance: Option<f64>, agent_id: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stdout]    |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:79
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<Memory...
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:93
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:119
[INFO] [stdout]    |
[INFO] [stdout] 64 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `until`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:140
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allowed_agent_ids`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:38
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...r_agent(&self, allowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Optio...
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/shadow-memory/src/none.rs:64:66
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...llowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Resu...
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `memory` is never read
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct DefaultMemoryStrategy {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 59 |     memory: Arc<dyn Memory>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_important_turn` is never used
[INFO] [stdout]   --> crates/shadow-memory/src/strategy.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn is_important_turn(user_message: &str, assistant_response: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Response`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use reqwest::{Client, Error, RequestBuilder, Response};
[INFO] [stdout]   |                       ^^^^^                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChatResponse`, `ModelProviderRuntimeOptions`, `StreamChunk`, and `TokenUsage`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Attributable, AuthStyle, ChatResponse, ModelProvider, ModelProviderKind,
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 15 |     ModelProviderRuntimeOptions, ProviderKind, Role, StreamChunk, TokenUsage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{Arc, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/shadow-providers/src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> crates/shadow-providers/src/openai.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_agent`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         user_agent: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_agent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `merge_system_into_user`
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         merge_system_into_user: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_merge_system_into_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/shadow-providers/src/factory.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     mut p: OpenAiCompatibleModelProvider,
[INFO] [stdout]    |     ----^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> crates/shadow-providers/src/factory.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     opts: &ModelProviderRuntimeOptions,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/shadow-providers/src/lib.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |     if let Some(idx) = raw_name.find(":") {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `supports_vision` is never read
[INFO] [stdout]   --> crates/shadow-providers/src/openai.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OpenAiCompatibleModelProvider {
[INFO] [stdout]    |            ----------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     supports_vision: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | struct ApiResponse {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 275 |     choices: Vec<Choice>,
[INFO] [stdout] 276 |     usage: ApiUsage,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `effective_content_options` is never used
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl ResponseMessage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 299 |     fn effective_content_options(&self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 404 | struct ApiUsage {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 405 |     prompt_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 406 |     completion_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 407 |     total_tokens: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelsResponse` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:411:8
[INFO] [stdout]     |
[INFO] [stdout] 411 | struct ModelsResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiModel` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:416:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | struct ApiModel {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamToolCallAccumulator` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | struct StreamToolCallAccumulator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamToolCallDelta` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | struct StreamToolCallDelta{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamFunctionDelta` is never constructed
[INFO] [stdout]    --> crates/shadow-providers/src/openai.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 | struct StreamFunctionDelta{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 | use anyhow::{bail, Context, Result};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use parking_lot::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection` and `params`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rusqlite::{Connection, params};
[INFO] [stdout]    |                ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use serde_json::{Error, Value};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_log::Action`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use shadow_log::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToolKind` and `tool_attribution`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/attribution.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use shadow_core::{tool_attribution, ToolKind};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cron::CronJob`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cron::CronJob;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Schedule`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tools::cron::add::{CronAddTool, Schedule};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_config::Config`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shadow_config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/add.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> crates/shadow-runtime/src/tools/cron/add.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{json, Error, Value};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_alias`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     agent_alias: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_alias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schedule`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     schedule: Schedule,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     command: &str,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     delivery: Option<DeliveryConfig>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `approved`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     approved: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approved`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     prompt: &str,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_target`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     session_target: crate::tools::cron::types::SessionTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     model: Option<String>,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `del_after_run`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     del_after_run: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_del_after_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allowed_tools`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     allowed_tools: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_run`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let next_run = next_run_for_schedule(&schedule, now)?;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let id = Uuid::new_v4().to_string();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schedule_json`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let schedule_json = serde_json::to_string(&schedule)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery`
[INFO] [stdout]   --> crates/shadow-runtime/src/cron/mod.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let delivery = delivery.unwrap_or_default();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:212:34
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn is_command_allowed(&self, command: &str) -> bool {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:215:45
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn is_command_explicitly_allowed(&self, command: &str) -> bool {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> crates/shadow-runtime/src/security/mod.rs:218:34
[INFO] [stdout]     |
[INFO] [stdout] 218 |     fn command_risk_level(&self, command: &str) -> CommandRiskLevel {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut tools = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:544:9
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let mut skills = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace_dir`
[INFO] [stdout]    --> crates/shadow-runtime/src/skills/mod.rs:543:20
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn load_skills(workspace_dir: &Path) -> Result<Vec<Skill>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> crates/shadow-runtime/src/tools/cron/add.rs:382:28
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Err(reason) = self.security.validate_command_execution(command, approved){}
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> crates/shadow-runtime/src/tools/cron/add.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Err(e) => Ok(ToolResult::err("")),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timezone`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/cron/common.rs:77:83
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let next_run_local = chrono_tz::Tz::from_str(tz).map_or(Value::Null, |timezone| {
[INFO] [stdout]    |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timezone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     memory: Option<Arc<dyn Memory>>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]   --> crates/shadow-runtime/src/tools/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     workspace: std::path::PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_OUTPUT_LEN` is never used
[INFO] [stdout]    --> crates/shadow-runtime/src/cron/mod.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const MAX_OUTPUT_LEN: usize = 10 * 1024;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schedule_cron_expression` is never used
[INFO] [stdout]    --> crates/shadow-runtime/src/cron/schedule.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn schedule_cron_expression(schedule: &Schedule) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shadow v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shadow::config`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use shadow::config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_config::Config`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use shadow_config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shadow_log::Action`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use shadow_log::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/main.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     match cli.command {
[INFO] [stdout] 143 | |         Commands::Agent {
[INFO] [stdout] 144 | |             agent: agent_alias,
[INFO] [stdout] 145 | |             message,
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 186 |
[INFO] [stdout] 187 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut config = Box::pin( shadow_config::Config::load_or_init()).await?;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/main.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             model,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/main.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |             if let Some(p) = model_provider {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_directive` is never used
[INFO] [stdout]   --> src/main.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl LogLevel {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 49 |     fn as_directive(self) -> &'static str{
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_terminal` is never used
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn is_terminal() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.40s
[INFO] running `Command { std: "docker" "inspect" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: invalid feature `proxy` in required-features of target `shadow-proxy`: `proxy` is not present in [features] section
[INFO] [stderr] warning: unused import: `Role`
[INFO] [stderr]  --> crates/shadow-core/src/channel.rs:3:48
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stderr]   |                                                ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/shadow-core/src/kennel/attribution.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Role`
[INFO] [stderr]  --> crates/shadow-core/src/kennel/memory.rs:5:48
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stderr]   |                                                ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Role`
[INFO] [stderr]  --> crates/shadow-core/src/kennel/tool.rs:3:48
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::kennel::attribution::{Attributable, Role};
[INFO] [stderr]   |                                                ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Value`
[INFO] [stderr]  --> crates/shadow-core/src/kennel/tool.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde_json::Value;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> crates/shadow-core/src/kennel/tool.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shadow-core` (lib) generated 6 warnings (run `cargo fix --lib -p shadow-core` to apply 6 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr] ...
[INFO] [stderr] 95 | define_provider_ref!(ModelProviderRef, "providers.models");
[INFO] [stderr]    | ---------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr] ...
[INFO] [stderr] 96 | define_provider_ref!(RiskProfileRef, "risk_profiles");
[INFO] [stderr]    | ----------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/providers.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 |         #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr] ...
[INFO] [stderr] 97 | define_provider_ref!(RuntimeProfileRef, "runtime_profiles");
[INFO] [stderr]    | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/schema.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/schema.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]  --> crates/shadow-config/src/autonomy.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/autonomy.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/autonomy.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `schema-export`
[INFO] [stderr]   --> crates/shadow-config/src/autonomy.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `schema-export` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]   --> crates/shadow-config/src/lib.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | use std::path::Path;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `service_key`
[INFO] [stderr]  --> crates/shadow-config/src/proxy_client.rs:3:49
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stderr]   |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_key`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timeout`
[INFO] [stderr]  --> crates/shadow-config/src/proxy_client.rs:3:68
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stderr]   |                                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn_timeout_secs`
[INFO] [stderr]  --> crates/shadow-config/src/proxy_client.rs:3:82
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{
[INFO] [stderr]   |                                                                                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_timeout_secs`
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_false` is never used
[INFO] [stderr]  --> crates/shadow-config/src/multi/alias_agent.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn default_false()->bool{false}
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `shadow-config` (lib) generated 14 warnings (run `cargo fix --lib -p shadow-config` to apply 4 suggestions)
[INFO] [stderr] warning: unused imports: `MemoryCategory` and `MemoryStrategy`
[INFO] [stderr]   --> crates/shadow-memory/src/strategy.rs:13:27
[INFO] [stderr]    |
[INFO] [stderr] 13 | use shadow_core::{Memory, MemoryCategory, MemoryEntry, MemoryStrategy};
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]   --> crates/shadow-memory/src/strategy.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use anyhow::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]   --> crates/shadow-memory/src/strategy.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use async_trait::async_trait;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `embedding::EmbeddingProvider`
[INFO] [stderr]   --> crates/shadow-memory/src/lib.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use embedding::EmbeddingProvider;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `shadow_core::Memory`
[INFO] [stderr]   --> crates/shadow-memory/src/lib.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use shadow_core::Memory;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]   --> crates/shadow-memory/src/lib.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use anyhow::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> crates/shadow-memory/src/lib.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `category`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:28:53
[INFO] [stderr]    |
[INFO] [stderr] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:28:79
[INFO] [stderr]    |
[INFO] [stderr] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:28:27
[INFO] [stderr]    |
[INFO] [stderr] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:28:38
[INFO] [stderr]    |
[INFO] [stderr] 28 |     async fn store(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:32:41
[INFO] [stderr]    |
[INFO] [stderr] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stderr]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:32:55
[INFO] [stderr]    |
[INFO] [stderr] 32 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `since`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:32:81
[INFO] [stderr]    |
[INFO] [stderr] 32 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `until`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:32:102
[INFO] [stderr]    |
[INFO] [stderr] 32 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `query`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 |     async fn recall(&self, query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<...
[INFO] [stderr]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 |     async fn get(&self, key: &str) -> Result<Option<MemoryEntry>> {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `category`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:40:26
[INFO] [stderr]    |
[INFO] [stderr] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:40:61
[INFO] [stderr]    |
[INFO] [stderr] 40 |     async fn list(&self, category: Option<&MemoryCategory>, session_id: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:44:28
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn forget(&self, key: &str) -> Result<bool> {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:48:38
[INFO] [stderr]    |
[INFO] [stderr] 48 |     async fn forget_for_agent(&self, key: &str) -> Result<bool> {
[INFO] [stderr]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `category`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:60:64
[INFO] [stderr]    |
[INFO] [stderr] 60 | ...y: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, a...
[INFO] [stderr]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:60:90
[INFO] [stderr]    |
[INFO] [stderr] 60 | ...gory: MemoryCategory, session_id: Option<&str>, _namespace: Option<&str>, _importance: Option<f64>, agent_id: Option<&str>) -> Re...
[INFO] [stderr]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `agent_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:60:168
[INFO] [stderr]    |
[INFO] [stderr] 60 | ...mportance: Option<f64>, agent_id: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:60:38
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stderr]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:60:49
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn store_with_agent(&self, key: &str, content: &str, category: MemoryCategory, session_id: Option<&str>, _namespace: Optio...
[INFO] [stderr]    |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:79
[INFO] [stderr]    |
[INFO] [stderr] 64 | ...ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<Memory...
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_id`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:93
[INFO] [stderr]    |
[INFO] [stderr] 64 | ...: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `since`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:119
[INFO] [stderr]    |
[INFO] [stderr] 64 | ... session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_since`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `until`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:140
[INFO] [stderr]    |
[INFO] [stderr] 64 | ...str>, since: Option<&str>, until: Option<&str>) -> Result<Vec<MemoryEntry>> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_until`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `allowed_agent_ids`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:38
[INFO] [stderr]    |
[INFO] [stderr] 64 | ...r_agent(&self, allowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Optio...
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `query`
[INFO] [stderr]   --> crates/shadow-memory/src/none.rs:64:66
[INFO] [stderr]    |
[INFO] [stderr] 64 | ...llowed_agent_ids: &[&str], query: &str, limit: usize, session_id: Option<&str>, since: Option<&str>, until: Option<&str>) -> Resu...
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stderr] 
[INFO] [stderr] warning: field `memory` is never read
[INFO] [stderr]   --> crates/shadow-memory/src/strategy.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub struct DefaultMemoryStrategy {
[INFO] [stderr]    |            --------------------- field in this struct
[INFO] [stderr] 59 |     memory: Arc<dyn Memory>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_important_turn` is never used
[INFO] [stderr]   --> crates/shadow-memory/src/strategy.rs:76:4
[INFO] [stderr]    |
[INFO] [stderr] 76 | fn is_important_turn(user_message: &str, assistant_response: &str) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> crates/shadow-providers/src/openai.rs:6:14
[INFO] [stderr]   |
[INFO] [stderr] 6 | use anyhow::{Context, Result};
[INFO] [stderr]   |              ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Error` and `Response`
[INFO] [stderr]  --> crates/shadow-providers/src/openai.rs:9:23
[INFO] [stderr]   |
[INFO] [stderr] 9 | use reqwest::{Client, Error, RequestBuilder, Response};
[INFO] [stderr]   |                       ^^^^^                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ChatResponse`, `ModelProviderRuntimeOptions`, `StreamChunk`, and `TokenUsage`
[INFO] [stderr]   --> crates/shadow-providers/src/openai.rs:14:30
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Attributable, AuthStyle, ChatResponse, ModelProvider, ModelProviderKind,
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 15 |     ModelProviderRuntimeOptions, ProviderKind, Role, StreamChunk, TokenUsage,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `RwLock`
[INFO] [stderr]   --> crates/shadow-providers/src/openai.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::sync::{Arc, RwLock};
[INFO] [stderr]    |                 ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> crates/shadow-providers/src/lib.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::StreamExt`
[INFO] [stderr]  --> crates/shadow-providers/src/openai.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use futures::StreamExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `user_agent`
[INFO] [stderr]   --> crates/shadow-providers/src/openai.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         user_agent: Option<&str>,
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_agent`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `merge_system_into_user`
[INFO] [stderr]   --> crates/shadow-providers/src/openai.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         merge_system_into_user: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_merge_system_into_user`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/shadow-providers/src/factory.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     mut p: OpenAiCompatibleModelProvider,
[INFO] [stderr]    |     ----^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opts`
[INFO] [stderr]   --> crates/shadow-providers/src/factory.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     opts: &ModelProviderRuntimeOptions,
[INFO] [stderr]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> crates/shadow-providers/src/lib.rs:143:17
[INFO] [stderr]     |
[INFO] [stderr] 143 |     if let Some(idx) = raw_name.find(":") {
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: field `supports_vision` is never read
[INFO] [stderr]   --> crates/shadow-providers/src/openai.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct OpenAiCompatibleModelProvider {
[INFO] [stderr]    |            ----------------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 26 |     supports_vision: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `usage` is never read
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:276:5
[INFO] [stderr]     |
[INFO] [stderr] 274 | struct ApiResponse {
[INFO] [stderr]     |        ----------- field in this struct
[INFO] [stderr] 275 |     choices: Vec<Choice>,
[INFO] [stderr] 276 |     usage: ApiUsage,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `effective_content_options` is never used
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:299:8
[INFO] [stderr]     |
[INFO] [stderr] 293 | impl ResponseMessage {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 299 |     fn effective_content_options(&self) -> Option<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:405:5
[INFO] [stderr]     |
[INFO] [stderr] 404 | struct ApiUsage {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 405 |     prompt_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 406 |     completion_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 407 |     total_tokens: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ModelsResponse` is never constructed
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:411:8
[INFO] [stderr]     |
[INFO] [stderr] 411 | struct ModelsResponse {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ApiModel` is never constructed
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:416:8
[INFO] [stderr]     |
[INFO] [stderr] 416 | struct ApiModel {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StreamToolCallAccumulator` is never constructed
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:424:8
[INFO] [stderr]     |
[INFO] [stderr] 424 | struct StreamToolCallAccumulator {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StreamToolCallDelta` is never constructed
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:432:8
[INFO] [stderr]     |
[INFO] [stderr] 432 | struct StreamToolCallDelta{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StreamFunctionDelta` is never constructed
[INFO] [stderr]    --> crates/shadow-providers/src/openai.rs:441:8
[INFO] [stderr]     |
[INFO] [stderr] 441 | struct StreamFunctionDelta{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shadow-memory` (lib) generated 34 warnings (run `cargo fix --lib -p shadow-memory` to apply 32 suggestions)
[INFO] [stderr] warning: `shadow-providers` (lib) generated 20 warnings (run `cargo fix --lib -p shadow-providers` to apply 10 suggestions)
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:30:20
[INFO] [stderr]    |
[INFO] [stderr] 30 | use anyhow::{bail, Context, Result};
[INFO] [stderr]    |                    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `parking_lot::Mutex`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use parking_lot::Mutex;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Connection` and `params`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:33:16
[INFO] [stderr]    |
[INFO] [stderr] 33 | use rusqlite::{Connection, params};
[INFO] [stderr]    |                ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:36:18
[INFO] [stderr]    |
[INFO] [stderr] 36 | use serde_json::{Error, Value};
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `shadow_log::Action`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | use shadow_log::Action;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | use std::path::Path;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ToolKind` and `tool_attribution`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/attribution.rs:8:19
[INFO] [stderr]   |
[INFO] [stderr] 8 | use shadow_core::{tool_attribution, ToolKind};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cron::CronJob`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::cron::CronJob;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Schedule`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/mod.rs:2:44
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::tools::cron::add::{CronAddTool, Schedule};
[INFO] [stderr]   |                                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use chrono::Utc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `shadow_config::Config`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use shadow_config::Config;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use uuid::Uuid;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/add.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]  --> crates/shadow-runtime/src/tools/cron/add.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde_json::{json, Error, Value};
[INFO] [stderr]   |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     config: &Config,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `agent_alias`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     agent_alias: &str,
[INFO] [stderr]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_alias`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     name: Option<String>,
[INFO] [stderr]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schedule`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     schedule: Schedule,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     command: &str,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delivery`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     delivery: Option<DeliveryConfig>,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `approved`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     approved: bool,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approved`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     config: &Config,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     name: Option<String>,
[INFO] [stderr]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prompt`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     prompt: &str,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session_target`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |     session_target: crate::tools::cron::types::SessionTarget,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_target`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     model: Option<String>,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `del_after_run`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     del_after_run: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_del_after_run`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `allowed_tools`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     allowed_tools: Option<Vec<String>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next_run`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:79:9
[INFO] [stderr]    |
[INFO] [stderr] 79 |     let next_run = next_run_for_schedule(&schedule, now)?;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_run`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let id = Uuid::new_v4().to_string();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schedule_json`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |     let schedule_json = serde_json::to_string(&schedule)?;
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule_json`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delivery`
[INFO] [stderr]   --> crates/shadow-runtime/src/cron/mod.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |     let delivery = delivery.unwrap_or_default();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]    --> crates/shadow-runtime/src/security/mod.rs:212:34
[INFO] [stderr]     |
[INFO] [stderr] 212 |     fn is_command_allowed(&self, command: &str) -> bool {
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]    --> crates/shadow-runtime/src/security/mod.rs:215:45
[INFO] [stderr]     |
[INFO] [stderr] 215 |     fn is_command_explicitly_allowed(&self, command: &str) -> bool {
[INFO] [stderr]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]    --> crates/shadow-runtime/src/security/mod.rs:218:34
[INFO] [stderr]     |
[INFO] [stderr] 218 |     fn command_risk_level(&self, command: &str) -> CommandRiskLevel {
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/shadow-runtime/src/skills/mod.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let mut tools = Vec::new();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/shadow-runtime/src/skills/mod.rs:544:9
[INFO] [stderr]     |
[INFO] [stderr] 544 |     let mut skills = Vec::new();
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `workspace_dir`
[INFO] [stderr]    --> crates/shadow-runtime/src/skills/mod.rs:543:20
[INFO] [stderr]     |
[INFO] [stderr] 543 | pub fn load_skills(workspace_dir: &Path) -> Result<Vec<Skill>> {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reason`
[INFO] [stderr]    --> crates/shadow-runtime/src/tools/cron/add.rs:382:28
[INFO] [stderr]     |
[INFO] [stderr] 382 |                 if let Err(reason) = self.security.validate_command_execution(command, approved){}
[INFO] [stderr]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> crates/shadow-runtime/src/tools/cron/add.rs:458:17
[INFO] [stderr]     |
[INFO] [stderr] 458 |             Err(e) => Ok(ToolResult::err("")),
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timezone`
[INFO] [stderr]   --> crates/shadow-runtime/src/tools/cron/common.rs:77:83
[INFO] [stderr]    |
[INFO] [stderr] 77 |             let next_run_local = chrono_tz::Tz::from_str(tz).map_or(Value::Null, |timezone| {
[INFO] [stderr]    |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timezone`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memory`
[INFO] [stderr]   --> crates/shadow-runtime/src/tools/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     memory: Option<Arc<dyn Memory>>,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `workspace`
[INFO] [stderr]   --> crates/shadow-runtime/src/tools/mod.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     workspace: std::path::PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_OUTPUT_LEN` is never used
[INFO] [stderr]    --> crates/shadow-runtime/src/cron/mod.rs:147:7
[INFO] [stderr]     |
[INFO] [stderr] 147 | const MAX_OUTPUT_LEN: usize = 10 * 1024;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `schedule_cron_expression` is never used
[INFO] [stderr]    --> crates/shadow-runtime/src/cron/schedule.rs:183:8
[INFO] [stderr]     |
[INFO] [stderr] 183 | pub fn schedule_cron_expression(schedule: &Schedule) -> Option<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shadow-runtime` (lib) generated 45 warnings (run `cargo fix --lib -p shadow-runtime` to apply 43 suggestions)
[INFO] [stderr] warning: unused import: `shadow::config`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use shadow::config;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `shadow_config::Config`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use shadow_config::Config;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `shadow_log::Action`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use shadow_log::Action;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/main.rs:187:5
[INFO] [stderr]     |
[INFO] [stderr] 142 | /     match cli.command {
[INFO] [stderr] 143 | |         Commands::Agent {
[INFO] [stderr] 144 | |             agent: agent_alias,
[INFO] [stderr] 145 | |             message,
[INFO] [stderr] ...   |
[INFO] [stderr] 185 | |     }
[INFO] [stderr]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stderr] 186 |
[INFO] [stderr] 187 |       Ok(())
[INFO] [stderr]     |       ^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |     let mut config = Box::pin( shadow_config::Config::load_or_init()).await?;
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]    --> src/main.rs:147:13
[INFO] [stderr]     |
[INFO] [stderr] 147 |             model,
[INFO] [stderr]     |             ^^^^^ help: try ignoring the field: `model: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/main.rs:155:25
[INFO] [stderr]     |
[INFO] [stderr] 155 |             if let Some(p) = model_provider {
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_directive` is never used
[INFO] [stderr]   --> src/main.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl LogLevel {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 49 |     fn as_directive(self) -> &'static str{
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_terminal` is never used
[INFO] [stderr]   --> src/main.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn is_terminal() -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shadow` (bin "shadow" test) generated 9 warnings (run `cargo fix --bin "shadow" -p shadow --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shadow-516f13577b5e33f2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/shadow-6c8411aa2a32e069)
[INFO] [stderr]    Doc-tests shadow
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba", kill_on_drop: false }`
[INFO] [stdout] e7011da6386c2357f4b78412325b0d3206ee9e873110cb54c9a18a84d2023bba
