[INFO] fetching crate yggdra 0.2.1...
[INFO] testing yggdra-0.2.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate yggdra 0.2.1 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate yggdra 0.2.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate yggdra 0.2.1
[INFO] tweaked toml for crates.io crate yggdra 0.2.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate yggdra 0.2.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate yggdra 0.2.1 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-2-tc2/source/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `yggdra`
[INFO] [stderr]   * `bin` target `yggdra-shell`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53e1449b98837fd454e38ac5875ca8efa233d4d69808360524db050add39e289
[INFO] running `Command { std: "docker" "start" "-a" "53e1449b98837fd454e38ac5875ca8efa233d4d69808360524db050add39e289", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53e1449b98837fd454e38ac5875ca8efa233d4d69808360524db050add39e289", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53e1449b98837fd454e38ac5875ca8efa233d4d69808360524db050add39e289", kill_on_drop: false }`
[INFO] [stdout] 53e1449b98837fd454e38ac5875ca8efa233d4d69808360524db050add39e289
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8deb63b39b25a1248df7f2a6cf8cb9f83cc879d466f03de92c47caa0889057ba
[INFO] running `Command { std: "docker" "start" "-a" "8deb63b39b25a1248df7f2a6cf8cb9f83cc879d466f03de92c47caa0889057ba", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `yggdra`
[INFO] [stderr]   * `bin` target `yggdra-shell`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling async-broadcast v0.7.2
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling async-io v2.6.0
[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 zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling async-signal v0.2.14
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-process v2.5.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling zvariant_derive v5.10.0
[INFO] [stderr]    Compiling zvariant v5.10.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rusqlite v0.30.0
[INFO] [stderr]    Compiling zbus_names v4.3.1
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling zbus v5.14.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling notify-rust v4.14.0
[INFO] [stderr]    Compiling yggdra v0.2.1 (/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: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     args: 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: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_tool_calls` is never used
[INFO] [stdout]    --> src/agent.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 813 | impl Agent {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[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: unused import: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[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: unused import: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `models` is never read
[INFO] [stdout]  --> src/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AgentsConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AGE` is never used
[INFO] [stdout]   --> src/epoch.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn load_if_fresh(project_dir: &Path) -> Option<String> {
[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:126:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl MessageBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_last_n(&self, n: usize) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn search_scrollback(&self, query: &str) -> SqliteResult<Vec<(Message, i64)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn scrollback_count(&self) -> SqliteResult<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: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[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: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_tools` is never used
[INFO] [stdout]     --> src/tools.rs:1091:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 | impl ToolRegistry {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     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:746:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 745 |     pub model: String,
[INFO] [stdout] 746 |     pub endpoint: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, `is_done`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn is_done(output: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_description` are never used
[INFO] [stdout]   --> src/task.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new(id: impl Into<String>, title: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_description(mut self, desc: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/task.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `progress_pct` are never used
[INFO] [stdout]   --> src/task.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn progress_pct(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn add_task(&mut self, task: &Task) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn complete_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn last_checkpoint(&self) -> SqliteResult<Option<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_inference` and `format_status_bar` are never used
[INFO] [stdout]    --> src/metrics.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl MetricsTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn record_inference(&mut self, tokens: u64, duration_ms: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn format_status_bar(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `models` is never read
[INFO] [stdout]  --> src/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AgentsConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AGE` is never used
[INFO] [stdout]   --> src/epoch.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn load_if_fresh(project_dir: &Path) -> Option<String> {
[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:126:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl MessageBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_last_n(&self, n: usize) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn search_scrollback(&self, query: &str) -> SqliteResult<Vec<(Message, i64)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn scrollback_count(&self) -> SqliteResult<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: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[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: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_tools` is never used
[INFO] [stdout]     --> src/tools.rs:1091:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 | impl ToolRegistry {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     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:746:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 745 |     pub model: String,
[INFO] [stdout] 746 |     pub endpoint: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, `is_done`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn is_done(output: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_description` are never used
[INFO] [stdout]   --> src/task.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new(id: impl Into<String>, title: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_description(mut self, desc: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/task.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `progress_pct` are never used
[INFO] [stdout]   --> src/task.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn progress_pct(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn add_task(&mut self, task: &Task) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn complete_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn last_checkpoint(&self) -> SqliteResult<Option<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_inference` and `format_status_bar` are never used
[INFO] [stdout]    --> src/metrics.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl MetricsTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn record_inference(&mut self, tokens: u64, duration_ms: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn format_status_bar(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.05s
[INFO] running `Command { std: "docker" "inspect" "8deb63b39b25a1248df7f2a6cf8cb9f83cc879d466f03de92c47caa0889057ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8deb63b39b25a1248df7f2a6cf8cb9f83cc879d466f03de92c47caa0889057ba", kill_on_drop: false }`
[INFO] [stdout] 8deb63b39b25a1248df7f2a6cf8cb9f83cc879d466f03de92c47caa0889057ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1fc103aa76253beaef9cb5c9d44acfec6f920114cb2be622ce9c8780930c0ddc
[INFO] running `Command { std: "docker" "start" "-a" "1fc103aa76253beaef9cb5c9d44acfec6f920114cb2be622ce9c8780930c0ddc", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `yggdra`
[INFO] [stderr]   * `bin` target `yggdra-shell`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling async-signal v0.2.14
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling async-process v2.5.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling zbus v5.14.0
[INFO] [stderr]    Compiling notify-rust v4.14.0
[INFO] [stderr]    Compiling yggdra v0.2.1 (/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: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (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: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     args: 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: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_tool_calls` is never used
[INFO] [stdout]    --> src/agent.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 813 | impl Agent {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     args: 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: fields `tool_name`, `start_time`, `output`, `is_complete`, and `exit_code` are never read
[INFO] [stdout]    --> src/ui.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_tool_calls` is never used
[INFO] [stdout]    --> src/agent.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 813 | impl Agent {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[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 import: `is_hallucinated_output`
[INFO] [stdout]    --> tests/model_compat.rs:314:44
[INFO] [stdout]     |
[INFO] [stdout] 314 | 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 import: `RipgrepTool`
[INFO] [stdout]  --> tests/tools_integration.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use yggdra::tools::{Tool, ToolRegistry, RipgrepTool, CommitTool, EditfileTool, PythonTool, ExecTool, RusteTool};
[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: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[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: unused import: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[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: 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: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Checkpoint`
[INFO] [stdout]   --> src/ui.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::task::{TaskManager, Checkpoint};
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/metrics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ui.rs:3594:13
[INFO] [stdout]      |
[INFO] [stdout] 3524 |             KeyCode::Char(c) => {
[INFO] [stdout]      |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3594 |             KeyCode::Char(' ') if self.msg_cursor.is_some() && self.input_buffer.is_empty() => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yggdra` (lib test); 13 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/bin/rustc --crate-name yggdra --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=5db69be48d8d3117 -C extra-filename=-654fbbdbcd06d949 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-b0726fbe6d61d750.rlib --extern chrono=/opt/rustwide/target/debug/deps/libchrono-382a3ee2a134b29d.rlib --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-562b90d01c842f18.rlib --extern dirs=/opt/rustwide/target/debug/deps/libdirs-b58ae5db560fa624.rlib --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-1bcbd1654bcf2cef.rlib --extern libc=/opt/rustwide/target/debug/deps/liblibc-cb79651e9cde70a0.rlib --extern notify=/opt/rustwide/target/debug/deps/libnotify-0fb1329ea08f2bf4.rlib --extern notify_rust=/opt/rustwide/target/debug/deps/libnotify_rust-196a62eecdaa0587.rlib --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-ba304377bd00b2f0.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-4d7042c3ca83d67c.rlib --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8bffe03aeb646903.rlib --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-7bebad070a00113f.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-cd80aa383f3f8375.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-f23c31b73daf454f.rlib --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-2366fa1930562757.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-aea870a09a83ec8c.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-12c2ebd209569670.rlib --extern toml=/opt/rustwide/target/debug/deps/libtoml-d35f44de78f0a463.rlib --extern unicode_width=/opt/rustwide/target/debug/deps/libunicode_width-052de3cc9bfeee26.rlib --extern uuid=/opt/rustwide/target/debug/deps/libuuid-ce9a4a7a9a88dec6.rlib --cap-lints=warn -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-b29fefd9633d53e5/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcqIMQGw/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libyggdra-08949f1f3e22ca3d,libreqwest-8bffe03aeb646903,libserde_urlencoded-9f98f662227fb8bb,librustls_pki_types-88bf88318d7b8798,libzeroize-c59311ce59192ddc,libhyper_tls-25e6f4aa0db58bba,libtokio_native_tls-f78cbafea9d2bece,libmime-aa776e7d0d3a99c3,libencoding_rs-8656bb43f7a59443,libtower_http-4cc169c5fdf3f5d5,libiri_string-9b9050047a32a8cf,libtower-c9d553ea6cc9cdb5,libtower_layer-3b63c02b4d0ef938,libnative_tls-d7d56f1d256ab964,libopenssl_probe-36add93db21104c3,libopenssl-e9f3740349e667e5,libforeign_types-e87917ac39136afb,libforeign_types_shared-47d2966ff738e019,libopenssl_sys-50e2af83453a1c0e,libhyper_util-52118af8cb4ec1e5,libbase64-29d4d4232c317d5e,libipnet-780b5bdd2a7e34b5,libtower_service-d85697bf5431d8b4,libhyper-ff8598fd762eb13e,libwant-5da7cd3e9e53353c,libtry_lock-0e5736ebe7ae5c9e,libhttparse-9c8043f0d8f65c21,libh2-740641b7f812a0d8,libindexmap-929dd02fad068ac3,libhashbrown-8efbfc8b0f4264c8,libfnv-bf8b415be0978c3b,libfutures_channel-4f9d91a446a2fd27,libtokio_util-b987d5179e2f5de5,libfutures_sink-972a6e6f22232cfe,libhttp_body_util-f257d3eb4c7f1ee4,libhttp_body-07a4b824ab69fae3,liburl-73a2e421a209a72f,libidna-165e686f9e5f02aa,libidna_adapter-4790883eeb5ebcd4,libicu_properties-a1abf11edad3ff4c,libicu_properties_data-63794672d700cbd7,libicu_normalizer-43e3b6599a2f7579,libicu_normalizer_data-8c6061b0b2adc192,libicu_collections-85110dd47a96164a,libutf8_iter-d59950773a6f062b,libpotential_utf-912f36feaacae7ba,libicu_provider-b9dfc1eb83f1a617,libicu_locale_core-c4d70cab62565cf9,libtinystr-725179f04cf83c49,liblitemap-f219fd6b5e5e8db5,libwriteable-101d110308c1677e,libzerovec-c0f2a6a59e545b03,libzerotrie-877f1a14badd3f28,libyoke-c45fe43ba6eb2e7d,libstable_deref_trait-1210460e331f0a03,libzerofrom-354c4b13d1ac7c82,libform_urlencoded-0a6af76535a55b5e,libpercent_encoding-b8714e110ca16f4c,libhttp-a0bc74fc3ed71420,libsync_wrapper-88a17f87f20db495,libtoml-d35f44de78f0a463,libtoml_writer-a9b99b02b8704989,libtoml_parser-31eca175d04d1399,libwinnow-9c83b09d18a4c433,libserde_spanned-67457f6c62d40123,libtoml_datetime-f36b5d73c124aa30,libnotify-0fb1329ea08f2bf4,libmio-1fbe3bd39ba734ed,libcrossbeam_channel-048ffa2fb09a6176,libfiletime-8ed86b2c9b8e1794,libwalkdir-ee8993f0698390b9,libsame_file-0fb1d47320046d34,libinotify-63c5ebecd2927ea2,libinotify_sys-f7d83f2366e6827c,libbitflags-a9851ebd0ab18f47,libfutures_util-1bcbd1654bcf2cef,libfutures_task-16f44b435b6f0168,libnotify_rust-196a62eecdaa0587,libzbus-8cfc6476c4dd319e,libblocking-5662e5aa5dc958f9,libpiper-c60c028b50cf0def,libatomic_waker-4d8f3a876068a9c4,libhex-aa11f1b7b510398f,libuuid-ce9a4a7a9a88dec6,libgetrandom-376ca22163b230f2,libasync_executor-bd315aedc96a64b6,libasync_process-049aaa5ec0e38c36,libasync_signal-6f4a825442e19839,libasync_lock-c228cda59dde5797,libasync_task-e431bcfe3f65244a,libasync_channel-66c78357218ca1a3,libtracing-2f650177c5402541,libtracing_core-2e067b6e4fd52e2b,libordered_stream-adfa1ca442fac7f3,libasync_broadcast-36c4735cddf01e30,libevent_listener_strategy-494907bbfcbaf9db,libevent_listener-2563914ef7b74582,libasync_io-6f5decfd91a3ae46,libslab-229cf4143d039c7e,libpolling-a0c4c58bd1dec6ac,libconcurrent_queue-acddee979fd2de4c,libcrossbeam_utils-dbe6faacf78f7a1d,libfutures_lite-ab7a24aa6b9fe81e,libfutures_core-3f2014b84910caad,libparking-3ff23e0ffe662ff9,libfastrand-c682da7352a13f70,libfutures_io-1f5c42698b08f771,libzbus_names-2a4cbc18c5da5055,libzvariant-dab4eecd9894167d,libenumflags2-db85fc9a4a21d6c8,libendi-2fca4de47fd63b27,libzvariant_utils-2ff1161e1374c400,libwinnow-e256b706e20ff51f,libsyn-0afe7e5ef3324776,libquote-e7da784e1a6aaae7,libproc_macro2-90c979ef395d2fde,libunicode_ident-499e208ff65c691c}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libproc_macro-*,librustc_literal_escaper-*}.rlib" "/opt/rustwide/target/debug/deps/{librusqlite-7bebad070a00113f,libfallible_streaming_iterator-7982aad940bdcab8,libfallible_iterator-95f09b8523ec2280,libhashlink-d0f10ee8befc1ff9,libhashbrown-db11dc48e2e5bb63,libahash-0b3ea9e4a5f931f2,libonce_cell-0ac012fec71d6948,libzerocopy-654b66278cc68e2a,liblibsqlite3_sys-e7bc743d54f22334,libtokio-12c2ebd209569670,libsocket2-8f656812fcf6b284,libbytes-00a102391b5f478f,libpin_project_lite-dbd15b1f007a2c34,libratatui-ba304377bd00b2f0,libratatui_macros-f71d68614cc68a16,libratatui_widgets-c5873ae3f319c078,libtime-bf612f0612a6962d,libnum_threads-238319798a8b2281,libtime_core-b3b7d29315fab097,libnum_conv-1d9284b45dc154ae,libderanged-d0420a20de7d12ff,libpowerfmt-dcf4c7392d25d790,libline_clipping-fb419c7f1655d605,libratatui_crossterm-52e7d8272da52359,libcrossterm-562b90d01c842f18,librustix-c404360c6d3e1ec6,liblinux_raw_sys-de237c15daafbce4,libparking_lot-0cfb10615a1ff618,libparking_lot_core-ddf08330aeb26ec4,libsmallvec-695d630f41d8414d,liblock_api-74619001a0e54eab,libscopeguard-96105b3e6a714ed4,libderive_more-599c5d49b82e7076,libsignal_hook_mio-5d4ddee7964a5872,libsignal_hook-3ee255b8d57d8967,libsignal_hook_registry-9ab2c8d40bde4372,liberrno-617a76c9d6b5ec7a,libmio-f45927344c066726,liblog-b4877c6cda7d43ee,libratatui_core-c60e24c93f62bac6,libunicode_truncate-2be7745d886006d0,libbitflags-9df9c6f560e10b5f,liblru-e42194f622703f01,libkasuari-e7d1f088e20ff311,libthiserror-aea870a09a83ec8c,libitertools-6e7f941f8e1009a8,libeither-415b250dd7beb7ac,libhashbrown-fa8703e903ad1d77,libequivalent-2f5434284319e1e1,liballocator_api2-843585b74aa2631f,libfoldhash-7ae1a7a47ee75d5c,libcompact_str-65a8e46581dafcaa,libryu-7c364cfb94c444f7,libcfg_if-73907a425b6e514e,libstatic_assertions-95336585f0b7f57d,libcastaway-64e1a177ee58c300,libunicode_segmentation-104fa2bc10933852,libunicode_width-052de3cc9bfeee26,libstrum-4bf43c78a7982e2a,libchrono-382a3ee2a134b29d,libiana_time_zone-e8fde29fdad667ba,libnum_traits-0b592801fe27ae75,libanyhow-b0726fbe6d61d750,libserde-cd80aa383f3f8375,libdirs-b58ae5db560fa624,libdirs_sys-ebfd8b2eaf281851,liblibc-cb79651e9cde70a0,liboption_ext-fd15afac2aba4923,libserde_json-f23c31b73daf454f,libmemchr-9c99a16d1eb4a64c,libitoa-c3f3678fd0b86a79,libzmij-32087f229b5896fd,libserde_core-2c931dd3fb8fd185}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*,libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcqIMQGw/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/libsqlite3-sys-b29fefd9633d53e5/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/integration_tests-1331f46e92e86171" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcaneeRi/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libyggdra-08949f1f3e22ca3d,libdirs-b58ae5db560fa624,libdirs_sys-ebfd8b2eaf281851,liboption_ext-fd15afac2aba4923,libreqwest-8bffe03aeb646903,libserde_urlencoded-9f98f662227fb8bb,librustls_pki_types-88bf88318d7b8798,libzeroize-c59311ce59192ddc,libhyper_tls-25e6f4aa0db58bba,libtokio_native_tls-f78cbafea9d2bece,libmime-aa776e7d0d3a99c3,libencoding_rs-8656bb43f7a59443,libtower_http-4cc169c5fdf3f5d5,libiri_string-9b9050047a32a8cf,libtower-c9d553ea6cc9cdb5,libtower_layer-3b63c02b4d0ef938,libnative_tls-d7d56f1d256ab964,libopenssl_probe-36add93db21104c3,libopenssl-e9f3740349e667e5,libforeign_types-e87917ac39136afb,libforeign_types_shared-47d2966ff738e019,libopenssl_sys-50e2af83453a1c0e,libhyper_util-52118af8cb4ec1e5,libbase64-29d4d4232c317d5e,libipnet-780b5bdd2a7e34b5,libtower_service-d85697bf5431d8b4,libhyper-ff8598fd762eb13e,libwant-5da7cd3e9e53353c,libtry_lock-0e5736ebe7ae5c9e,libhttparse-9c8043f0d8f65c21,libh2-740641b7f812a0d8,libindexmap-929dd02fad068ac3,libhashbrown-8efbfc8b0f4264c8,libfnv-bf8b415be0978c3b,libfutures_channel-4f9d91a446a2fd27,libtokio_util-b987d5179e2f5de5,libfutures_sink-972a6e6f22232cfe,libhttp_body_util-f257d3eb4c7f1ee4,libhttp_body-07a4b824ab69fae3,liburl-73a2e421a209a72f,libidna-165e686f9e5f02aa,libidna_adapter-4790883eeb5ebcd4,libicu_properties-a1abf11edad3ff4c,libicu_properties_data-63794672d700cbd7,libicu_normalizer-43e3b6599a2f7579,libicu_normalizer_data-8c6061b0b2adc192,libicu_collections-85110dd47a96164a,libutf8_iter-d59950773a6f062b,libpotential_utf-912f36feaacae7ba,libicu_provider-b9dfc1eb83f1a617,libicu_locale_core-c4d70cab62565cf9,libtinystr-725179f04cf83c49,liblitemap-f219fd6b5e5e8db5,libwriteable-101d110308c1677e,libzerovec-c0f2a6a59e545b03,libzerotrie-877f1a14badd3f28,libyoke-c45fe43ba6eb2e7d,libstable_deref_trait-1210460e331f0a03,libzerofrom-354c4b13d1ac7c82,libform_urlencoded-0a6af76535a55b5e,libpercent_encoding-b8714e110ca16f4c,libhttp-a0bc74fc3ed71420,libsync_wrapper-88a17f87f20db495,libtoml-d35f44de78f0a463,libtoml_writer-a9b99b02b8704989,libtoml_parser-31eca175d04d1399,libwinnow-9c83b09d18a4c433,libserde_spanned-67457f6c62d40123,libtoml_datetime-f36b5d73c124aa30,libserde_json-f23c31b73daf454f,libmemchr-9c99a16d1eb4a64c,libzmij-32087f229b5896fd,libnotify-0fb1329ea08f2bf4,libmio-1fbe3bd39ba734ed,libcrossbeam_channel-048ffa2fb09a6176,libfiletime-8ed86b2c9b8e1794,libwalkdir-ee8993f0698390b9,libsame_file-0fb1d47320046d34,libinotify-63c5ebecd2927ea2,libinotify_sys-f7d83f2366e6827c,libbitflags-a9851ebd0ab18f47,libfutures_util-1bcbd1654bcf2cef,libfutures_task-16f44b435b6f0168,libnotify_rust-196a62eecdaa0587,libzbus-8cfc6476c4dd319e,libblocking-5662e5aa5dc958f9,libpiper-c60c028b50cf0def,libatomic_waker-4d8f3a876068a9c4,libhex-aa11f1b7b510398f,libuuid-ce9a4a7a9a88dec6,libgetrandom-376ca22163b230f2,libasync_executor-bd315aedc96a64b6,libasync_process-049aaa5ec0e38c36,libasync_signal-6f4a825442e19839,libasync_lock-c228cda59dde5797,libasync_task-e431bcfe3f65244a,libasync_channel-66c78357218ca1a3,libtracing-2f650177c5402541,libtracing_core-2e067b6e4fd52e2b,libordered_stream-adfa1ca442fac7f3,libasync_broadcast-36c4735cddf01e30,libevent_listener_strategy-494907bbfcbaf9db,libevent_listener-2563914ef7b74582,libasync_io-6f5decfd91a3ae46,libslab-229cf4143d039c7e,libpolling-a0c4c58bd1dec6ac,libconcurrent_queue-acddee979fd2de4c,libcrossbeam_utils-dbe6faacf78f7a1d,libfutures_lite-ab7a24aa6b9fe81e,libfutures_core-3f2014b84910caad,libparking-3ff23e0ffe662ff9,libfastrand-c682da7352a13f70,libfutures_io-1f5c42698b08f771,libzbus_names-2a4cbc18c5da5055,libzvariant-dab4eecd9894167d,libenumflags2-db85fc9a4a21d6c8,libendi-2fca4de47fd63b27,libzvariant_utils-2ff1161e1374c400,libwinnow-e256b706e20ff51f,libsyn-0afe7e5ef3324776,libquote-e7da784e1a6aaae7,libproc_macro2-90c979ef395d2fde,libunicode_ident-499e208ff65c691c}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libproc_macro-*,librustc_literal_escaper-*}.rlib" "/opt/rustwide/target/debug/deps/{librusqlite-7bebad070a00113f,libfallible_streaming_iterator-7982aad940bdcab8,libfallible_iterator-95f09b8523ec2280,libhashlink-d0f10ee8befc1ff9,libhashbrown-db11dc48e2e5bb63,libahash-0b3ea9e4a5f931f2,libonce_cell-0ac012fec71d6948,libzerocopy-654b66278cc68e2a,liblibsqlite3_sys-e7bc743d54f22334,libtokio-12c2ebd209569670,libsocket2-8f656812fcf6b284,libbytes-00a102391b5f478f,libpin_project_lite-dbd15b1f007a2c34,libratatui-ba304377bd00b2f0,libratatui_macros-f71d68614cc68a16,libratatui_widgets-c5873ae3f319c078,libtime-bf612f0612a6962d,libnum_threads-238319798a8b2281,libtime_core-b3b7d29315fab097,libnum_conv-1d9284b45dc154ae,libderanged-d0420a20de7d12ff,libpowerfmt-dcf4c7392d25d790,libline_clipping-fb419c7f1655d605,libratatui_crossterm-52e7d8272da52359,libcrossterm-562b90d01c842f18,librustix-c404360c6d3e1ec6,liblinux_raw_sys-de237c15daafbce4,libparking_lot-0cfb10615a1ff618,libparking_lot_core-ddf08330aeb26ec4,libsmallvec-695d630f41d8414d,liblock_api-74619001a0e54eab,libscopeguard-96105b3e6a714ed4,libderive_more-599c5d49b82e7076,libsignal_hook_mio-5d4ddee7964a5872,libsignal_hook-3ee255b8d57d8967,libsignal_hook_registry-9ab2c8d40bde4372,liberrno-617a76c9d6b5ec7a,libmio-f45927344c066726,liblibc-cb79651e9cde70a0,liblog-b4877c6cda7d43ee,libratatui_core-c60e24c93f62bac6,libunicode_truncate-2be7745d886006d0,libbitflags-9df9c6f560e10b5f,liblru-e42194f622703f01,libkasuari-e7d1f088e20ff311,libthiserror-aea870a09a83ec8c,libitertools-6e7f941f8e1009a8,libeither-415b250dd7beb7ac,libhashbrown-fa8703e903ad1d77,libequivalent-2f5434284319e1e1,liballocator_api2-843585b74aa2631f,libfoldhash-7ae1a7a47ee75d5c,libcompact_str-65a8e46581dafcaa,libryu-7c364cfb94c444f7,libitoa-c3f3678fd0b86a79,libcfg_if-73907a425b6e514e,libstatic_assertions-95336585f0b7f57d,libcastaway-64e1a177ee58c300,libunicode_segmentation-104fa2bc10933852,libunicode_width-052de3cc9bfeee26,libstrum-4bf43c78a7982e2a,libchrono-382a3ee2a134b29d,libiana_time_zone-e8fde29fdad667ba,libnum_traits-0b592801fe27ae75,libanyhow-b0726fbe6d61d750,libserde-cd80aa383f3f8375,libserde_core-2c931dd3fb8fd185}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcaneeRi/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/libsqlite3-sys-b29fefd9633d53e5/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/model_compat-138e873eec41a9bc" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yggdra` (test "integration_tests") due to 1 previous error
[INFO] [stderr] error: could not compile `yggdra` (test "model_compat") due to 1 previous error; 1 warning emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut child = Command::new(&resolved)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut child = Command::new("sh")
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]     --> src/ui.rs:4813:18
[INFO] [stdout]      |
[INFO] [stdout] 4813 |             Some(client) => {
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `models` is never read
[INFO] [stdout]  --> src/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AgentsConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AGE` is never used
[INFO] [stdout]   --> src/epoch.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn load_if_fresh(project_dir: &Path) -> Option<String> {
[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:126:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl MessageBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_last_n(&self, n: usize) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn search_scrollback(&self, query: &str) -> SqliteResult<Vec<(Message, i64)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn scrollback_count(&self) -> SqliteResult<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: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[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: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_tools` is never used
[INFO] [stdout]     --> src/tools.rs:1091:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 | impl ToolRegistry {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     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:746:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 745 |     pub model: String,
[INFO] [stdout] 746 |     pub endpoint: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, `is_done`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn is_done(output: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_description` are never used
[INFO] [stdout]   --> src/task.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new(id: impl Into<String>, title: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_description(mut self, desc: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/task.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `progress_pct` are never used
[INFO] [stdout]   --> src/task.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn progress_pct(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn add_task(&mut self, task: &Task) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn complete_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn last_checkpoint(&self) -> SqliteResult<Option<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_inference` and `format_status_bar` are never used
[INFO] [stdout]    --> src/metrics.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl MetricsTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn record_inference(&mut self, tokens: u64, duration_ms: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn format_status_bar(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `models` is never read
[INFO] [stdout]  --> src/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AgentsConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AGE` is never used
[INFO] [stdout]   --> src/epoch.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn load_if_fresh(project_dir: &Path) -> Option<String> {
[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:126:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl MessageBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_last_n(&self, n: usize) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) -> SqliteResult<Vec<Message>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn search_scrollback(&self, query: &str) -> SqliteResult<Vec<(Message, i64)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn scrollback_count(&self) -> SqliteResult<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: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[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: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fix_macos_sed_inplace` is never used
[INFO] [stdout]    --> src/tools.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | 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:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn fix_sed_quote(mut cmd: String, q: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn parse_args(args: &str) -> Option<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_tools` is never used
[INFO] [stdout]     --> src/tools.rs:1091:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 | impl ToolRegistry {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     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:746:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 745 |     pub model: String,
[INFO] [stdout] 746 |     pub endpoint: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, `is_done`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn is_done(output: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn return_steering() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_description` are never used
[INFO] [stdout]   --> src/task.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new(id: impl Into<String>, title: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_description(mut self, desc: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/task.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `progress_pct` are never used
[INFO] [stdout]   --> src/task.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn progress_pct(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn add_task(&mut self, task: &Task) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn complete_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn last_checkpoint(&self) -> SqliteResult<Option<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_inference` and `format_status_bar` are never used
[INFO] [stdout]    --> src/metrics.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl MetricsTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn record_inference(&mut self, tokens: u64, duration_ms: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn format_status_bar(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: 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: associated function `no_execution` is never used
[INFO] [stdout]   --> src/steering.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SteeringDirective {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn no_execution() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     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:749:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     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:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fail_task`, `start_task`, `all_checkpoints`, `add_dependency`, and `get_task_dependencies` are never used
[INFO] [stdout]    --> src/task.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_thinking` is never read
[INFO] [stdout]    --> src/ollama.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Done {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 141 |         had_thinking: 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: associated function `no_execution` is never used
[INFO] [stdout]   --> src/steering.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SteeringDirective {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn no_execution() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/tools.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 45 |     /// Unique identifier for the tool
[INFO] [stdout] 46 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EditfileTool` is never constructed
[INFO] [stdout]    --> src/tools.rs:534:12
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct EditfileTool;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_args` is never used
[INFO] [stdout]    --> src/tools.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | impl EditfileTool {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 541 |     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:749:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct AgentConfig {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 749 |     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: associated items `with_params`, `parse_tool_calls`, and `execute_with_tools` are never used
[INFO] [stdout]     --> src/agent.rs:826:12
[INFO] [stdout]      |
[INFO] [stdout]  813 | impl Agent {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  826 |     pub fn with_params(mut self, params: crate::config::ModelParams) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  832 |     fn parse_tool_calls(output: &str, profile: CapabilityProfile) -> Vec<ToolCall> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1109 |     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:32:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AgentResult {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     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:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Checkpoint {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn new(name: impl Into<String>, total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fail_task`, `start_task`, `all_checkpoints`, `add_dependency`, and `get_task_dependencies` are never used
[INFO] [stdout]    --> src/task.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TaskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn fail_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn start_task(&mut self, task_id: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn all_checkpoints(&self) -> SqliteResult<Vec<Checkpoint>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn add_dependency(&mut self, task_id: &str, depends_on: &str) -> SqliteResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn get_task_dependencies(&self, task_id: &str) -> SqliteResult<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ui.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct ToolResult {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 165 |     tool_name: String,
[INFO] [stdout] 166 |     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:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct InlineToolResult {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 182 |     tool_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 183 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 184 |     output: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 185 |     is_complete: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 186 |     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:221:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct CachedRender {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     height: u16,  // content height (depends on area_width)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_inline_results` is never used
[INFO] [stdout]     --> src/ui.rs:5266:8
[INFO] [stdout]      |
[INFO] [stdout]  412 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5266 |     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:5776:4
[INFO] [stdout]      |
[INFO] [stdout] 5776 | fn is_listing_command(cmd: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yggdra` (bin "yggdra-shell"); 33 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/bin/rustc --crate-name yggdra_shell --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=d758a33681be8ca3 -C extra-filename=-7771238b534ab781 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-b0726fbe6d61d750.rlib --extern chrono=/opt/rustwide/target/debug/deps/libchrono-382a3ee2a134b29d.rlib --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-562b90d01c842f18.rlib --extern dirs=/opt/rustwide/target/debug/deps/libdirs-b58ae5db560fa624.rlib --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-1bcbd1654bcf2cef.rlib --extern libc=/opt/rustwide/target/debug/deps/liblibc-cb79651e9cde70a0.rlib --extern notify=/opt/rustwide/target/debug/deps/libnotify-0fb1329ea08f2bf4.rlib --extern notify_rust=/opt/rustwide/target/debug/deps/libnotify_rust-196a62eecdaa0587.rlib --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-ba304377bd00b2f0.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-4d7042c3ca83d67c.rlib --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8bffe03aeb646903.rlib --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-7bebad070a00113f.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-cd80aa383f3f8375.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-f23c31b73daf454f.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-aea870a09a83ec8c.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-12c2ebd209569670.rlib --extern toml=/opt/rustwide/target/debug/deps/libtoml-d35f44de78f0a463.rlib --extern unicode_width=/opt/rustwide/target/debug/deps/libunicode_width-052de3cc9bfeee26.rlib --extern uuid=/opt/rustwide/target/debug/deps/libuuid-ce9a4a7a9a88dec6.rlib --extern yggdra=/opt/rustwide/target/debug/deps/libyggdra-08949f1f3e22ca3d.rlib --cap-lints=warn -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-b29fefd9633d53e5/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] error: could not compile `yggdra` (bin "yggdra"); 33 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/bin/rustc --crate-name yggdra --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=62257ca78d157386 -C extra-filename=-f39d4495685faf5c --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-b0726fbe6d61d750.rlib --extern chrono=/opt/rustwide/target/debug/deps/libchrono-382a3ee2a134b29d.rlib --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-562b90d01c842f18.rlib --extern dirs=/opt/rustwide/target/debug/deps/libdirs-b58ae5db560fa624.rlib --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-1bcbd1654bcf2cef.rlib --extern libc=/opt/rustwide/target/debug/deps/liblibc-cb79651e9cde70a0.rlib --extern notify=/opt/rustwide/target/debug/deps/libnotify-0fb1329ea08f2bf4.rlib --extern notify_rust=/opt/rustwide/target/debug/deps/libnotify_rust-196a62eecdaa0587.rlib --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-ba304377bd00b2f0.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-4d7042c3ca83d67c.rlib --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8bffe03aeb646903.rlib --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-7bebad070a00113f.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-cd80aa383f3f8375.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-f23c31b73daf454f.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-aea870a09a83ec8c.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-12c2ebd209569670.rlib --extern toml=/opt/rustwide/target/debug/deps/libtoml-d35f44de78f0a463.rlib --extern unicode_width=/opt/rustwide/target/debug/deps/libunicode_width-052de3cc9bfeee26.rlib --extern uuid=/opt/rustwide/target/debug/deps/libuuid-ce9a4a7a9a88dec6.rlib --extern yggdra=/opt/rustwide/target/debug/deps/libyggdra-08949f1f3e22ca3d.rlib --cap-lints=warn -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-b29fefd9633d53e5/out` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "1fc103aa76253beaef9cb5c9d44acfec6f920114cb2be622ce9c8780930c0ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fc103aa76253beaef9cb5c9d44acfec6f920114cb2be622ce9c8780930c0ddc", kill_on_drop: false }`
[INFO] [stdout] 1fc103aa76253beaef9cb5c9d44acfec6f920114cb2be622ce9c8780930c0ddc
