[INFO] fetching crate strike-security 0.1.0...
[INFO] checking strike-security-0.1.0 against master#540f43a224317d894a9a0710a8d67704f179a33c for pr-155193
[INFO] extracting crate strike-security 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate strike-security 0.1.0
[INFO] finished tweaking crates.io crate strike-security 0.1.0
[INFO] tweaked toml for crates.io crate strike-security 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate strike-security 0.1.0 on toolchain 540f43a224317d894a9a0710a8d67704f179a33c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate strike-security 0.1.0 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" "+540f43a224317d894a9a0710a8d67704f179a33c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-test v0.4.5
[INFO] [stderr]   Downloaded hyper-named-pipe v0.1.0
[INFO] [stderr]   Downloaded hyperlocal v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.63
[INFO] [stderr]   Downloaded mockito v1.7.2
[INFO] [stderr]   Downloaded bollard-stubs v1.45.0-rc.26.0.1
[INFO] [stderr]   Downloaded comfy-table v7.2.2
[INFO] [stderr]   Downloaded js-sys v0.3.90
[INFO] [stderr]   Downloaded bollard v0.17.1
[INFO] [stderr]   Downloaded opentelemetry v0.24.0
[INFO] [stderr]   Downloaded opentelemetry_sdk v0.24.1
[INFO] [stderr]   Downloaded aws-lc-rs v1.16.0
[INFO] [stderr]   Downloaded redox_syscall v0.7.2
[INFO] [stderr]   Downloaded web-sys v0.3.90
[INFO] [stderr]   Downloaded aws-lc-sys v0.37.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc51060504201dfefca6f51be30f40a698da88b6718739dfc0b2398fb54d540a
[INFO] running `Command { std: "docker" "start" "-a" "fc51060504201dfefca6f51be30f40a698da88b6718739dfc0b2398fb54d540a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc51060504201dfefca6f51be30f40a698da88b6718739dfc0b2398fb54d540a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc51060504201dfefca6f51be30f40a698da88b6718739dfc0b2398fb54d540a", kill_on_drop: false }`
[INFO] [stdout] fc51060504201dfefca6f51be30f40a698da88b6718739dfc0b2398fb54d540a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b66f0d49ad5c5f128cb039228fda559b841f61cddd76d534412de8be0577c6b
[INFO] running `Command { std: "docker" "start" "-a" "7b66f0d49ad5c5f128cb039228fda559b841f61cddd76d534412de8be0577c6b", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling aws-lc-rs v1.16.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking serde_with v3.17.0
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking resolv-conf v0.7.6
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking opentelemetry v0.24.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking bollard-stubs v1.45.0-rc.26.0.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking comfy-table v7.2.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking trust-dns-proto v0.23.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking opentelemetry_sdk v0.24.1
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking trust-dns-resolver v0.23.2
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking hyperlocal v0.9.1
[INFO] [stderr]     Checking mockito v1.7.2
[INFO] [stderr]     Checking bollard v0.17.1
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking strike-security v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Request`
[INFO] [stdout]  --> src/tools/http_client.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use reqwest::{Client, Method, Request, Response};
[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]  --> src/agents/evidence_agent.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scope_agent::*`
[INFO] [stdout]  --> src/agents/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use scope_agent::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `recon_agent::*`
[INFO] [stdout]  --> src/agents/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use recon_agent::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use auth_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use validation_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `evidence_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use evidence_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `report_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use report_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/reporting/formats.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `formats::*`
[INFO] [stdout]  --> src/reporting/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use formats::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/vulns/detectors.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `detectors::*`
[INFO] [stdout]  --> src/vulns/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use detectors::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Request`
[INFO] [stdout]  --> src/tools/http_client.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use reqwest::{Client, Method, Request, Response};
[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]  --> src/agents/evidence_agent.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scope_agent::*`
[INFO] [stdout]  --> src/agents/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use scope_agent::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `recon_agent::*`
[INFO] [stdout]  --> src/agents/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use recon_agent::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use auth_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use validation_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `evidence_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use evidence_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `report_agent::*`
[INFO] [stdout]   --> src/agents/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use report_agent::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/reporting/formats.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `formats::*`
[INFO] [stdout]  --> src/reporting/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use formats::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/vulns/detectors.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `detectors::*`
[INFO] [stdout]  --> src/vulns/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use detectors::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth`
[INFO] [stdout]   --> src/cli/commands.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     auth: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_auth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `roe_content`
[INFO] [stdout]   --> src/cli/commands.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let roe_content = tokio::fs::read_to_string(&roe_path).await?;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_roe_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `focus`
[INFO] [stdout]   --> src/cli/commands.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     focus: Option<String>,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_focus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resume`
[INFO] [stdout]   --> src/cli/commands.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     resume: Option<String>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_resume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_format`
[INFO] [stdout]    --> src/cli/commands.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     output_format: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]    --> src/cli/commands.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     ci: bool,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_schema`
[INFO] [stdout]    --> src/cli/commands.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     api_schema: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param`
[INFO] [stdout]    --> src/cli/commands.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     param: Option<String>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_session`
[INFO] [stdout]    --> src/cli/commands.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     auth_session: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validate`
[INFO] [stdout]    --> src/cli/commands.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     validate: bool,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/cli/commands.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     env: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity`
[INFO] [stdout]    --> src/cli/commands.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     severity: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmed_only`
[INFO] [stdout]    --> src/cli/commands.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     confirmed_only: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmed_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_evidence`
[INFO] [stdout]    --> src/cli/commands.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     include_evidence: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_evidence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `standards`
[INFO] [stdout]    --> src/cli/commands.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     standards: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_standards`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity`
[INFO] [stdout]    --> src/cli/commands.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 |     severity: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/cli/commands.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     status: Option<String>,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/cli/commands.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     class: Option<String>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]    --> src/cli/commands.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     set: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get`
[INFO] [stdout]    --> src/cli/commands.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |     get: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fail_on`
[INFO] [stdout]    --> src/cli/commands.rs:469:5
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fail_on: Option<String>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fail_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_routes`
[INFO] [stdout]    --> src/cli/commands.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |     block_routes: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/cli/commands.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     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: `compare_baseline`
[INFO] [stdout]    --> src/cli/commands.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 511 |     compare_baseline: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare_baseline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth`
[INFO] [stdout]   --> src/cli/commands.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     auth: Option<String>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_auth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `roe_content`
[INFO] [stdout]   --> src/cli/commands.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let roe_content = tokio::fs::read_to_string(&roe_path).await?;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_roe_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `focus`
[INFO] [stdout]   --> src/cli/commands.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     focus: Option<String>,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_focus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resume`
[INFO] [stdout]   --> src/cli/commands.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     resume: Option<String>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_resume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_format`
[INFO] [stdout]    --> src/cli/commands.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     output_format: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]    --> src/cli/commands.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     ci: bool,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_schema`
[INFO] [stdout]    --> src/cli/commands.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     api_schema: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param`
[INFO] [stdout]    --> src/cli/commands.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     param: Option<String>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_session`
[INFO] [stdout]    --> src/cli/commands.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     auth_session: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validate`
[INFO] [stdout]    --> src/cli/commands.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     validate: bool,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/cli/commands.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     env: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity`
[INFO] [stdout]    --> src/cli/commands.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     severity: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmed_only`
[INFO] [stdout]    --> src/cli/commands.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     confirmed_only: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmed_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_evidence`
[INFO] [stdout]    --> src/cli/commands.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     include_evidence: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_evidence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `standards`
[INFO] [stdout]    --> src/cli/commands.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     standards: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_standards`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity`
[INFO] [stdout]    --> src/cli/commands.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 |     severity: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/cli/commands.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     status: Option<String>,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/cli/commands.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     class: Option<String>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]    --> src/cli/commands.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     set: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get`
[INFO] [stdout]    --> src/cli/commands.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |     get: Option<String>,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fail_on`
[INFO] [stdout]    --> src/cli/commands.rs:469:5
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fail_on: Option<String>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fail_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_routes`
[INFO] [stdout]    --> src/cli/commands.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |     block_routes: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/cli/commands.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     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: `compare_baseline`
[INFO] [stdout]    --> src/cli/commands.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 511 |     compare_baseline: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare_baseline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/agents/auth_agent.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         target: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]   --> src/agents/auth_agent.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         username: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> src/agents/auth_agent.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         password: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/agents/auth_agent.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         target: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/agents/evidence_agent.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut total = 5.0;
[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: `run_state`
[INFO] [stdout]   --> src/agents/report_agent.rs:79:63
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn generate_sarif_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |                                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_run_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_cvss_score` is never used
[INFO] [stdout]   --> src/models/finding.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Severity {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 37 |     pub fn from_cvss_score(score: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> src/models/finding.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl EnvironmentTag {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 114 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `confirm`, and `add_human_review` are never used
[INFO] [stdout]    --> src/models/finding.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Finding {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 167 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn confirm(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn add_human_review(&mut self, reviewed_by: String, verdict: ReviewVerdict, notes: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_diff`, `add_browser_timeline`, and `set_confidence` are never used
[INFO] [stdout]   --> src/models/evidence.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Evidence {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 64 |     pub fn new(request: HttpTrace, response: HttpTrace, agent: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn add_diff(&mut self, before: String, after: String, description: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn add_browser_timeline(&mut self, timeline: Vec<BrowserAction>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn set_confidence(&mut self, score: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sanitize` and `sanitize_body` are never used
[INFO] [stdout]    --> src/models/evidence.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl HttpTrace {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 104 |     pub fn sanitize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn sanitize_body(body: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `as_str` and `from_str` are never used
[INFO] [stdout]   --> src/models/target.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl HttpMethod {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_parameter`, `full_url`, and `is_valid` are never used
[INFO] [stdout]   --> src/models/target.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Target {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(url: String, endpoint: String, method: HttpMethod) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_parameter(mut self, parameter: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn full_url(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_target_in_scope`, `is_action_allowed`, `requires_confirmation`, and `validate_rate_limit` are never used
[INFO] [stdout]   --> src/models/roe.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl RulesOfEngagement {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 69 |     pub fn is_target_in_scope(&self, target: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn is_action_allowed(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn requires_confirmation(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn validate_rate_limit(&self, current_rate: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fail_phase`, `update_phase_progress`, `create_checkpoint`, and `cancel` are never used
[INFO] [stdout]    --> src/models/run_state.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl RunState {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn fail_phase(&mut self, phase_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn update_phase_progress(&mut self, phase_name: &str, progress: f32, completed: u32, total: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn create_checkpoint(&mut self, phase: String, state_data: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn cancel(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `category`, `owasp_top10_mapping`, `owasp_api_top10_mapping`, and `cwe_id` are never used
[INFO] [stdout]    --> src/models/vuln_class.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl VulnClass {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  48 |     pub fn category(&self) -> VulnCategory {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn owasp_top10_mapping(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn owasp_api_top10_mapping(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn cwe_id(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VulnCategory` is never used
[INFO] [stdout]    --> src/models/vuln_class.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub enum VulnCategory {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl CvssSeverity {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 48 |     pub fn from_score(score: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl AttackVector {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 81 |     pub fn score(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl AttackComplexity {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 98 |     pub fn score(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl AttackRequirements {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 113 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PrivilegesRequired {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 129 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl UserInteraction {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 146 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Impact {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 163 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate` and `generate_vector` are never used
[INFO] [stdout]    --> src/models/cvss.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl CvssV4Score {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 189 |     pub fn calculate(base: BaseMetrics) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn generate_vector(base: &BaseMetrics) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]    --> src/storage/database.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl Database {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn close(self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `find_by_status`, and `find_by_severity` are never used
[INFO] [stdout]    --> src/storage/repository.rs:15:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl FindingRepository {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub async fn save(&self, finding: &Finding) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn find_by_status(&self, status: FindingStatus) -> Result<Vec<Finding>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn find_by_severity(&self, severity: Severity) -> Result<Vec<Finding>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_id` and `row_to_roe` are never used
[INFO] [stdout]    --> src/storage/repository.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl RoeRepository {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub async fn find_by_id(&self, id: &str) -> Result<Option<RulesOfEngagement>> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn row_to_roe(&self, row: sqlx::sqlite::SqliteRow) -> Result<RulesOfEngagement> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpClient` is never constructed
[INFO] [stdout]  --> src/tools/http_client.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HttpClient {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/tools/http_client.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HttpClient {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(rate_limit: u32, timeout_seconds: u64) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub async fn get(&self, url: &str) -> Result<Response> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub async fn post(&self, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn put(&self, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn delete(&self, url: &str) -> Result<Response> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     async fn request(&self, method: Method, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub async fn request_with_headers(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortScanner` is never constructed
[INFO] [stdout]  --> src/tools/port_scanner.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PortScanner {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scan_port`, `scan_ports`, and `scan_common_ports` are never used
[INFO] [stdout]   --> src/tools/port_scanner.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl PortScanner {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(timeout_ms: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn scan_port(&self, ip: IpAddr, port: u16) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub async fn scan_ports(&self, ip: IpAddr, ports: Vec<u16>) -> Result<Vec<u16>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn scan_common_ports(&self, ip: IpAddr) -> Result<Vec<u16>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsResolver` is never constructed
[INFO] [stdout]  --> src/tools/dns_resolver.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DnsResolver {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve` are never used
[INFO] [stdout]   --> src/tools/dns_resolver.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl DnsResolver {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 10 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub async fn resolve(&self, domain: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopeAgent` is never constructed
[INFO] [stdout]  --> src/agents/scope_agent.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ScopeAgent {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_target`, `validate_action`, `requires_confirmation`, and `validate_rate` are never used
[INFO] [stdout]   --> src/agents/scope_agent.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ScopeAgent {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(roe: RulesOfEngagement) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn validate_target(&self, target: &str) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn validate_action(&self, action: ActionType) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn requires_confirmation(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn validate_rate(&self, current_rate: u32) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReconAgent` is never constructed
[INFO] [stdout]  --> src/agents/recon_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ReconAgent {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReconResult` is never constructed
[INFO] [stdout]   --> src/agents/recon_agent.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ReconResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run_reconnaissance`, `detect_technologies`, `discover_endpoints`, and `enumerate_subdomains` are never used
[INFO] [stdout]   --> src/agents/recon_agent.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ReconAgent {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 23 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn run_reconnaissance(&self, target: &str) -> Result<ReconResult> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     async fn detect_technologies(&self, target: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     async fn discover_endpoints(&self, target: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn enumerate_subdomains(&self, domain: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthSession` is never constructed
[INFO] [stdout]  --> src/agents/auth_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AuthSession {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthAgent` is never constructed
[INFO] [stdout]   --> src/agents/auth_agent.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct AuthAgent {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `authenticate_form`, `authenticate_api_key`, `get_session`, and `update_session` are never used
[INFO] [stdout]   --> src/agents/auth_agent.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AuthAgent {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn authenticate_form(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn authenticate_api_key(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn get_session(&self, session_id: &str) -> Option<&AuthSession> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn update_session(&mut self, session: AuthSession) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationAgent` is never constructed
[INFO] [stdout]  --> src/agents/validation_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ValidationAgent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationResult` is never constructed
[INFO] [stdout]   --> src/agents/validation_agent.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ValidationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_vulnerability`, `validate_idor`, `validate_sqli`, `validate_xss`, and `validate_ssrf` are never used
[INFO] [stdout]    --> src/agents/validation_agent.rs:18:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl ValidationAgent {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  18 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub async fn validate_vulnerability(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     async fn validate_idor(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     async fn validate_sqli(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     async fn validate_xss(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     async fn validate_ssrf(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EvidenceAgent` is never constructed
[INFO] [stdout]  --> src/agents/evidence_agent.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EvidenceAgent;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `capture_evidence`, `sanitize_evidence`, and `validate_evidence_completeness` are never used
[INFO] [stdout]   --> src/agents/evidence_agent.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl EvidenceAgent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn capture_evidence(&self, request: HttpTrace, response: HttpTrace) -> Evidence {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn sanitize_evidence(&self, mut evidence: Evidence) -> Evidence {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn validate_evidence_completeness(&self, evidence: &Evidence) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReportAgent` is never constructed
[INFO] [stdout]  --> src/agents/report_agent.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ReportAgent;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate_json_report`, `generate_markdown_report`, and `generate_sarif_report` are never used
[INFO] [stdout]   --> src/agents/report_agent.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ReportAgent {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn generate_json_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn generate_markdown_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn generate_sarif_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StrikeConfig` is never constructed
[INFO] [stdout]  --> src/config/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct StrikeConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LlmConfig {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SandboxConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OutputConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct OutputConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `save` are never used
[INFO] [stdout]   --> src/config/mod.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl StrikeConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 37 |     pub async fn load(path: &Path) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub async fn save(&self, path: &Path) -> Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sandbox` is never constructed
[INFO] [stdout]  --> src/sandbox/mod.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Sandbox {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_available` are never used
[INFO] [stdout]   --> src/sandbox/mod.rs:9:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Sandbox {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  9 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub async fn is_available(&self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReportFormat` is never used
[INFO] [stdout]  --> src/reporting/formats.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum ReportFormat {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/reporting/formats.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ReportFormat {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VulnDetector` is never constructed
[INFO] [stdout]  --> src/vulns/detectors.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct VulnDetector;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_vulnerability_class` are never used
[INFO] [stdout]   --> src/vulns/detectors.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl VulnDetector {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn detect_vulnerability_class(&self, pattern: &str) -> Option<VulnClass> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/agents/auth_agent.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         target: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]   --> src/agents/auth_agent.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         username: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> src/agents/auth_agent.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         password: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/agents/auth_agent.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         target: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/agents/evidence_agent.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut total = 5.0;
[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: `run_state`
[INFO] [stdout]   --> src/agents/report_agent.rs:79:63
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn generate_sarif_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |                                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_run_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_cvss_score` is never used
[INFO] [stdout]   --> src/models/finding.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Severity {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 37 |     pub fn from_cvss_score(score: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> src/models/finding.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl EnvironmentTag {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 114 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `confirm`, and `add_human_review` are never used
[INFO] [stdout]    --> src/models/finding.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Finding {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 167 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn confirm(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn add_human_review(&mut self, reviewed_by: String, verdict: ReviewVerdict, notes: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_diff`, `add_browser_timeline`, and `set_confidence` are never used
[INFO] [stdout]   --> src/models/evidence.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Evidence {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 64 |     pub fn new(request: HttpTrace, response: HttpTrace, agent: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn add_diff(&mut self, before: String, after: String, description: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn add_browser_timeline(&mut self, timeline: Vec<BrowserAction>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn set_confidence(&mut self, score: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sanitize` and `sanitize_body` are never used
[INFO] [stdout]    --> src/models/evidence.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl HttpTrace {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 104 |     pub fn sanitize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn sanitize_body(body: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `as_str` and `from_str` are never used
[INFO] [stdout]   --> src/models/target.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl HttpMethod {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_parameter`, `full_url`, and `is_valid` are never used
[INFO] [stdout]   --> src/models/target.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Target {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(url: String, endpoint: String, method: HttpMethod) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_parameter(mut self, parameter: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn full_url(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_target_in_scope`, `is_action_allowed`, `requires_confirmation`, and `validate_rate_limit` are never used
[INFO] [stdout]   --> src/models/roe.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl RulesOfEngagement {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 69 |     pub fn is_target_in_scope(&self, target: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn is_action_allowed(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn requires_confirmation(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn validate_rate_limit(&self, current_rate: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fail_phase`, `update_phase_progress`, `create_checkpoint`, and `cancel` are never used
[INFO] [stdout]    --> src/models/run_state.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl RunState {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn fail_phase(&mut self, phase_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn update_phase_progress(&mut self, phase_name: &str, progress: f32, completed: u32, total: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn create_checkpoint(&mut self, phase: String, state_data: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn cancel(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `category`, `owasp_top10_mapping`, `owasp_api_top10_mapping`, and `cwe_id` are never used
[INFO] [stdout]    --> src/models/vuln_class.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl VulnClass {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  48 |     pub fn category(&self) -> VulnCategory {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn owasp_top10_mapping(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn owasp_api_top10_mapping(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn cwe_id(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VulnCategory` is never used
[INFO] [stdout]    --> src/models/vuln_class.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub enum VulnCategory {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl CvssSeverity {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 48 |     pub fn from_score(score: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl AttackVector {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 81 |     pub fn score(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]   --> src/models/cvss.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl AttackComplexity {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 98 |     pub fn score(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl AttackRequirements {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 113 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PrivilegesRequired {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 129 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl UserInteraction {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 146 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/models/cvss.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Impact {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 163 |     pub fn score(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate` and `generate_vector` are never used
[INFO] [stdout]    --> src/models/cvss.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl CvssV4Score {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 189 |     pub fn calculate(base: BaseMetrics) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn generate_vector(base: &BaseMetrics) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]    --> src/storage/database.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl Database {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn close(self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `find_by_status`, and `find_by_severity` are never used
[INFO] [stdout]    --> src/storage/repository.rs:15:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl FindingRepository {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub async fn save(&self, finding: &Finding) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn find_by_status(&self, status: FindingStatus) -> Result<Vec<Finding>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn find_by_severity(&self, severity: Severity) -> Result<Vec<Finding>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_id` and `row_to_roe` are never used
[INFO] [stdout]    --> src/storage/repository.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl RoeRepository {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub async fn find_by_id(&self, id: &str) -> Result<Option<RulesOfEngagement>> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn row_to_roe(&self, row: sqlx::sqlite::SqliteRow) -> Result<RulesOfEngagement> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `rate_limiter`, and `default_headers` are never read
[INFO] [stdout]   --> src/tools/http_client.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct HttpClient {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     rate_limiter: Arc<Semaphore>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     default_headers: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/tools/http_client.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HttpClient {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub async fn get(&self, url: &str) -> Result<Response> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub async fn post(&self, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn put(&self, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn delete(&self, url: &str) -> Result<Response> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     async fn request(&self, method: Method, url: &str, body: Option<String>) -> Result<Response> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub async fn request_with_headers(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortScanner` is never constructed
[INFO] [stdout]  --> src/tools/port_scanner.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PortScanner {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scan_port`, `scan_ports`, and `scan_common_ports` are never used
[INFO] [stdout]   --> src/tools/port_scanner.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl PortScanner {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(timeout_ms: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn scan_port(&self, ip: IpAddr, port: u16) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub async fn scan_ports(&self, ip: IpAddr, ports: Vec<u16>) -> Result<Vec<u16>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn scan_common_ports(&self, ip: IpAddr) -> Result<Vec<u16>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsResolver` is never constructed
[INFO] [stdout]  --> src/tools/dns_resolver.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DnsResolver {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve` are never used
[INFO] [stdout]   --> src/tools/dns_resolver.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl DnsResolver {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 10 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub async fn resolve(&self, domain: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopeAgent` is never constructed
[INFO] [stdout]  --> src/agents/scope_agent.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ScopeAgent {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_target`, `validate_action`, `requires_confirmation`, and `validate_rate` are never used
[INFO] [stdout]   --> src/agents/scope_agent.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ScopeAgent {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(roe: RulesOfEngagement) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn validate_target(&self, target: &str) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn validate_action(&self, action: ActionType) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn requires_confirmation(&self, action: ActionType) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn validate_rate(&self, current_rate: u32) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReconAgent` is never constructed
[INFO] [stdout]  --> src/agents/recon_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ReconAgent {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReconResult` is never constructed
[INFO] [stdout]   --> src/agents/recon_agent.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ReconResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run_reconnaissance`, `detect_technologies`, `discover_endpoints`, and `enumerate_subdomains` are never used
[INFO] [stdout]   --> src/agents/recon_agent.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ReconAgent {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 23 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn run_reconnaissance(&self, target: &str) -> Result<ReconResult> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     async fn detect_technologies(&self, target: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     async fn discover_endpoints(&self, target: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn enumerate_subdomains(&self, domain: &str) -> Result<Vec<String>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthSession` is never constructed
[INFO] [stdout]  --> src/agents/auth_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AuthSession {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthAgent` is never constructed
[INFO] [stdout]   --> src/agents/auth_agent.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct AuthAgent {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `authenticate_form`, `authenticate_api_key`, `get_session`, and `update_session` are never used
[INFO] [stdout]   --> src/agents/auth_agent.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AuthAgent {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn authenticate_form(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn authenticate_api_key(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn get_session(&self, session_id: &str) -> Option<&AuthSession> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn update_session(&mut self, session: AuthSession) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationAgent` is never constructed
[INFO] [stdout]  --> src/agents/validation_agent.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ValidationAgent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationResult` is never constructed
[INFO] [stdout]   --> src/agents/validation_agent.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ValidationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_vulnerability`, `validate_idor`, `validate_sqli`, `validate_xss`, and `validate_ssrf` are never used
[INFO] [stdout]    --> src/agents/validation_agent.rs:18:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl ValidationAgent {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  18 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub async fn validate_vulnerability(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     async fn validate_idor(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     async fn validate_sqli(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     async fn validate_xss(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     async fn validate_ssrf(&self, target: &Target) -> Result<ValidationResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EvidenceAgent` is never constructed
[INFO] [stdout]  --> src/agents/evidence_agent.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EvidenceAgent;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `capture_evidence`, `sanitize_evidence`, and `validate_evidence_completeness` are never used
[INFO] [stdout]   --> src/agents/evidence_agent.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl EvidenceAgent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn capture_evidence(&self, request: HttpTrace, response: HttpTrace) -> Evidence {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn sanitize_evidence(&self, mut evidence: Evidence) -> Evidence {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn validate_evidence_completeness(&self, evidence: &Evidence) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReportAgent` is never constructed
[INFO] [stdout]  --> src/agents/report_agent.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ReportAgent;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate_json_report`, `generate_markdown_report`, and `generate_sarif_report` are never used
[INFO] [stdout]   --> src/agents/report_agent.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ReportAgent {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn generate_json_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn generate_markdown_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn generate_sarif_report(&self, findings: &[Finding], run_state: &RunState) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StrikeConfig` is never constructed
[INFO] [stdout]  --> src/config/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct StrikeConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LlmConfig {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SandboxConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OutputConfig` is never constructed
[INFO] [stdout]   --> src/config/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct OutputConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `save` are never used
[INFO] [stdout]   --> src/config/mod.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl StrikeConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 37 |     pub async fn load(path: &Path) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub async fn save(&self, path: &Path) -> Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sandbox` is never constructed
[INFO] [stdout]  --> src/sandbox/mod.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Sandbox {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_available` are never used
[INFO] [stdout]   --> src/sandbox/mod.rs:9:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Sandbox {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  9 |     pub async fn new() -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub async fn is_available(&self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReportFormat` is never used
[INFO] [stdout]  --> src/reporting/formats.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum ReportFormat {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/reporting/formats.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ReportFormat {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VulnDetector` is never constructed
[INFO] [stdout]  --> src/vulns/detectors.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct VulnDetector;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_vulnerability_class` are never used
[INFO] [stdout]   --> src/vulns/detectors.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl VulnDetector {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn detect_vulnerability_class(&self, pattern: &str) -> Option<VulnClass> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "7b66f0d49ad5c5f128cb039228fda559b841f61cddd76d534412de8be0577c6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b66f0d49ad5c5f128cb039228fda559b841f61cddd76d534412de8be0577c6b", kill_on_drop: false }`
[INFO] [stdout] 7b66f0d49ad5c5f128cb039228fda559b841f61cddd76d534412de8be0577c6b
