[INFO] cloning repository https://github.com/cutecycle/yggdra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cutecycle/yggdra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcutecycle%2Fyggdra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcutecycle%2Fyggdra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0eb98a2c23dc54097704ad7be9cba84a97d25141
[INFO] checking cutecycle/yggdra against try#e622d8d7bed4f2668d446e06c6c1436ecae15796 for pr-156776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcutecycle%2Fyggdra" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  25% (6737/26710)
Updating files:  26% (6945/26710)
Updating files:  27% (7212/26710)
Updating files:  28% (7479/26710)
Updating files:  29% (7746/26710)
Updating files:  30% (8013/26710)
Updating files:  31% (8281/26710)
Updating files:  32% (8548/26710)
Updating files:  33% (8815/26710)
Updating files:  34% (9082/26710)
Updating files:  35% (9349/26710)
Updating files:  36% (9616/26710)
Updating files:  37% (9883/26710)
Updating files:  38% (10150/26710)
Updating files:  39% (10417/26710)
Updating files:  40% (10684/26710)
Updating files:  41% (10952/26710)
Updating files:  42% (11219/26710)
Updating files:  43% (11486/26710)
Updating files:  44% (11753/26710)
Updating files:  45% (12020/26710)
Updating files:  46% (12287/26710)
Updating files:  47% (12554/26710)
Updating files:  48% (12821/26710)
Updating files:  49% (13088/26710)
Updating files:  50% (13355/26710)
Updating files:  51% (13623/26710)
Updating files:  52% (13890/26710)
Updating files:  53% (14157/26710)
Updating files:  54% (14424/26710)
Updating files:  55% (14691/26710)
Updating files:  56% (14958/26710)
Updating files:  57% (15225/26710)
Updating files:  57% (15327/26710)
Updating files:  58% (15492/26710)
Updating files:  59% (15759/26710)
Updating files:  60% (16026/26710)
Updating files:  61% (16294/26710)
Updating files:  62% (16561/26710)
Updating files:  63% (16828/26710)
Updating files:  64% (17095/26710)
Updating files:  65% (17362/26710)
Updating files:  66% (17629/26710)
Updating files:  67% (17896/26710)
Updating files:  68% (18163/26710)
Updating files:  69% (18430/26710)
Updating files:  70% (18697/26710)
Updating files:  71% (18965/26710)
Updating files:  72% (19232/26710)
Updating files:  73% (19499/26710)
Updating files:  74% (19766/26710)
Updating files:  75% (20033/26710)
Updating files:  76% (20300/26710)
Updating files:  77% (20567/26710)
Updating files:  78% (20834/26710)
Updating files:  79% (21101/26710)
Updating files:  80% (21368/26710)
Updating files:  81% (21636/26710)
Updating files:  82% (21903/26710)
Updating files:  83% (22170/26710)
Updating files:  83% (22268/26710)
Updating files:  84% (22437/26710)
Updating files:  85% (22704/26710)
Updating files:  86% (22971/26710)
Updating files:  87% (23238/26710)
Updating files:  88% (23505/26710)
Updating files:  89% (23772/26710)
Updating files:  89% (23975/26710)
Updating files:  90% (24039/26710)
Updating files:  91% (24307/26710)
Updating files:  92% (24574/26710)
Updating files:  93% (24841/26710)
Updating files:  94% (25108/26710)
Updating files:  95% (25375/26710)
Updating files:  96% (25642/26710)
Updating files:  97% (25909/26710)
Updating files:  98% (26176/26710)
Updating files:  99% (26443/26710)
Updating files: 100% (26710/26710)
Updating files: 100% (26710/26710), done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/cutecycle/yggdra
[INFO] finished tweaking git repo https://github.com/cutecycle/yggdra
[INFO] tweaked toml for git repo https://github.com/cutecycle/yggdra written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cutecycle/yggdra on toolchain e622d8d7bed4f2668d446e06c6c1436ecae15796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cutecycle/yggdra 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" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 649bd8cad248e2268fe8134d297a1899ffb9f6e22bfa9b5491174446c5f52cb2
[INFO] running `Command { std: "docker" "start" "-a" "649bd8cad248e2268fe8134d297a1899ffb9f6e22bfa9b5491174446c5f52cb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "649bd8cad248e2268fe8134d297a1899ffb9f6e22bfa9b5491174446c5f52cb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "649bd8cad248e2268fe8134d297a1899ffb9f6e22bfa9b5491174446c5f52cb2", kill_on_drop: false }`
[INFO] [stdout] 649bd8cad248e2268fe8134d297a1899ffb9f6e22bfa9b5491174446c5f52cb2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dec2eadf32b0509f4a3dfcdea400e7d82cb4c6afe350a54e1527d6e8ceb79aac
[INFO] running `Command { std: "docker" "start" "-a" "dec2eadf32b0509f4a3dfcdea400e7d82cb4c6afe350a54e1527d6e8ceb79aac", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]     Checking iri-string v0.7.12
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]    Compiling async-openai-macros v0.1.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling zvariant_derive v5.10.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]    Compiling zvariant v5.10.0
[INFO] [stderr]     Checking zbus_names v4.3.1
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking zbus v5.14.0
[INFO] [stderr]     Checking rustls-webpki v0.103.12
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.13.2
[INFO] [stderr]     Checking notify-rust v4.14.0
[INFO] [stderr]     Checking async-openai v0.36.0
[INFO] [stderr]     Checking yggdra v0.2.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/battery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/battery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::Command;
[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: `Block`
[INFO] [stdout]     --> src/ui.rs:9940:32
[INFO] [stdout]      |
[INFO] [stdout] 9940 |         use ratatui::widgets::{Block, Paragraph};
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2051:13
[INFO] [stdout]      |
[INFO] [stdout] 2051 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2129:13
[INFO] [stdout]      |
[INFO] [stdout] 2129 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2137:13
[INFO] [stdout]      |
[INFO] [stdout] 2137 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2146:13
[INFO] [stdout]      |
[INFO] [stdout] 2146 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/ui.rs:866:25
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     let delta = (max - min) as i32;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange_idx`
[INFO] [stdout]     --> src/ui.rs:3881:13
[INFO] [stdout]      |
[INFO] [stdout] 3881 |         let exchange_idx = self.render_cache_exchange_end;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `OAIStreamChunk` is more private than the item `process_oai_chunk`
[INFO] [stdout]    --> src/ollama.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub(crate) fn process_oai_chunk(chunk: &OAIStreamChunk, state: &mut OaiStreamState) -> Vec<StreamEvent> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `process_oai_chunk` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `OAIStreamChunk` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ollama.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | struct OAIStreamChunk {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `api_key` is never used
[INFO] [stdout]    --> src/ollama.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Backend {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn api_key(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]    --> src/ollama.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct OAIStreamChoice {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 331 |     finish_reason: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAIStreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/ollama.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | struct OAINonStreamResponse {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     usage: Option<OAIUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAINonStreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SseDataResult` is never used
[INFO] [stdout]    --> src/ollama.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub(crate) enum SseDataResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_openai_sse_data` is never used
[INFO] [stdout]    --> src/ollama.rs:465:15
[INFO] [stdout]     |
[INFO] [stdout] 465 | pub(crate) fn parse_openai_sse_data(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Halt` is never constructed
[INFO] [stdout]   --> src/ui.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub(crate) enum StreamEndAction {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 62 |     Halt(&'static str),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamEndAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 312 |     tool_name: String,
[INFO] [stdout] 313 |     args: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 329 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 330 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 331 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 332 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 333 |     exit_code: Option<i32>,  // None if still running, Some(code) if complete
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineToolResult` 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 `height` is never read
[INFO] [stdout]    --> src/ui.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session` is never read
[INFO] [stdout]    --> src/ui.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     config: Config,
[INFO] [stdout] 388 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:7103:8
[INFO] [stdout]      |
[INFO] [stdout]  619 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7103 |     fn format_inline_results(&self) -> ratatui::text::Text<'static> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_listing_command` is never used
[INFO] [stdout]     --> src/ui.rs:7382:4
[INFO] [stdout]      |
[INFO] [stdout] 7382 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_message_styled` is never used
[INFO] [stdout]     --> src/ui.rs:8095:15
[INFO] [stdout]      |
[INFO] [stdout] 8095 | pub(crate) fn format_message_styled(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:595:4
[INFO] [stdout]     |
[INFO] [stdout] 595 | fn fix_macos_sed_inplace(cmd: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_sed_quote` is never used
[INFO] [stdout]    --> src/tools.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]    --> src/agent.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 798 | pub struct Agent {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 801 |     registry: ToolRegistry,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `exec` that must be used
[INFO] [stdout]   --> src/bin/yggdra-shell.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | /     std::process::Command::new(&cmd)
[INFO] [stdout] 23 | |         .args(std::env::args().skip(1))
[INFO] [stdout] 24 | |         .exec();
[INFO] [stdout]    | |_______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let _ = std::process::Command::new(&cmd)
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/ui.rs:866:25
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     let delta = (max - min) as i32;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_hallucinated_output`
[INFO] [stdout]    --> tests/model_compat.rs:313:44
[INFO] [stdout]     |
[INFO] [stdout] 313 | use yggdra::agent::{sanitize_model_output, is_hallucinated_output};
[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 return value of `exec` that must be used
[INFO] [stdout]   --> src/bin/yggdra-shell.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | /     std::process::Command::new(&cmd)
[INFO] [stdout] 23 | |         .args(std::env::args().skip(1))
[INFO] [stdout] 24 | |         .exec();
[INFO] [stdout]    | |_______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let _ = std::process::Command::new(&cmd)
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> tests/spawn_shell_patterns.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::fs;
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> tests/spawn_shell_patterns.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::path::PathBuf;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange_idx`
[INFO] [stdout]     --> src/ui.rs:3881:13
[INFO] [stdout]      |
[INFO] [stdout] 3881 |         let exchange_idx = self.render_cache_exchange_end;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `huge_output`
[INFO] [stdout]     --> tests/preposterous_stress_tests.rs:1058:9
[INFO] [stdout]      |
[INFO] [stdout] 1058 |     let huge_output = "cargo: dependency: some-crate v1.0.0\n".repeat(10_000);
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huge_output`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]     --> src/tools.rs:2726:13
[INFO] [stdout]      |
[INFO] [stdout] 2726 |         let cmd = "echo 'sed -i in a string' && cat file";
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_err` is never used
[INFO] [stdout]   --> tests/shell_execution_tests.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn shell_err(cmd: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/battery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::Command;
[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: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2051:13
[INFO] [stdout]      |
[INFO] [stdout] 2051 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2129:13
[INFO] [stdout]      |
[INFO] [stdout] 2129 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2137:13
[INFO] [stdout]      |
[INFO] [stdout] 2137 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ollama::OllamaMessage`
[INFO] [stdout]     --> src/agent.rs:2146:13
[INFO] [stdout]      |
[INFO] [stdout] 2146 |         use crate::ollama::OllamaMessage;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]     --> src/ui.rs:9940:32
[INFO] [stdout]      |
[INFO] [stdout] 9940 |         use ratatui::widgets::{Block, Paragraph};
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/battery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ollama::OAIStreamChunk` is more private than the item `process_oai_chunk`
[INFO] [stdout]    --> src/ollama.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub(crate) fn process_oai_chunk(chunk: &OAIStreamChunk, state: &mut OaiStreamState) -> Vec<StreamEvent> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `process_oai_chunk` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ollama::OAIStreamChunk` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ollama.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | struct OAIStreamChunk {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `api_key` is never used
[INFO] [stdout]    --> src/ollama.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Backend {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn api_key(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/ollama.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | struct OAINonStreamResponse {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     usage: Option<OAIUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAINonStreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 312 |     tool_name: String,
[INFO] [stdout] 313 |     args: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 329 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 330 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 331 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 332 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 333 |     exit_code: Option<i32>,  // None if still running, Some(code) if complete
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineToolResult` 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 `height` is never read
[INFO] [stdout]    --> src/ui.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session` is never read
[INFO] [stdout]    --> src/ui.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     config: Config,
[INFO] [stdout] 388 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:7103:8
[INFO] [stdout]      |
[INFO] [stdout]  619 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7103 |     fn format_inline_results(&self) -> ratatui::text::Text<'static> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_listing_command` is never used
[INFO] [stdout]     --> src/ui.rs:7382:4
[INFO] [stdout]      |
[INFO] [stdout] 7382 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]    --> src/agent.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 798 | pub struct Agent {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 801 |     registry: ToolRegistry,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/ui.rs:866:25
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     let delta = (max - min) as i32;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange_idx`
[INFO] [stdout]     --> src/ui.rs:3881:13
[INFO] [stdout]      |
[INFO] [stdout] 3881 |         let exchange_idx = self.render_cache_exchange_end;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `OAIStreamChunk` is more private than the item `process_oai_chunk`
[INFO] [stdout]    --> src/ollama.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub(crate) fn process_oai_chunk(chunk: &OAIStreamChunk, state: &mut OaiStreamState) -> Vec<StreamEvent> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `process_oai_chunk` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `OAIStreamChunk` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ollama.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | struct OAIStreamChunk {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_on_battery` is never used
[INFO] [stdout]   --> src/battery.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn is_on_battery() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `models` is never read
[INFO] [stdout]   --> src/config.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct AgentsConfig {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 15 |     pub models: Vec<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentsConfig` 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 `validate_endpoint` is never used
[INFO] [stdout]    --> src/config.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn validate_endpoint(endpoint: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AGE` is never used
[INFO] [stdout]   --> src/epoch.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MAX_AGE: Duration = Duration::from_secs(24 * 3600);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_if_fresh` is never used
[INFO] [stdout]   --> src/epoch.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn load_if_fresh(project_dir: &Path) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MarkdownElement` is never used
[INFO] [stdout]   --> src/markdown.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MarkdownElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_last_n`, `refresh`, `search_scrollback`, and `scrollback_count` are never used
[INFO] [stdout]    --> src/message.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl MessageBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_last_n(&self, n: usize) -> Result<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn refresh(&self) -> Result<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn search_scrollback(&self, query: &str) -> Result<Vec<(Message, i64)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn scrollback_count(&self) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `session_created` is never used
[INFO] [stdout]   --> src/notifications.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn session_created(session_id: &str) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `api_key` and `format` are never used
[INFO] [stdout]    --> src/ollama.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn api_key(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn format(&self) -> ApiFormat {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 287 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]    --> src/ollama.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct OAIStreamChoice {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 331 |     finish_reason: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAIStreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/ollama.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | struct OAINonStreamResponse {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     usage: Option<OAIUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAINonStreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SseDataResult` is never used
[INFO] [stdout]    --> src/ollama.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub(crate) enum SseDataResult {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_openai_sse_data` is never used
[INFO] [stdout]    --> src/ollama.rs:465:15
[INFO] [stdout]     |
[INFO] [stdout] 465 | pub(crate) fn parse_openai_sse_data(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `api_format` is never used
[INFO] [stdout]    --> src/ollama.rs:804:12
[INFO] [stdout]     |
[INFO] [stdout] 714 | impl OllamaClient {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 804 |     pub fn api_format(&self) -> ApiFormat { self.backend.format() }
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_read` is never used
[INFO] [stdout]    --> src/sandbox.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn check_read(path: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/session.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Session {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 10 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Session` 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: associated items `json_output`, `no_execution`, and `format_with_tool_output` are never used
[INFO] [stdout]   --> src/steering.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SteeringDirective {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 10 |     /// Create a new steering directive for JSON output enforcement
[INFO] [stdout] 11 |     pub fn json_output() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn no_execution() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn format_with_tool_output(&self, tool_output: impl Into<String>) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `band_a`, `band_b`, and `band_spawn` are never read
[INFO] [stdout]   --> src/theme.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Theme {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub band_a: Color,   // alternating band A
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 17 |     pub band_b: Color,   // alternating band B
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub band_spawn: Color,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Theme` 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: associated function `detect` is never used
[INFO] [stdout]   --> src/theme.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Theme {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn detect() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_via_osc11` is never used
[INFO] [stdout]    --> src/theme.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn detect_via_osc11() -> Option<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_osc11` is never used
[INFO] [stdout]    --> src/theme.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn parse_osc11(s: &str) -> Option<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_split` is never used
[INFO] [stdout]   --> src/tools.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn shell_split(input: &str) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 46 |     /// Unique identifier for the tool
[INFO] [stdout] 47 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RipgrepTool` is never constructed
[INFO] [stdout]   --> src/tools.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RipgrepTool;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct ExecTool;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `is_absolute_dangerous_path`, `is_shell_interpreter`, and `resolve_binary` are never used
[INFO] [stdout]    --> src/tools.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl ExecTool {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 139 |     /// Blocked absolute paths to prevent shell takeover
[INFO] [stdout] 140 |     fn is_absolute_dangerous_path(path: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn is_shell_interpreter(binary: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn resolve_binary(name: &str) -> Option<std::path::PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:595:4
[INFO] [stdout]     |
[INFO] [stdout] 595 | fn fix_macos_sed_inplace(cmd: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_sed_quote` is never used
[INFO] [stdout]    --> src/tools.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:630:12
[INFO] [stdout]     |
[INFO] [stdout] 630 | pub struct ReadfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:760:12
[INFO] [stdout]     |
[INFO] [stdout] 760 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 762 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 767 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PythonTool` is never constructed
[INFO] [stdout]     --> src/tools.rs:1218:12
[INFO] [stdout]      |
[INFO] [stdout] 1218 | pub struct PythonTool;
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `check_for_network_imports` is never used
[INFO] [stdout]     --> src/tools.rs:1221:8
[INFO] [stdout]      |
[INFO] [stdout] 1220 | impl PythonTool {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] 1221 |     fn check_for_network_imports(script_path: &str) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RusteTool` is never constructed
[INFO] [stdout]     --> src/tools.rs:1345:12
[INFO] [stdout]      |
[INFO] [stdout] 1345 | pub struct RusteTool;
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `check_for_network_code` is never used
[INFO] [stdout]     --> src/tools.rs:1348:8
[INFO] [stdout]      |
[INFO] [stdout] 1347 | impl RusteTool {
[INFO] [stdout]      | -------------- associated function in this implementation
[INFO] [stdout] 1348 |     fn check_for_network_code(file_path: &str) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThinkTool` is never constructed
[INFO] [stdout]     --> src/tools.rs:1474:12
[INFO] [stdout]      |
[INFO] [stdout] 1474 | pub struct ThinkTool;
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_tools` is never used
[INFO] [stdout]     --> src/tools.rs:1615:12
[INFO] [stdout]      |
[INFO] [stdout] 1575 | impl ToolRegistry {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1615 |     pub fn list_tools(&self) -> Vec<&str> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint` and `current_depth` are never read
[INFO] [stdout]    --> src/agent.rs:727:9
[INFO] [stdout]     |
[INFO] [stdout] 725 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 726 |     pub model: String,
[INFO] [stdout] 727 |     pub endpoint: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 730 |     pub current_depth: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentConfig` 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: method `with_max_context_tokens` is never used
[INFO] [stdout]    --> src/agent.rs:791:12
[INFO] [stdout]     |
[INFO] [stdout] 745 | impl AgentConfig {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 791 |     pub fn with_max_context_tokens(mut self, tokens: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]    --> src/agent.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 798 | pub struct Agent {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 801 |     registry: ToolRegistry,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_params`, `parse_tool_calls`, `is_done`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:819:12
[INFO] [stdout]      |
[INFO] [stdout]  806 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  819 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn parse_tool_calls(output: &str) -> Vec<ToolCall> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     fn is_done(output: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1145 |     pub async fn execute_with_tools(&mut self, user_query: &str) -> Result<String> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `for_child` is never used
[INFO] [stdout]   --> src/spawner.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SpawnPayload {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn for_child(&self, task_id: String, task_description: String) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `return_steering` is never used
[INFO] [stdout]   --> src/spawner.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `as_str` and `from_str` are never used
[INFO] [stdout]   --> src/task.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl TaskStatus {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_description` are never used
[INFO] [stdout]   --> src/task.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(id: impl Into<String>, title: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn with_description(mut self, desc: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `progress_pct` are never used
[INFO] [stdout]   --> src/task.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 80 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn progress_pct(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tasks_path` is never read
[INFO] [stdout]    --> src/task.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct TaskManager {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 101 |     tasks_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn flush_tasks(&self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn add_task(&mut self, task: &Task) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn complete_task(&mut self, task_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn fail_task(&mut self, task_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn start_task(&mut self, task_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn last_checkpoint(&self) -> Result<Option<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn all_checkpoints(&self) -> Result<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn get_task_dependencies(&self, task_id: &str) -> Result<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Halt` is never constructed
[INFO] [stdout]   --> src/ui.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub(crate) enum StreamEndAction {
[INFO] [stdout]    |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 62 |     Halt(&'static str),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamEndAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 312 |     tool_name: String,
[INFO] [stdout] 313 |     args: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 329 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 330 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 331 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 332 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 333 |     exit_code: Option<i32>,  // None if still running, Some(code) if complete
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineToolResult` 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 `height` is never read
[INFO] [stdout]    --> src/ui.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session` is never read
[INFO] [stdout]    --> src/ui.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     config: Config,
[INFO] [stdout] 388 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:7103:8
[INFO] [stdout]      |
[INFO] [stdout]  619 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7103 |     fn format_inline_results(&self) -> ratatui::text::Text<'static> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_listing_command` is never used
[INFO] [stdout]     --> src/ui.rs:7382:4
[INFO] [stdout]      |
[INFO] [stdout] 7382 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_project_context_for_bench` is never used
[INFO] [stdout]     --> src/ui.rs:7600:8
[INFO] [stdout]      |
[INFO] [stdout] 7600 | pub fn build_project_context_for_bench(cwd: &std::path::Path) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_message_styled` is never used
[INFO] [stdout]     --> src/ui.rs:8095:15
[INFO] [stdout]      |
[INFO] [stdout] 8095 | pub(crate) fn format_message_styled(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_inference` and `format_status_bar` are never used
[INFO] [stdout]    --> src/metrics.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl MetricsTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub fn record_inference(&mut self, tokens: u64, duration_ms: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn format_status_bar(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]     --> src/tools.rs:2726:13
[INFO] [stdout]      |
[INFO] [stdout] 2726 |         let cmd = "echo 'sed -i in a string' && cat file";
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/ui.rs:866:25
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     let delta = (max - min) as i32;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange_idx`
[INFO] [stdout]     --> src/ui.rs:3881:13
[INFO] [stdout]      |
[INFO] [stdout] 3881 |         let exchange_idx = self.render_cache_exchange_end;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ollama::OAIStreamChunk` is more private than the item `process_oai_chunk`
[INFO] [stdout]    --> src/ollama.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub(crate) fn process_oai_chunk(chunk: &OAIStreamChunk, state: &mut OaiStreamState) -> Vec<StreamEvent> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `process_oai_chunk` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ollama::OAIStreamChunk` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ollama.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | struct OAIStreamChunk {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_endpoint` is never used
[INFO] [stdout]    --> src/config.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn validate_endpoint(endpoint: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MarkdownElement` is never used
[INFO] [stdout]   --> src/markdown.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MarkdownElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `api_key` and `format` are never used
[INFO] [stdout]    --> src/ollama.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn api_key(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn format(&self) -> ApiFormat {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 287 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/ollama.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | struct OAINonStreamResponse {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     usage: Option<OAIUsage>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OAINonStreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `api_format` is never used
[INFO] [stdout]    --> src/ollama.rs:804:12
[INFO] [stdout]     |
[INFO] [stdout] 714 | impl OllamaClient {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 804 |     pub fn api_format(&self) -> ApiFormat { self.backend.format() }
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `band_a`, `band_b`, and `band_spawn` are never read
[INFO] [stdout]   --> src/theme.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Theme {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub band_a: Color,   // alternating band A
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 17 |     pub band_b: Color,   // alternating band B
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub band_spawn: Color,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Theme` 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: associated function `detect` is never used
[INFO] [stdout]   --> src/theme.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Theme {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn detect() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_via_osc11` is never used
[INFO] [stdout]    --> src/theme.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn detect_via_osc11() -> Option<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:760:12
[INFO] [stdout]     |
[INFO] [stdout] 760 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 762 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 767 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_depth` is never read
[INFO] [stdout]    --> src/agent.rs:730:9
[INFO] [stdout]     |
[INFO] [stdout] 725 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 730 |     pub current_depth: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentConfig` 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: method `with_max_context_tokens` is never used
[INFO] [stdout]    --> src/agent.rs:791:12
[INFO] [stdout]     |
[INFO] [stdout] 745 | impl AgentConfig {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 791 |     pub fn with_max_context_tokens(mut self, tokens: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]    --> src/agent.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 798 | pub struct Agent {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 801 |     registry: ToolRegistry,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_params`, `parse_tool_calls`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:819:12
[INFO] [stdout]      |
[INFO] [stdout]  806 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  819 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn parse_tool_calls(output: &str) -> Vec<ToolCall> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1145 |     pub async fn execute_with_tools(&mut self, user_query: &str) -> Result<String> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `return_steering` is never used
[INFO] [stdout]   --> src/spawner.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/task.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fail_task`, `start_task`, and `all_checkpoints` are never used
[INFO] [stdout]    --> src/task.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn fail_task(&mut self, task_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn start_task(&mut self, task_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn all_checkpoints(&self) -> Result<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 312 |     tool_name: String,
[INFO] [stdout] 313 |     args: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 328 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 329 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 330 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 331 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 332 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 333 |     exit_code: Option<i32>,  // None if still running, Some(code) if complete
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineToolResult` 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 `height` is never read
[INFO] [stdout]    --> src/ui.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session` is never read
[INFO] [stdout]    --> src/ui.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     config: Config,
[INFO] [stdout] 388 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:7103:8
[INFO] [stdout]      |
[INFO] [stdout]  619 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7103 |     fn format_inline_results(&self) -> ratatui::text::Text<'static> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_listing_command` is never used
[INFO] [stdout]     --> src/ui.rs:7382:4
[INFO] [stdout]      |
[INFO] [stdout] 7382 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_project_context_for_bench` is never used
[INFO] [stdout]     --> src/ui.rs:7600:8
[INFO] [stdout]      |
[INFO] [stdout] 7600 | pub fn build_project_context_for_bench(cwd: &std::path::Path) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s
[INFO] running `Command { std: "docker" "inspect" "dec2eadf32b0509f4a3dfcdea400e7d82cb4c6afe350a54e1527d6e8ceb79aac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dec2eadf32b0509f4a3dfcdea400e7d82cb4c6afe350a54e1527d6e8ceb79aac", kill_on_drop: false }`
[INFO] [stdout] dec2eadf32b0509f4a3dfcdea400e7d82cb4c6afe350a54e1527d6e8ceb79aac
