[INFO] cloning repository https://github.com/keypaa/clodox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/keypaa/clodox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d4d0d6ef34a9e96d2abe53edfedab93826554af1
[INFO] testing keypaa/clodox against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/keypaa/clodox
[INFO] finished tweaking git repo https://github.com/keypaa/clodox
[INFO] tweaked toml for git repo https://github.com/keypaa/clodox written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/keypaa/clodox on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/keypaa/clodox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613
[INFO] running `Command { std: "docker" "start" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling web_atoms v0.2.4
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tendril v0.5.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling cc-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stdout] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stdout]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[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: `AdditionalWorkingDirectory`
[INFO] [stdout]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgressMessage`
[INFO] [stdout]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stdout]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling markup5ever v0.38.0
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         context: &ToolUseContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Command::Prompt(cmd) => true,
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` 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] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling cc-query v0.1.0 (/opt/rustwide/workdir/crates/query)
[INFO] [stderr]    Compiling plist v1.9.0
[INFO] [stderr]    Compiling process-wrap v9.1.0
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> crates/query/src/engine.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/query/src/streaming.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stdout]  --> crates/query/src/compaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/query/src/engine.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |             let mut current_model = config.model.clone();
[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] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> crates/query/src/streaming.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling html5ever v0.38.0
[INFO] [stdout] warning: value assigned to `max_consecutive_errors` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   max_consecutive_errors += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stream_had_error` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:260:29
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...                   stream_had_error = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_use_id`
[INFO] [stdout]    --> crates/query/src/compaction.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                     tool_use_id,
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_client` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct QueryEngine {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     api_client: ApiClient,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling sse-stream v0.2.3
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling html2text v0.16.7
[INFO] [stderr]    Compiling caseless v0.2.2
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling entities v1.0.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling cc-tools v0.1.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stderr]    Compiling cc-commands v0.1.0 (/opt/rustwide/workdir/crates/commands)
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stdout] warning: unused variable: `task_id`
[INFO] [stdout]    --> crates/tools/src/bash.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bon v3.9.1
[INFO] [stderr]    Compiling comrak v0.31.0
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> crates/tools/src/agent.rs:526:25
[INFO] [stdout]     |
[INFO] [stdout] 526 |                     for pattern in required {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]    --> crates/tools/src/agent.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]    --> crates/tools/src/agent.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |         prompt: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> crates/tools/src/agent.rs:945:69
[INFO] [stdout]     |
[INFO] [stdout] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stdout]      |
[INFO] [stdout] 1412 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worktree_head`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         worktree_head: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transcript_path`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         prompt: &str,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stdout]      |
[INFO] [stdout] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_commit`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stdout]      |
[INFO] [stdout] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stdout]      |
[INFO] [stdout] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stdout]      |
[INFO] [stdout] 3156 |     original_prompt: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_type`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stdout]      |
[INFO] [stdout] 3368 |     agent_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stdout]      |
[INFO] [stdout] 3369 |     prompt: &str,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &str,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRESS_THRESHOLD_MS` is never used
[INFO] [stdout]   --> crates/tools/src/agent.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PROGRESS_THRESHOLD_MS: u64 = 2000;
[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 items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:495:8
[INFO] [stdout]      |
[INFO] [stdout]  458 | impl AgentTool {
[INFO] [stdout]      | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  495 |     fn filter_agents_by_types(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  581 |     async fn generate_unique_name(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  616 |     async fn run_sync_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     async fn run_async_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_fork_examples` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stdout]      |
[INFO] [stdout] 2720 | fn format_fork_examples() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_tmux_pane` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stdout]      |
[INFO] [stdout] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_permission_mode_args` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stdout]      |
[INFO] [stdout] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_teammate_model` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stdout]      |
[INFO] [stdout] 3085 | fn resolve_teammate_model(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling cc-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stdout]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ExecutableCommand, QueueableCommand,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> crates/tui/src/input.rs:5:74
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render_message_row`
[INFO] [stdout]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RiskLevel`
[INFO] [stdout]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event::Event`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossterm::event::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 17 |     style::{Modifier, Style},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 18 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^
[INFO] [stdout] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 20 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 4 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::box_widget::text_style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/input.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |             text,
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_end`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     let action = if yes {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permission_context`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dialog`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-services v0.1.0 (/opt/rustwide/workdir/crates/services)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut buttons = vec![
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut spans = vec![
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut preview = question.to_string();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_style`
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let number_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let content_style = Style::default()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let hint_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     let hint_style = Style::default()
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/services/src/api.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `async_trait::async_trait`
[INFO] [stdout]  --> crates/services/src/compact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssistantMessage`
[INFO] [stdout]  --> crates/services/src/compact.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> crates/services/src/compact.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/analytics.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/plugins.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/plugins.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> crates/services/src/lsp.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/lsp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/lsp.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub screen: ScreenMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ScreenMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stdout] 486 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ScreenMode {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 500 |     screen: &'a OnboardingScreen,
[INFO] [stdout] 501 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 97 |     dialog: &'a TrustDialog,
[INFO] [stdout] 98 |     theme: &'a Theme,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 270 |     picker: &'a ResumePicker,
[INFO] [stdout] 271 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 247 |     screen: &'a LoginScreen,
[INFO] [stdout] 248 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 382 |     header: &'a LogoHeader,
[INFO] [stdout] 383 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reduced_motion` is never read
[INFO] [stdout]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BriefIdleStatus {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 74 |     reduced_motion: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stdout]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_footer_hint` is never read
[INFO] [stdout]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TextInput {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     show_footer_hint: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInput` 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 `width` is never read
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct TextInputWidget<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 354 |     width: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_lines` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl PromptFooter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_placeholder` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn theme_placeholder() -> Theme {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 250 |     status: &'a StatusLine,
[INFO] [stdout] 251 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `theme` and `area` are never read
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 181 |     dialog: &'a PermissionDialog,
[INFO] [stdout] 182 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 183 |     area: Rect,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 108 |     block: &'a CollapsibleBlock,
[INFO] [stdout] 109 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stdout]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stdout]   |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/services/src/lsp.rs:161:16
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Ok(mut child) => {
[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] [stderr]    Compiling cc-bridge v0.1.0 (/opt/rustwide/workdir/crates/bridge)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `debug`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionBehavior`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct PendingPermissionRequest {
[INFO] [stdout]    |        ------------------------ field in this struct
[INFO] [stdout] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is 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: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stdout]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct PendingMessage {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 61 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 62 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     sent_at: Instant,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     attempts: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/cli/src/main.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let shutdown = session::GracefulShutdown::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn get_permission_mode(cli: &Cli) -> Option<PermissionModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:360:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub fn get_model(cli: &Cli) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_effort` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn get_effort(cli: &Cli) -> Option<EffortArg> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thinking_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn get_thinking_mode(cli: &Cli) -> Option<ThinkingModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_debug` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_debug(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bare` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn is_bare(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `append_message`, `update_meta`, and `is_active` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn append_message(&self, message: &serde_json::Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn update_meta(&mut self, meta: &SessionMeta) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_requested` is never read
[INFO] [stdout]    --> crates/cli/src/session.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 275 |     shutdown_requested: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_shutdown`, `is_shutdown_requested`, and `wait_for_signal` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl GracefulShutdown {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn request_shutdown(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn is_shutdown_requested(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub async fn wait_for_signal(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 28s
[INFO] running `Command { std: "docker" "inspect" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stdout]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[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: `AdditionalWorkingDirectory`
[INFO] [stdout]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgressMessage`
[INFO] [stdout]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stdout]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         context: &ToolUseContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Command::Prompt(cmd) => true,
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` 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: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> crates/query/src/engine.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/query/src/streaming.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stdout]  --> crates/query/src/compaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/query/src/engine.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |             let mut current_model = config.model.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> crates/query/src/streaming.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_consecutive_errors` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   max_consecutive_errors += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stream_had_error` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:260:29
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...                   stream_had_error = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_use_id`
[INFO] [stdout]    --> crates/query/src/compaction.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                     tool_use_id,
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_client` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct QueryEngine {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     api_client: ApiClient,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/services/src/api.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `async_trait::async_trait`
[INFO] [stdout]  --> crates/services/src/compact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssistantMessage`
[INFO] [stdout]  --> crates/services/src/compact.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> crates/services/src/compact.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/analytics.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/plugins.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/plugins.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> crates/services/src/lsp.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/lsp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/lsp.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/services/src/lsp.rs:161:16
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Ok(mut child) => {
[INFO] [stdout]     |                ----^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_id`
[INFO] [stdout]    --> crates/tools/src/bash.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> crates/tools/src/agent.rs:526:25
[INFO] [stdout]     |
[INFO] [stdout] 526 |                     for pattern in required {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]    --> crates/tools/src/agent.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]    --> crates/tools/src/agent.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |         prompt: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> crates/tools/src/agent.rs:945:69
[INFO] [stdout]     |
[INFO] [stdout] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stdout]      |
[INFO] [stdout] 1412 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worktree_head`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         worktree_head: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transcript_path`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         prompt: &str,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stdout]      |
[INFO] [stdout] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_commit`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stdout]      |
[INFO] [stdout] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stdout]      |
[INFO] [stdout] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stdout]      |
[INFO] [stdout] 3156 |     original_prompt: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_type`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stdout]      |
[INFO] [stdout] 3368 |     agent_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stdout]      |
[INFO] [stdout] 3369 |     prompt: &str,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &str,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRESS_THRESHOLD_MS` is never used
[INFO] [stdout]   --> crates/tools/src/agent.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PROGRESS_THRESHOLD_MS: u64 = 2000;
[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 items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:495:8
[INFO] [stdout]      |
[INFO] [stdout]  458 | impl AgentTool {
[INFO] [stdout]      | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  495 |     fn filter_agents_by_types(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  581 |     async fn generate_unique_name(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  616 |     async fn run_sync_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     async fn run_async_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_fork_examples` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stdout]      |
[INFO] [stdout] 2720 | fn format_fork_examples() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_tmux_pane` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stdout]      |
[INFO] [stdout] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_permission_mode_args` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stdout]      |
[INFO] [stdout] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_teammate_model` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stdout]      |
[INFO] [stdout] 3085 | fn resolve_teammate_model(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `debug`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionBehavior`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct PendingPermissionRequest {
[INFO] [stdout]    |        ------------------------ field in this struct
[INFO] [stdout] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is 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: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stdout]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct PendingMessage {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 61 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 62 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     sent_at: Instant,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     attempts: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingMessage` 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: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stdout]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ExecutableCommand, QueueableCommand,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> crates/tui/src/input.rs:5:74
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render_message_row`
[INFO] [stdout]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RiskLevel`
[INFO] [stdout]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event::Event`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossterm::event::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 17 |     style::{Modifier, Style},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 18 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^
[INFO] [stdout] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 20 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 4 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::box_widget::text_style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/input.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |             text,
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_end`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     let action = if yes {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permission_context`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dialog`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut buttons = vec![
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut spans = vec![
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut preview = question.to_string();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_style`
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let number_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stdout] warning: unused variable: `content_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let content_style = Style::default()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-bridge v0.1.0 (/opt/rustwide/workdir/crates/bridge)
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let hint_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-commands v0.1.0 (/opt/rustwide/workdir/crates/commands)
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     let hint_style = Style::default()
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-services v0.1.0 (/opt/rustwide/workdir/crates/services)
[INFO] [stdout] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub screen: ScreenMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ScreenMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-tools v0.1.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stdout] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-query v0.1.0 (/opt/rustwide/workdir/crates/query)
[INFO] [stdout] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stdout] 486 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ScreenMode {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 500 |     screen: &'a OnboardingScreen,
[INFO] [stdout] 501 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 97 |     dialog: &'a TrustDialog,
[INFO] [stdout] 98 |     theme: &'a Theme,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 270 |     picker: &'a ResumePicker,
[INFO] [stdout] 271 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 247 |     screen: &'a LoginScreen,
[INFO] [stdout] 248 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 382 |     header: &'a LogoHeader,
[INFO] [stdout] 383 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reduced_motion` is never read
[INFO] [stdout]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BriefIdleStatus {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 74 |     reduced_motion: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stdout]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_footer_hint` is never read
[INFO] [stdout]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TextInput {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     show_footer_hint: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInput` 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 `width` is never read
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct TextInputWidget<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 354 |     width: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_lines` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl PromptFooter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_placeholder` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn theme_placeholder() -> Theme {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 250 |     status: &'a StatusLine,
[INFO] [stdout] 251 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `theme` and `area` are never read
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 181 |     dialog: &'a PermissionDialog,
[INFO] [stdout] 182 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 183 |     area: Rect,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 108 |     block: &'a CollapsibleBlock,
[INFO] [stdout] 109 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stdout]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stdout]   |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stdout]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ExecutableCommand, QueueableCommand,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> crates/tui/src/input.rs:5:74
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render_message_row`
[INFO] [stdout]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RiskLevel`
[INFO] [stdout]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event::Event`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossterm::event::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 17 |     style::{Modifier, Style},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 18 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^
[INFO] [stdout] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 20 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 4 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::box_widget::text_style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `debug`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionBehavior`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> crates/query/src/engine.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/query/src/streaming.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stdout]  --> crates/query/src/compaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/services/src/api.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `async_trait::async_trait`
[INFO] [stdout]  --> crates/services/src/compact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssistantMessage`
[INFO] [stdout]  --> crates/services/src/compact.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> crates/services/src/compact.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/analytics.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/plugins.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/plugins.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> crates/services/src/lsp.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/lsp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/lsp.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/query/src/engine.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |             let mut current_model = config.model.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/input.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |             text,
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_end`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     let action = if yes {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permission_context`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dialog`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut buttons = vec![
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut spans = vec![
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/services/src/lsp.rs:161:16
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Ok(mut child) => {
[INFO] [stdout]     |                ----^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/cli/src/main.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let shutdown = session::GracefulShutdown::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn get_permission_mode(cli: &Cli) -> Option<PermissionModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:360:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub fn get_model(cli: &Cli) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_effort` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn get_effort(cli: &Cli) -> Option<EffortArg> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thinking_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn get_thinking_mode(cli: &Cli) -> Option<ThinkingModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_debug` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_debug(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bare` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn is_bare(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `append_message`, `update_meta`, and `is_active` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn append_message(&self, message: &serde_json::Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn update_meta(&mut self, meta: &SessionMeta) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_requested` is never read
[INFO] [stdout]    --> crates/cli/src/session.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 275 |     shutdown_requested: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_shutdown`, `is_shutdown_requested`, and `wait_for_signal` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl GracefulShutdown {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn request_shutdown(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn is_shutdown_requested(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub async fn wait_for_signal(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stdout]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[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: `AdditionalWorkingDirectory`
[INFO] [stdout]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgressMessage`
[INFO] [stdout]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stdout]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut preview = question.to_string();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_style`
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let number_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let content_style = Style::default()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let hint_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     let hint_style = Style::default()
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub screen: ScreenMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ScreenMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stdout] 486 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ScreenMode {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 500 |     screen: &'a OnboardingScreen,
[INFO] [stdout] 501 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 97 |     dialog: &'a TrustDialog,
[INFO] [stdout] 98 |     theme: &'a Theme,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 270 |     picker: &'a ResumePicker,
[INFO] [stdout] 271 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 247 |     screen: &'a LoginScreen,
[INFO] [stdout] 248 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 382 |     header: &'a LogoHeader,
[INFO] [stdout] 383 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reduced_motion` is never read
[INFO] [stdout]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BriefIdleStatus {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 74 |     reduced_motion: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stdout]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_footer_hint` is never read
[INFO] [stdout]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TextInput {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     show_footer_hint: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInput` 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 `width` is never read
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct TextInputWidget<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 354 |     width: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_lines` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl PromptFooter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_placeholder` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn theme_placeholder() -> Theme {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 250 |     status: &'a StatusLine,
[INFO] [stdout] 251 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `theme` and `area` are never read
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 181 |     dialog: &'a PermissionDialog,
[INFO] [stdout] 182 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 183 |     area: Rect,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 108 |     block: &'a CollapsibleBlock,
[INFO] [stdout] 109 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stdout]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stdout]   |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> crates/query/src/streaming.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct PendingPermissionRequest {
[INFO] [stdout]    |        ------------------------ field in this struct
[INFO] [stdout] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is 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: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stdout]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct PendingMessage {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 61 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 62 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     sent_at: Instant,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     attempts: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingMessage` 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: value assigned to `max_consecutive_errors` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   max_consecutive_errors += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stream_had_error` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:260:29
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...                   stream_had_error = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_use_id`
[INFO] [stdout]    --> crates/query/src/compaction.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                     tool_use_id,
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_client` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct QueryEngine {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     api_client: ApiClient,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/services/src/compact.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 440 |         assert!(service.total_tokens_saved().await >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_id`
[INFO] [stdout]    --> crates/tools/src/bash.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> crates/tools/src/agent.rs:526:25
[INFO] [stdout]     |
[INFO] [stdout] 526 |                     for pattern in required {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]    --> crates/tools/src/agent.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]    --> crates/tools/src/agent.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |         prompt: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         context: &ToolUseContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> crates/tools/src/agent.rs:945:69
[INFO] [stdout]     |
[INFO] [stdout] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stdout]      |
[INFO] [stdout] 1412 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worktree_head`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         worktree_head: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transcript_path`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         prompt: &str,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stdout]      |
[INFO] [stdout] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Command::Prompt(cmd) => true,
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_commit`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stdout]      |
[INFO] [stdout] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stdout]      |
[INFO] [stdout] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stdout]      |
[INFO] [stdout] 3156 |     original_prompt: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_type`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stdout]      |
[INFO] [stdout] 3368 |     agent_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stdout]      |
[INFO] [stdout] 3369 |     prompt: &str,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &str,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:495:8
[INFO] [stdout]      |
[INFO] [stdout]  458 | impl AgentTool {
[INFO] [stdout]      | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  495 |     fn filter_agents_by_types(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  581 |     async fn generate_unique_name(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  616 |     async fn run_sync_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     async fn run_async_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_fork_examples` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stdout]      |
[INFO] [stdout] 2720 | fn format_fork_examples() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_tmux_pane` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stdout]      |
[INFO] [stdout] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_permission_mode_args` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stdout]      |
[INFO] [stdout] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_teammate_model` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stdout]      |
[INFO] [stdout] 3085 | fn resolve_teammate_model(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.32s
[INFO] running `Command { std: "docker" "inspect" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stderr]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AdditionalWorkingDirectory`
[INFO] [stderr]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ProgressMessage`
[INFO] [stderr]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stderr]   |
[INFO] [stderr] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stderr]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stderr]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stderr]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Serialize`
[INFO] [stderr]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::Serialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stderr]     |
[INFO] [stderr] 328 |         context: &ToolUseContext,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cmd`
[INFO] [stderr]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stderr]     |
[INFO] [stderr] 212 |             Command::Prompt(cmd) => true,
[INFO] [stderr]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stderr] 
[INFO] [stderr] warning: field `path` is never read
[INFO] [stderr]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct CacheEntry {
[INFO] [stderr]    |        ---------- field in this struct
[INFO] [stderr] 12 |     path: PathBuf,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CacheEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-core` (lib) generated 9 warnings (run `cargo fix --lib -p cc-core` to apply 8 suggestions)
[INFO] [stderr] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stderr]   --> crates/query/src/engine.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tracing::{debug, info, warn};
[INFO] [stderr]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/query/src/streaming.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stderr]  --> crates/query/src/compaction.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/query/src/engine.rs:198:17
[INFO] [stderr]     |
[INFO] [stderr] 198 |             let mut current_model = config.model.clone();
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Tool`
[INFO] [stderr]  --> crates/query/src/streaming.rs:4:22
[INFO] [stderr]   |
[INFO] [stderr] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stderr]   |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `max_consecutive_errors` is never read
[INFO] [stderr]    --> crates/query/src/engine.rs:259:29
[INFO] [stderr]     |
[INFO] [stderr] 259 | ...                   max_consecutive_errors += 1;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `stream_had_error` is never read
[INFO] [stderr]    --> crates/query/src/engine.rs:260:29
[INFO] [stderr]     |
[INFO] [stderr] 260 | ...                   stream_had_error = true;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tool_use_id`
[INFO] [stderr]    --> crates/query/src/compaction.rs:298:21
[INFO] [stderr]     |
[INFO] [stderr] 298 |                     tool_use_id,
[INFO] [stderr]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `api_client` is never read
[INFO] [stderr]    --> crates/query/src/engine.rs:158:5
[INFO] [stderr]     |
[INFO] [stderr] 155 | pub struct QueryEngine {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 158 |     api_client: ApiClient,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-query` (lib) generated 9 warnings (run `cargo fix --lib -p cc-query` to apply 5 suggestions)
[INFO] [stderr] warning: unused variable: `task_id`
[INFO] [stderr]    --> crates/tools/src/bash.rs:168:17
[INFO] [stderr]     |
[INFO] [stderr] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `end`
[INFO] [stderr]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pattern`
[INFO] [stderr]    --> crates/tools/src/agent.rs:526:25
[INFO] [stderr]     |
[INFO] [stderr] 526 |                     for pattern in required {
[INFO] [stderr]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `abort_tx`
[INFO] [stderr]    --> crates/tools/src/agent.rs:681:14
[INFO] [stderr]     |
[INFO] [stderr] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stderr]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prompt`
[INFO] [stderr]    --> crates/tools/src/agent.rs:849:9
[INFO] [stderr]     |
[INFO] [stderr] 849 |         prompt: &str,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signature`
[INFO] [stderr]    --> crates/tools/src/agent.rs:945:69
[INFO] [stderr]     |
[INFO] [stderr] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stderr]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output_file`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stderr]      |
[INFO] [stderr] 1607 |         output_file: &str,
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color_manager`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stderr]      |
[INFO] [stderr] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `abort_tx`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stderr]      |
[INFO] [stderr] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stderr]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output_file`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stderr]      |
[INFO] [stderr] 1412 |         output_file: &str,
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color_manager`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stderr]      |
[INFO] [stderr] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `worktree_head`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stderr]      |
[INFO] [stderr] 1417 |         worktree_head: Option<&str>,
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transcript_path`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stderr]      |
[INFO] [stderr] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prompt`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stderr]      |
[INFO] [stderr] 1807 |         prompt: &str,
[INFO] [stderr]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signature`
[INFO] [stderr]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stderr]      |
[INFO] [stderr] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stderr]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `head_commit`
[INFO] [stderr]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stderr]      |
[INFO] [stderr] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stderr]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stderr]      |
[INFO] [stderr] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stderr]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stderr]      |
[INFO] [stderr] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stderr]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `user`
[INFO] [stderr]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stderr]      |
[INFO] [stderr] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stderr]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `original_prompt`
[INFO] [stderr]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stderr]      |
[INFO] [stderr] 3156 |     original_prompt: &str,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `agent_type`
[INFO] [stderr]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stderr]      |
[INFO] [stderr] 3368 |     agent_type: &str,
[INFO] [stderr]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prompt`
[INFO] [stderr]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stderr]      |
[INFO] [stderr] 3369 |     prompt: &str,
[INFO] [stderr]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stderr]      |
[INFO] [stderr] 3370 |     model: &str,
[INFO] [stderr]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRESS_THRESHOLD_MS` is never used
[INFO] [stderr]   --> crates/tools/src/agent.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | const PROGRESS_THRESHOLD_MS: u64 = 2000;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:495:8
[INFO] [stderr]      |
[INFO] [stderr]  458 | impl AgentTool {
[INFO] [stderr]      | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  495 |     fn filter_agents_by_types(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  581 |     async fn generate_unique_name(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  616 |     async fn run_sync_agent(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  961 |     async fn run_async_agent(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_fork_examples` is never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stderr]      |
[INFO] [stderr] 2720 | fn format_fork_examples() -> String {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_tmux_pane` is never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stderr]      |
[INFO] [stderr] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_permission_mode_args` is never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stderr]      |
[INFO] [stderr] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_teammate_model` is never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stderr]      |
[INFO] [stderr] 3085 | fn resolve_teammate_model(
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]   --> crates/services/src/api.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tracing::{debug, info, warn};
[INFO] [stderr]    |                      ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> crates/services/src/compact.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AssistantMessage`
[INFO] [stderr]  --> crates/services/src/compact.rs:4:25
[INFO] [stderr]   |
[INFO] [stderr] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `warn`
[INFO] [stderr]  --> crates/services/src/compact.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/services/src/analytics.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/services/src/plugins.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> crates/services/src/plugins.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]  --> crates/services/src/lsp.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/services/src/lsp.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> crates/services/src/lsp.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/services/src/lsp.rs:161:16
[INFO] [stderr]     |
[INFO] [stderr] 161 |             Ok(mut child) => {
[INFO] [stderr]     |                ----^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-tools` (lib) generated 29 warnings (run `cargo fix --lib -p cc-tools` to apply 23 suggestions)
[INFO] [stderr] warning: `cc-services` (lib) generated 13 warnings (run `cargo fix --lib -p cc-services` to apply 13 suggestions)
[INFO] [stderr] warning: `cc-commands` (lib) generated 1 warning (run `cargo fix --lib -p cc-commands` to apply 1 suggestion)
[INFO] [stderr] warning: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stderr]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stderr]    |
[INFO] [stderr] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     ExecutableCommand, QueueableCommand,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stderr]  --> crates/tui/src/input.rs:5:74
[INFO] [stderr]   |
[INFO] [stderr] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stderr]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stderr]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `render_message_row`
[INFO] [stderr]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stderr]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RiskLevel`
[INFO] [stderr]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stderr]   |
[INFO] [stderr] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stderr]   |                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crossterm::event::Event`
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crossterm::event::Event;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stderr]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr] 17 |     style::{Modifier, Style},
[INFO] [stderr]    |             ^^^^^^^^  ^^^^^
[INFO] [stderr] 18 |     text::{Line, Span, Text},
[INFO] [stderr]    |            ^^^^  ^^^^  ^^^^
[INFO] [stderr] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stderr]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stderr] 20 |     Frame,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stderr]    |
[INFO] [stderr] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Modifier`
[INFO] [stderr]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Wrap`
[INFO] [stderr]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stderr]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Wrap`
[INFO] [stderr]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stderr]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Widget`
[INFO] [stderr]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stderr]   |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Modifier`
[INFO] [stderr]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stderr]   |
[INFO] [stderr] 3 |     style::{Color, Modifier, Style},
[INFO] [stderr]   |                    ^^^^^^^^
[INFO] [stderr] 4 |     text::{Line, Span},
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Color`
[INFO] [stderr]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stderr]   |
[INFO] [stderr] 2 |     style::{Color, Style},
[INFO] [stderr]   |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stderr]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::box_widget::text_style;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Color`
[INFO] [stderr]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stderr]   |
[INFO] [stderr] 2 |     style::{Color, Modifier, Style},
[INFO] [stderr]   |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Modifier`
[INFO] [stderr]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stderr]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stderr]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Modifier` and `Style`
[INFO] [stderr]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::text::{Line, Span};
[INFO] [stderr]   |                     ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stderr]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Widget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Modifier` and `Style`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::text::{Line, Span};
[INFO] [stderr]   |                     ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Widget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Modifier` and `Style`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::text::{Line, Span};
[INFO] [stderr]   |                     ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stderr]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Widget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Modifier` and `Style`
[INFO] [stderr]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stderr]   |                      ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::text::{Line, Span};
[INFO] [stderr]   |                     ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stderr]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Widget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::text::{Line, Span};
[INFO] [stderr]   |                     ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stderr]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Widget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]    --> crates/tui/src/input.rs:375:26
[INFO] [stderr]     |
[INFO] [stderr] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stderr]     |
[INFO] [stderr] 367 |             text,
[INFO] [stderr]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y_end`
[INFO] [stderr]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stderr]     |
[INFO] [stderr] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `action`
[INFO] [stderr]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stderr]     |
[INFO] [stderr] 413 |                     let action = if yes {
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stderr]     |
[INFO] [stderr] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stderr]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `permission_context`
[INFO] [stderr]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stderr]     |
[INFO] [stderr] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dialog`
[INFO] [stderr]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stderr]     |
[INFO] [stderr] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stderr]     |
[INFO] [stderr] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stderr]     |
[INFO] [stderr] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stderr]     |
[INFO] [stderr] 214 |         let mut buttons = vec![
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stderr]     |
[INFO] [stderr] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stderr]     |
[INFO] [stderr] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `columns`
[INFO] [stderr]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stderr]     |
[INFO] [stderr] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stderr]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stderr]     |
[INFO] [stderr] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stderr]     |
[INFO] [stderr] 426 |                 let mut spans = vec![
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stderr]     |
[INFO] [stderr] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stderr]     |
[INFO] [stderr] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stderr]     |
[INFO] [stderr] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stderr]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stderr]     |
[INFO] [stderr] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let mut preview = question.to_string();
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_style`
[INFO] [stderr]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let number_style = Style::default()
[INFO] [stderr]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content_style`
[INFO] [stderr]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stderr]    |
[INFO] [stderr] 58 |             let content_style = Style::default()
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hint_style`
[INFO] [stderr]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stderr]    |
[INFO] [stderr] 74 |                 let hint_style = Style::default()
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hint_style`
[INFO] [stderr]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stderr]    |
[INFO] [stderr] 95 |                     let hint_style = Style::default()
[INFO] [stderr]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stderr] 
[INFO] [stderr] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub screen: ScreenMode,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | enum ScreenMode {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stderr]  --> crates/tui/src/animations.rs:3:7
[INFO] [stderr]   |
[INFO] [stderr] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stderr]  --> crates/tui/src/animations.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stderr]  --> crates/tui/src/animations.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stderr]     |
[INFO] [stderr] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stderr]     |            ------------------------ field in this struct
[INFO] [stderr] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stderr] 486 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stderr]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl ScreenMode {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stderr]     |
[INFO] [stderr] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 500 |     screen: &'a OnboardingScreen,
[INFO] [stderr] 501 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 97 |     dialog: &'a TrustDialog,
[INFO] [stderr] 98 |     theme: &'a Theme,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stderr]     |
[INFO] [stderr] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] 270 |     picker: &'a ResumePicker,
[INFO] [stderr] 271 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stderr]     |
[INFO] [stderr] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 247 |     screen: &'a LoginScreen,
[INFO] [stderr] 248 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stderr]     |
[INFO] [stderr] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 382 |     header: &'a LogoHeader,
[INFO] [stderr] 383 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `reduced_motion` is never read
[INFO] [stderr]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct BriefIdleStatus {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 74 |     reduced_motion: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stderr]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `show_footer_hint` is never read
[INFO] [stderr]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct TextInput {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     show_footer_hint: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TextInput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `width` is never read
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stderr]     |
[INFO] [stderr] 351 | pub struct TextInputWidget<'a> {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 354 |     width: u16,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `render_lines` is never used
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl PromptFooter {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `theme_placeholder` is never used
[INFO] [stderr]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stderr]     |
[INFO] [stderr] 199 | fn theme_placeholder() -> Theme {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stderr]     |
[INFO] [stderr] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 250 |     status: &'a StatusLine,
[INFO] [stderr] 251 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `theme` and `area` are never read
[INFO] [stderr]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stderr]     |            ---------------------- fields in this struct
[INFO] [stderr] 181 |     dialog: &'a PermissionDialog,
[INFO] [stderr] 182 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 183 |     area: Rect,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `theme` is never read
[INFO] [stderr]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 108 |     block: &'a CollapsibleBlock,
[INFO] [stderr] 109 |     theme: &'a Theme,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> crates/tui/src/state.rs:14:26
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stderr]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stderr]    |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> crates/tui/src/state.rs:19:27
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stderr]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stderr]    |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stderr]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stderr]   |                                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stderr]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stderr]     |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stderr]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stderr]     |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stderr]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/bridge/src/permission_callbacks.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PermissionBehavior`
[INFO] [stderr]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tracing::{debug, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info` and `warn`
[INFO] [stderr]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tracing::{debug, info, warn};
[INFO] [stderr]   |                      ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, info, warn};
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `request` is never read
[INFO] [stderr]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | struct PendingPermissionRequest {
[INFO] [stderr]    |        ------------------------ field in this struct
[INFO] [stderr] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stderr]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 60 | struct PendingMessage {
[INFO] [stderr]    |        -------------- fields in this struct
[INFO] [stderr] 61 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 62 |     content: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 63 |     sent_at: Instant,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 64 |     attempts: usize,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PendingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-tui` (lib) generated 83 warnings (run `cargo fix --lib -p cc-tui` to apply 63 suggestions)
[INFO] [stderr] warning: `cc-bridge` (lib) generated 13 warnings (run `cargo fix --lib -p cc-bridge` to apply 11 suggestions)
[INFO] [stderr] warning: `cc-tui` (lib test) generated 83 warnings (83 duplicates)
[INFO] [stderr] warning: `cc-bridge` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr] warning: associated items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stderr]     --> crates/tools/src/agent.rs:495:8
[INFO] [stderr]      |
[INFO] [stderr]  458 | impl AgentTool {
[INFO] [stderr]      | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  495 |     fn filter_agents_by_types(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  581 |     async fn generate_unique_name(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  616 |     async fn run_sync_agent(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  961 |     async fn run_async_agent(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-tools` (lib test) generated 28 warnings (27 duplicates)
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> crates/services/src/compact.rs:440:17
[INFO] [stderr]     |
[INFO] [stderr] 440 |         assert!(service.total_tokens_saved().await >= 0);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-services` (lib test) generated 14 warnings (13 duplicates)
[INFO] [stderr] warning: `cc-commands` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `cc-query` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr] warning: `cc-core` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr] warning: unused variable: `shutdown`
[INFO] [stderr]    --> crates/cli/src/main.rs:254:9
[INFO] [stderr]     |
[INFO] [stderr] 254 |     let shutdown = session::GracefulShutdown::new();
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_permission_mode` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:355:8
[INFO] [stderr]     |
[INFO] [stderr] 355 | pub fn get_permission_mode(cli: &Cli) -> Option<PermissionModeArg> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_model` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:360:8
[INFO] [stderr]     |
[INFO] [stderr] 360 | pub fn get_model(cli: &Cli) -> Option<&str> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_effort` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:365:8
[INFO] [stderr]     |
[INFO] [stderr] 365 | pub fn get_effort(cli: &Cli) -> Option<EffortArg> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_thinking_mode` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:370:8
[INFO] [stderr]     |
[INFO] [stderr] 370 | pub fn get_thinking_mode(cli: &Cli) -> Option<ThinkingModeArg> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_debug` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:375:8
[INFO] [stderr]     |
[INFO] [stderr] 375 | pub fn is_debug(cli: &Cli) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_bare` is never used
[INFO] [stderr]    --> crates/cli/src/cli_args.rs:380:8
[INFO] [stderr]     |
[INFO] [stderr] 380 | pub fn is_bare(cli: &Cli) -> bool {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `append_message`, `update_meta`, and `is_active` are never used
[INFO] [stderr]    --> crates/cli/src/session.rs:186:12
[INFO] [stderr]     |
[INFO] [stderr]  90 | impl Session {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 186 |     pub fn append_message(&self, message: &serde_json::Value) -> anyhow::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 219 |     pub fn update_meta(&mut self, meta: &SessionMeta) -> anyhow::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 239 |     pub fn is_active(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `shutdown_requested` is never read
[INFO] [stderr]    --> crates/cli/src/session.rs:275:5
[INFO] [stderr]     |
[INFO] [stderr] 274 | pub struct GracefulShutdown {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 275 |     shutdown_requested: AtomicBool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `request_shutdown`, `is_shutdown_requested`, and `wait_for_signal` are never used
[INFO] [stderr]    --> crates/cli/src/session.rs:286:12
[INFO] [stderr]     |
[INFO] [stderr] 278 | impl GracefulShutdown {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub fn request_shutdown(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 291 |     pub fn is_shutdown_requested(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 296 |     pub async fn wait_for_signal(&self) -> anyhow::Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cc-cli` (bin "claude-code" test) generated 10 warnings (run `cargo fix --bin "claude-code" -p cc-cli --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.87s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cc_bridge-dd9916b0410f3779)
[INFO] [stdout] 
[INFO] [stdout] running 141 tests
[INFO] [stdout] test daemon::tests::test_daemon_config_default ... ok
[INFO] [stdout] test daemon::tests::test_get_config ... ok
[INFO] [stdout] test daemon::tests::test_get_error_initially_none ... ok
[INFO] [stdout] test daemon::tests::test_get_sessions ... ok
[INFO] [stdout] test daemon::tests::test_is_already_running_no_pid_file ... ok
[INFO] [stdout] test daemon::tests::test_new_daemon_is_stopped ... ok
[INFO] [stdout] test daemon::tests::test_spawn_session_not_running ... ok
[INFO] [stdout] test daemon::tests::test_kill_nonexistent_session ... ok
[INFO] [stdout] test daemon::tests::test_start_already_running ... ok
[INFO] [stdout] test daemon::tests::test_stop_not_running ... ok
[INFO] [stdout] test daemon::tests::test_stop_daemon ... ok
[INFO] [stdout] test jwt_utils::tests::test_base64_decode_invalid ... ok
[INFO] [stdout] test jwt_utils::tests::test_base64_encode_decode_roundtrip ... ok
[INFO] [stdout] test daemon::tests::test_max_sessions ... ok
[INFO] [stderr] error: test failed, to rerun pass `-p cc-bridge --lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/cc_bridge-dd9916b0410f3779` (signal: 15, SIGTERM: termination signal)
[INFO] running `Command { std: "docker" "inspect" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613", kill_on_drop: false }`
[INFO] [stdout] eeca3c3cac00be56f50f1d64e45211beace97163192c3d19338312177c76b613
