[INFO] cloning repository https://github.com/adrgu372/GnomeAI-RS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adrgu372/GnomeAI-RS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadrgu372%2FGnomeAI-RS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadrgu372%2FGnomeAI-RS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 97b55ccc8fca0cd9280e24584a220a681919c337
[INFO] checking adrgu372/GnomeAI-RS against dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadrgu372%2FGnomeAI-RS" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/adrgu372/GnomeAI-RS
[INFO] finished tweaking git repo https://github.com/adrgu372/GnomeAI-RS
[INFO] tweaked toml for git repo https://github.com/adrgu372/GnomeAI-RS written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/adrgu372/GnomeAI-RS on toolchain dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/adrgu372/GnomeAI-RS 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" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zlib-rs v0.6.6
[INFO] [stderr]   Downloaded seccompiler v0.5.0
[INFO] [stderr]   Downloaded zip v8.6.0
[INFO] [stderr]   Downloaded pest v2.8.8
[INFO] [stderr]   Downloaded pest_derive v2.8.8
[INFO] [stderr]   Downloaded pest_generator v2.8.8
[INFO] [stderr]   Downloaded pest_meta v2.8.8
[INFO] [stderr]   Downloaded qrcode v0.14.1
[INFO] [stderr]   Downloaded landlock v0.4.5
[INFO] [stderr]   Downloaded globset v0.4.19
[INFO] [stderr]   Downloaded ignore v0.4.31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631
[INFO] running `Command { std: "docker" "start" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking lru v0.18.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking time v0.3.54
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking ratatui-core v0.1.2
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking rustls-webpki v0.103.10
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bstr v1.13.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.2
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking zlib-rs v0.6.6
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking iri-string v0.7.12
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking globset v0.4.19
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking ratatui-macros v0.7.2
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking ratatui-crossterm v0.1.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking typed-path v0.12.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking zip v8.6.0
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking ignore v0.4.31
[INFO] [stderr]     Checking landlock v0.4.5
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking ratatui v0.30.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking seccompiler v0.5.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking gnomef-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `UPSTREAM_VERSION` is never used
[INFO] [stdout]   --> src/codex_app_server.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const UPSTREAM_VERSION: &str = "0.145.0";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPSTREAM_COMMIT` is never used
[INFO] [stdout]   --> src/codex_app_server.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const UPSTREAM_COMMIT: &str = "25af12f7e61572b0bc18ddb1008be543b91519b0";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodexAppServer` is never constructed
[INFO] [stdout]   --> src/codex_app_server.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct CodexAppServer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/codex_app_server.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl CodexAppServer {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_chatgpt` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub async fn login_with_chatgpt() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_chatgpt_app_server` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:262:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | async fn login_with_chatgpt_app_server() -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppServerSession` is never constructed
[INFO] [stdout]    --> src/codex_app_server.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | struct AppServerSession {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/codex_app_server.rs:334:14
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl AppServerSession {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 334 |     async fn spawn() -> Result<Self> {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     async fn request(&mut self, id: i64, method: &str, params: Value) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     async fn send_request(&mut self, id: i64, method: &str, params: Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     async fn send_value(&mut self, value: &Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     async fn wait_for_response(&mut self, id: i64) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     async fn next_message(&mut self) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     async fn read_message(&mut self) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     async fn stderr_diagnostics(&self) -> String {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     async fn reject_server_request(&mut self, request: &Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     async fn stop(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_stderr` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn capture_stderr(stderr: ChildStderr, tail: Arc<Mutex<VecDeque<String>>>) -> JoinHandle<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_codex_home` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn prepare_codex_home() -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_codex_home` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:553:4
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn ensure_codex_home(path: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_server_request` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:594:4
[INFO] [stdout]     |
[INFO] [stdout] 594 | fn is_server_request(message: &Value) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sandbox_name` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:598:4
[INFO] [stdout]     |
[INFO] [stdout] 598 | fn sandbox_name(mode: SandboxMode) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codex_prompt` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn codex_prompt(messages: &[Message]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codex_executable` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn codex_executable() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bundled_candidates` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:661:4
[INFO] [stdout]     |
[INFO] [stdout] 661 | fn bundled_candidates(current_exe: &Path) -> Vec<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_standalone_app_server` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:675:4
[INFO] [stdout]     |
[INFO] [stdout] 675 | fn is_standalone_app_server(executable: &Path) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `agent_memory_block` is never used
[INFO] [stdout]     --> src/memory_engine.rs:1268:12
[INFO] [stdout]      |
[INFO] [stdout]  528 | impl MemoryEngine {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1268 |     pub fn agent_memory_block(&self, cfg: &AppConfig) -> String {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolSpec` is never constructed
[INFO] [stdout]   --> src/provider.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ToolSpec {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]   --> src/provider.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct ToolCall {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/provider.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Message {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delegated_host_context` is never used
[INFO] [stdout]   --> src/provider.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) fn delegated_host_context(messages: &[Message]) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StopReason` is never used
[INFO] [stdout]   --> src/provider.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub enum StopReason {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]    --> src/provider.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Usage {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Delta` is never used
[INFO] [stdout]    --> src/provider.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Delta {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]    --> src/provider.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct Request {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Provider` is never used
[INFO] [stdout]    --> src/provider.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub trait Provider: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiCompatible` is never constructed
[INFO] [stdout]    --> src/provider.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct OpenAiCompatible {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `named` and `body` are never used
[INFO] [stdout]    --> src/provider.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl OpenAiCompatible {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn named(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn body(&self, req: &Request) -> Value {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_message` is never used
[INFO] [stdout]    --> src/provider.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn encode_message(m: &Message) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Anthropic` is never constructed
[INFO] [stdout]    --> src/provider.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Anthropic {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `body` are never used
[INFO] [stdout]    --> src/provider.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | impl Anthropic {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 312 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn body(&self, req: &Request) -> Value {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_anthropic_messages` is never used
[INFO] [stdout]    --> src/provider.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn encode_anthropic_messages(messages: &[Message]) -> Vec<Value> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_anthropic_sse` is never used
[INFO] [stdout]    --> src/provider.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 | fn parse_anthropic_sse(resp: reqwest::Response) -> impl futures_util::Stream<Item = Result<Delta>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CliFlavor` is never used
[INFO] [stdout]    --> src/provider.rs:579:10
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub enum CliFlavor {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliProvider` is never constructed
[INFO] [stdout]    --> src/provider.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub struct CliProvider {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/provider.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl CliProvider {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 591 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command` is never used
[INFO] [stdout]    --> src/provider.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn cli_command(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `claude_executable` is never used
[INFO] [stdout]    --> src/provider.rs:698:8
[INFO] [stdout]     |
[INFO] [stdout] 698 | pub fn claude_executable() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `executable_in_path` is never used
[INFO] [stdout]    --> src/provider.rs:716:4
[INFO] [stdout]     |
[INFO] [stdout] 716 | fn executable_in_path(name: &str) -> Option<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `claude_user_candidates` is never used
[INFO] [stdout]    --> src/provider.rs:724:4
[INFO] [stdout]     |
[INFO] [stdout] 724 | fn claude_user_candidates(home: Option<&Path>, npm_prefix: Option<&Path>) -> Vec<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_claude` is never used
[INFO] [stdout]    --> src/provider.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub async fn login_with_claude() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_prompt` is never used
[INFO] [stdout]    --> src/provider.rs:780:4
[INFO] [stdout]     |
[INFO] [stdout] 780 | fn cli_prompt(messages: &[Message]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_install_hint` is never used
[INFO] [stdout]    --> src/provider.rs:821:4
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn cli_install_hint(flavor: CliFlavor, program: &Path) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_sse` is never used
[INFO] [stdout]    --> src/provider.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn parse_sse(resp: reqwest::Response) -> impl futures_util::Stream<Item = Result<Delta>> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_boundary` is never used
[INFO] [stdout]    --> src/provider.rs:965:4
[INFO] [stdout]     |
[INFO] [stdout] 965 | fn frame_boundary(buffer: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `salvage_tool_calls` is never used
[INFO] [stdout]    --> src/provider.rs:979:4
[INFO] [stdout]     |
[INFO] [stdout] 979 | fn salvage_tool_calls(text: &str) -> Vec<ToolCall> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `legacy` is never used
[INFO] [stdout]    --> src/provider_catalog.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 245 | impl ProviderSelection {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn legacy(base_url: String, api_key: Option<String>, model: String) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_provider` is never used
[INFO] [stdout]    --> src/provider_catalog.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn build_provider(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `normal`, `full_access`, and `unrestricted` are never used
[INFO] [stdout]    --> src/sandbox.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl SandboxPolicy {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn normal(cwd: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn full_access(cwd: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn unrestricted(cwd: impl Into<PathBuf>, mode: SandboxMode) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `truncated` is never read
[INFO] [stdout]    --> src/sandbox.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ExecOutput {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub truncated: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catalog_prompt` is never used
[INFO] [stdout]    --> src/skills.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn catalog_prompt(workspace: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/transcribe.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait TranscriptionProvider: Send + Sync {
[INFO] [stdout]    |           --------------------- method in this trait
[INFO] [stdout] 29 |     /// Identity for diagnostics, e.g. `openai:whisper-1`.
[INFO] [stdout] 30 |     fn id(&self) -> String;
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_base64_image` is never used
[INFO] [stdout]    --> src/uploads.rs:761:14
[INFO] [stdout]     |
[INFO] [stdout] 761 | pub async fn save_base64_image(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge_patch` is never used
[INFO] [stdout]    --> src/bin/../config.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl AppConfig {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn merge_patch(&mut self, patch: &Value) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entries` is never read
[INFO] [stdout]   --> src/bin/../firecrawl.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FirecrawlBundle {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 21 |     pub entries: Vec<FirecrawlEntry>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FirecrawlBundle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_release_answer` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub fn build_release_answer(query: &str, entries: &[FirecrawlEntry]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `version_sort_key` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:716:4
[INFO] [stdout]     |
[INFO] [stdout] 716 | fn version_sort_key(version: &str) -> Vec<u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool_calls` is never read
[INFO] [stdout]   --> src/bin/../llama.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LlamaResponse {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 18 |     pub content: String,
[INFO] [stdout] 19 |     pub tool_calls: Vec<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LlamaResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelInfo` is never constructed
[INFO] [stdout]   --> src/bin/../llama.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenStream` is never used
[INFO] [stdout]   --> src/bin/../llama.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type TokenStream = Pin<Box<dyn Stream<Item = anyhow::Result<String>> + Send>>;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `http`, `list_models`, `chat_with_tools`, `chat_stream`, and `anthropic_chat_stream` are never used
[INFO] [stdout]    --> src/bin/../llama.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl LlamaClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn http(&self) -> &reqwest::Client {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub async fn list_models(&self, cfg: &AppConfig) -> anyhow::Result<Vec<ModelInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub async fn chat_with_tools(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn chat_stream(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     async fn anthropic_chat_stream(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_tokens_from_response` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:404:4
[INFO] [stdout]     |
[INFO] [stdout] 404 | fn stream_tokens_from_response(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_tokens_from_line` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn stream_tokens_from_line(line: &str) -> anyhow::Result<Vec<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_model_urls` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub fn candidate_model_urls(cfg: &AppConfig) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_anthropic_tokens` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:699:4
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn stream_anthropic_tokens(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_models` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:740:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub fn parse_models(payload: &Value) -> Vec<ModelInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_model_item` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:762:4
[INFO] [stdout]     |
[INFO] [stdout] 762 | fn parse_model_item(item: &Value) -> Option<ModelInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_stream_tokens` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:878:8
[INFO] [stdout]     |
[INFO] [stdout] 878 | pub fn extract_stream_tokens(payload: &Value) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `priority` is never used
[INFO] [stdout]   --> src/bin/../memory.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl MemoryCategory {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn priority(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_recent_summary` is never used
[INFO] [stdout]    --> src/bin/../memory.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub fn score_recent_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combined_terms` is never used
[INFO] [stdout]    --> src/bin/../memory.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub fn combined_terms(query: &str, history: &[ChatMessage]) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `forget_conversation`, `recent_conversation_rows`, `touch_facts`, and `working_memory_block` are never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:944:12
[INFO] [stdout]      |
[INFO] [stdout]  528 | impl MemoryEngine {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  944 |     pub fn forget_conversation(&self, chat_id: &str) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  978 |     fn recent_conversation_rows(&self) -> Result<Vec<RecentConversationSummary>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  999 |     fn touch_facts(&self, ids: &[String]) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1167 |     pub async fn working_memory_block(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hybrid_score` is never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:2321:4
[INFO] [stdout]      |
[INFO] [stdout] 2321 | fn hybrid_score(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_memory_block` is never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:2370:4
[INFO] [stdout]      |
[INFO] [stdout] 2370 | fn format_memory_block(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `truncated` is never read
[INFO] [stdout]    --> src/bin/../sandbox.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ExecOutput {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub truncated: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_sandboxed` is never used
[INFO] [stdout]    --> src/bin/../sandbox.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub async fn spawn_sandboxed(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `web_catalog_prompt` is never used
[INFO] [stdout]    --> src/bin/../skills.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn web_catalog_prompt(workspace: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `workspace_dir`, `config_file`, `whatsapp_bridge_file`, `whatsapp_log_file`, `workflow_file`, and `index_file` are never read
[INFO] [stdout]   --> src/bin/../storage.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AppPaths {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub workspace_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub config_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub whatsapp_bridge_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub whatsapp_log_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub workflow_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub index_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppPaths` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_private` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn write_private(path: &Path, data: &[u8]) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatListItem` is never constructed
[INFO] [stdout]    --> src/bin/../storage.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct ChatListItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chat_files` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn list_chat_files(paths: &AppPaths) -> anyhow::Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chats` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn list_chats(paths: &AppPaths) -> anyhow::Result<Vec<ChatListItem>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_file_path` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn chat_file_path(paths: &AppPaths, cid: &str) -> anyhow::Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_chat_id` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn validate_chat_id(cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn new_chat(paths: &AppPaths) -> anyhow::Result<Chat> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn load_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<Chat> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn save_chat(paths: &AppPaths, chat: &Chat) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn delete_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_msg` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn append_msg(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn clear_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_context` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn build_context(history: &[ChatMessage], window: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_meta` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:430:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub fn image_meta(filename: &str, path: &Path, ocr: &str) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fingerprints` is never used
[INFO] [stdout]   --> src/bin/../verify.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn fingerprints(diags: &[Diagnostic]) -> HashSet<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:371:14
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub async fn verify(root: &Path, policy: &SandboxPolicy) -> Result<VerifyReport> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Outcome` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:441:10
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub enum Outcome {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Loop` is never constructed
[INFO] [stdout]    --> src/bin/../verify.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct Loop {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `step` are never used
[INFO] [stdout]    --> src/bin/../verify.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl Loop {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 471 |     /// Establish the baseline. Call once, before the first patch is applied.
[INFO] [stdout] 472 |     pub async fn new(root: &Path, policy: &SandboxPolicy, max_rounds: usize) -> Result<Self> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub async fn step(
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge_patch` is never used
[INFO] [stdout]    --> src/bin/../config.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl AppConfig {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn merge_patch(&mut self, patch: &Value) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entries` is never read
[INFO] [stdout]   --> src/bin/../firecrawl.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FirecrawlBundle {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 21 |     pub entries: Vec<FirecrawlEntry>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FirecrawlBundle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_release_answer` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub fn build_release_answer(query: &str, entries: &[FirecrawlEntry]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `version_sort_key` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:716:4
[INFO] [stdout]     |
[INFO] [stdout] 716 | fn version_sort_key(version: &str) -> Vec<u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool_calls` is never read
[INFO] [stdout]   --> src/bin/../llama.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LlamaResponse {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 18 |     pub content: String,
[INFO] [stdout] 19 |     pub tool_calls: Vec<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LlamaResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelInfo` is never constructed
[INFO] [stdout]   --> src/bin/../llama.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenStream` is never used
[INFO] [stdout]   --> src/bin/../llama.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type TokenStream = Pin<Box<dyn Stream<Item = anyhow::Result<String>> + Send>>;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `http`, `list_models`, `chat_with_tools`, `chat_stream`, and `anthropic_chat_stream` are never used
[INFO] [stdout]    --> src/bin/../llama.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl LlamaClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn http(&self) -> &reqwest::Client {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub async fn list_models(&self, cfg: &AppConfig) -> anyhow::Result<Vec<ModelInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub async fn chat_with_tools(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn chat_stream(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     async fn anthropic_chat_stream(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_tokens_from_response` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:404:4
[INFO] [stdout]     |
[INFO] [stdout] 404 | fn stream_tokens_from_response(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_tokens_from_line` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn stream_tokens_from_line(line: &str) -> anyhow::Result<Vec<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_model_urls` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub fn candidate_model_urls(cfg: &AppConfig) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_anthropic_tokens` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:699:4
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn stream_anthropic_tokens(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_models` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:740:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub fn parse_models(payload: &Value) -> Vec<ModelInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_model_item` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:762:4
[INFO] [stdout]     |
[INFO] [stdout] 762 | fn parse_model_item(item: &Value) -> Option<ModelInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_stream_tokens` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:878:8
[INFO] [stdout]     |
[INFO] [stdout] 878 | pub fn extract_stream_tokens(payload: &Value) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `priority` is never used
[INFO] [stdout]   --> src/bin/../memory.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl MemoryCategory {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn priority(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_recent_summary` is never used
[INFO] [stdout]    --> src/bin/../memory.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub fn score_recent_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combined_terms` is never used
[INFO] [stdout]    --> src/bin/../memory.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub fn combined_terms(query: &str, history: &[ChatMessage]) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `forget_conversation`, `recent_conversation_rows`, `touch_facts`, and `working_memory_block` are never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:944:12
[INFO] [stdout]      |
[INFO] [stdout]  528 | impl MemoryEngine {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  944 |     pub fn forget_conversation(&self, chat_id: &str) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  978 |     fn recent_conversation_rows(&self) -> Result<Vec<RecentConversationSummary>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  999 |     fn touch_facts(&self, ids: &[String]) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1167 |     pub async fn working_memory_block(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hybrid_score` is never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:2321:4
[INFO] [stdout]      |
[INFO] [stdout] 2321 | fn hybrid_score(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_memory_block` is never used
[INFO] [stdout]     --> src/bin/../memory_engine.rs:2370:4
[INFO] [stdout]      |
[INFO] [stdout] 2370 | fn format_memory_block(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `truncated` is never read
[INFO] [stdout]    --> src/bin/../sandbox.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ExecOutput {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub truncated: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_sandboxed` is never used
[INFO] [stdout]    --> src/bin/../sandbox.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub async fn spawn_sandboxed(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `web_catalog_prompt` is never used
[INFO] [stdout]    --> src/bin/../skills.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn web_catalog_prompt(workspace: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `workspace_dir`, `config_file`, `whatsapp_bridge_file`, `whatsapp_log_file`, `workflow_file`, and `index_file` are never read
[INFO] [stdout]   --> src/bin/../storage.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AppPaths {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub workspace_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub config_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub whatsapp_bridge_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub whatsapp_log_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub workflow_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub index_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppPaths` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_private` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn write_private(path: &Path, data: &[u8]) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatListItem` is never constructed
[INFO] [stdout]    --> src/bin/../storage.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct ChatListItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chat_files` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn list_chat_files(paths: &AppPaths) -> anyhow::Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chats` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn list_chats(paths: &AppPaths) -> anyhow::Result<Vec<ChatListItem>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_file_path` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn chat_file_path(paths: &AppPaths, cid: &str) -> anyhow::Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_chat_id` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn validate_chat_id(cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn new_chat(paths: &AppPaths) -> anyhow::Result<Chat> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn load_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<Chat> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn save_chat(paths: &AppPaths, chat: &Chat) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn delete_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_msg` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn append_msg(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn clear_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_context` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn build_context(history: &[ChatMessage], window: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_meta` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:430:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub fn image_meta(filename: &str, path: &Path, ocr: &str) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fingerprints` is never used
[INFO] [stdout]   --> src/bin/../verify.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn fingerprints(diags: &[Diagnostic]) -> HashSet<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:371:14
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub async fn verify(root: &Path, policy: &SandboxPolicy) -> Result<VerifyReport> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Outcome` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:441:10
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub enum Outcome {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Loop` is never constructed
[INFO] [stdout]    --> src/bin/../verify.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct Loop {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `step` are never used
[INFO] [stdout]    --> src/bin/../verify.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl Loop {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 471 |     /// Establish the baseline. Call once, before the first patch is applied.
[INFO] [stdout] 472 |     pub async fn new(root: &Path, policy: &SandboxPolicy, max_rounds: usize) -> Result<Self> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub async fn step(
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodexAppServer` is never constructed
[INFO] [stdout]   --> src/codex_app_server.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct CodexAppServer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/codex_app_server.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl CodexAppServer {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_chatgpt` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub async fn login_with_chatgpt() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_chatgpt_app_server` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:262:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | async fn login_with_chatgpt_app_server() -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppServerSession` is never constructed
[INFO] [stdout]    --> src/codex_app_server.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | struct AppServerSession {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/codex_app_server.rs:334:14
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl AppServerSession {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 334 |     async fn spawn() -> Result<Self> {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     async fn request(&mut self, id: i64, method: &str, params: Value) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     async fn send_request(&mut self, id: i64, method: &str, params: Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     async fn send_value(&mut self, value: &Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     async fn wait_for_response(&mut self, id: i64) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     async fn next_message(&mut self) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     async fn read_message(&mut self) -> Result<Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     async fn stderr_diagnostics(&self) -> String {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     async fn reject_server_request(&mut self, request: &Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     async fn stop(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_stderr` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn capture_stderr(stderr: ChildStderr, tail: Arc<Mutex<VecDeque<String>>>) -> JoinHandle<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_codex_home` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn prepare_codex_home() -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_server_request` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:594:4
[INFO] [stdout]     |
[INFO] [stdout] 594 | fn is_server_request(message: &Value) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sandbox_name` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:598:4
[INFO] [stdout]     |
[INFO] [stdout] 598 | fn sandbox_name(mode: SandboxMode) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codex_executable` is never used
[INFO] [stdout]    --> src/codex_app_server.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn codex_executable() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]    --> src/provider.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub enum StopReason {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 103 |     Cancelled,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StopReason` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/provider.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     Reasoning(String),
[INFO] [stdout]     |     --------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Delta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 115 -     Reasoning(String),
[INFO] [stdout] 115 +     Reasoning(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `delegates_execution` are never used
[INFO] [stdout]    --> src/provider.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub trait Provider: Send + Sync {
[INFO] [stdout]     |           -------- methods in this trait
[INFO] [stdout] 134 |     fn name(&self) -> &str;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn delegates_execution(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/provider.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct OpenAiCompatible {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 149 |     client: reqwest::Client,
[INFO] [stdout] 150 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/provider.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Anthropic {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 305 |     client: reqwest::Client,
[INFO] [stdout] 306 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliProvider` is never constructed
[INFO] [stdout]    --> src/provider.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub struct CliProvider {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/provider.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl CliProvider {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 591 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `login_with_claude` is never used
[INFO] [stdout]    --> src/provider.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub async fn login_with_claude() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_prompt` is never used
[INFO] [stdout]    --> src/provider.rs:780:4
[INFO] [stdout]     |
[INFO] [stdout] 780 | fn cli_prompt(messages: &[Message]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_install_hint` is never used
[INFO] [stdout]    --> src/provider.rs:821:4
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn cli_install_hint(flavor: CliFlavor, program: &Path) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `legacy` is never used
[INFO] [stdout]    --> src/provider_catalog.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 245 | impl ProviderSelection {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn legacy(base_url: String, api_key: Option<String>, model: String) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_provider` is never used
[INFO] [stdout]    --> src/provider_catalog.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn build_provider(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `truncated` is never read
[INFO] [stdout]    --> src/sandbox.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ExecOutput {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub truncated: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catalog_prompt` is never used
[INFO] [stdout]    --> src/skills.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn catalog_prompt(workspace: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_base64_image` is never used
[INFO] [stdout]    --> src/uploads.rs:761:14
[INFO] [stdout]     |
[INFO] [stdout] 761 | pub async fn save_base64_image(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entries` is never read
[INFO] [stdout]   --> src/bin/../firecrawl.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FirecrawlBundle {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 21 |     pub entries: Vec<FirecrawlEntry>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FirecrawlBundle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_release_answer` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub fn build_release_answer(query: &str, entries: &[FirecrawlEntry]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `version_sort_key` is never used
[INFO] [stdout]    --> src/bin/../firecrawl.rs:716:4
[INFO] [stdout]     |
[INFO] [stdout] 716 | fn version_sort_key(version: &str) -> Vec<u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool_calls` is never read
[INFO] [stdout]   --> src/bin/../llama.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LlamaResponse {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 18 |     pub content: String,
[INFO] [stdout] 19 |     pub tool_calls: Vec<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LlamaResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelInfo` is never constructed
[INFO] [stdout]   --> src/bin/../llama.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenStream` is never used
[INFO] [stdout]   --> src/bin/../llama.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type TokenStream = Pin<Box<dyn Stream<Item = anyhow::Result<String>> + Send>>;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `http`, `list_models`, `chat_with_tools`, `chat_stream`, and `anthropic_chat_stream` are never used
[INFO] [stdout]    --> src/bin/../llama.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl LlamaClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn http(&self) -> &reqwest::Client {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub async fn list_models(&self, cfg: &AppConfig) -> anyhow::Result<Vec<ModelInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub async fn chat_with_tools(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn chat_stream(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     async fn anthropic_chat_stream(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_tokens_from_response` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:404:4
[INFO] [stdout]     |
[INFO] [stdout] 404 | fn stream_tokens_from_response(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_model_urls` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub fn candidate_model_urls(cfg: &AppConfig) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_anthropic_tokens` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:699:4
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn stream_anthropic_tokens(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_models` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:740:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub fn parse_models(payload: &Value) -> Vec<ModelInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_model_item` is never used
[INFO] [stdout]    --> src/bin/../llama.rs:762:4
[INFO] [stdout]     |
[INFO] [stdout] 762 | fn parse_model_item(item: &Value) -> Option<ModelInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `forget_conversation` is never used
[INFO] [stdout]    --> src/bin/../memory_engine.rs:944:12
[INFO] [stdout]     |
[INFO] [stdout] 528 | impl MemoryEngine {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 944 |     pub fn forget_conversation(&self, chat_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `truncated` is never read
[INFO] [stdout]    --> src/bin/../sandbox.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ExecOutput {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub truncated: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_sandboxed` is never used
[INFO] [stdout]    --> src/bin/../sandbox.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub async fn spawn_sandboxed(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `web_catalog_prompt` is never used
[INFO] [stdout]    --> src/bin/../skills.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn web_catalog_prompt(workspace: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `workspace_dir`, `config_file`, `whatsapp_bridge_file`, `whatsapp_log_file`, and `workflow_file` are never read
[INFO] [stdout]   --> src/bin/../storage.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AppPaths {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub workspace_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub config_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub whatsapp_bridge_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub whatsapp_log_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub workflow_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppPaths` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatListItem` is never constructed
[INFO] [stdout]    --> src/bin/../storage.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct ChatListItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chat_files` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn list_chat_files(paths: &AppPaths) -> anyhow::Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_chats` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn list_chats(paths: &AppPaths) -> anyhow::Result<Vec<ChatListItem>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn load_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<Chat> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_msg` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn append_msg(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_chat` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn clear_chat(paths: &AppPaths, cid: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_meta` is never used
[INFO] [stdout]    --> src/bin/../storage.rs:430:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub fn image_meta(filename: &str, path: &Path, ocr: &str) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fingerprints` is never used
[INFO] [stdout]   --> src/bin/../verify.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn fingerprints(diags: &[Diagnostic]) -> HashSet<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:371:14
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub async fn verify(root: &Path, policy: &SandboxPolicy) -> Result<VerifyReport> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Outcome` is never used
[INFO] [stdout]    --> src/bin/../verify.rs:441:10
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub enum Outcome {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Loop` is never constructed
[INFO] [stdout]    --> src/bin/../verify.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct Loop {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `step` are never used
[INFO] [stdout]    --> src/bin/../verify.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl Loop {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 471 |     /// Establish the baseline. Call once, before the first patch is applied.
[INFO] [stdout] 472 |     pub async fn new(root: &Path, policy: &SandboxPolicy, max_rounds: usize) -> Result<Self> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub async fn step(
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631", kill_on_drop: false }`
[INFO] [stdout] 2a3a41b82218c00ab658996ec8e2a3b12e09ff7b1f3d64d17189aa9f375d4631
