[INFO] cloning repository https://github.com/jiebei-668/sea-otter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jiebei-668/sea-otter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiebei-668%2Fsea-otter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiebei-668%2Fsea-otter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0c0521cc13e62060b8bdd6119671f8824387f0ac
[INFO] testing jiebei-668/sea-otter against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiebei-668%2Fsea-otter" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jiebei-668/sea-otter
[INFO] finished tweaking git repo https://github.com/jiebei-668/sea-otter
[INFO] tweaked toml for git repo https://github.com/jiebei-668/sea-otter written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jiebei-668/sea-otter on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jiebei-668/sea-otter 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.99.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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf
[INFO] running `Command { std: "docker" "start" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", 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" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", 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" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling strict v0.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling minimad v0.14.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling similar v3.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling coolor v1.1.0
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.6.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling crokey-proc_macros v1.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling lazy-regex v3.6.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling crokey v1.4.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling termimad v0.34.1
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling ratskin v0.3.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[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 tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[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 YesBoss-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CommandRegistry`, `CommandResult`, and `Command`
[INFO] [stdout]  --> src/command/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use command::{Command, CommandRegistry, CommandResult};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::llm1::types::ChatResponse`
[INFO] [stdout]  --> src/message/message.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::llm1::types::ChatResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `USER_HIDDEN` should have an upper camel case name
[INFO] [stdout]   --> src/message/message.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     USER_HIDDEN(UserMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `UserHidden`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AgentTool`
[INFO] [stdout]   --> src/main.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::tool::tool::{AgentTool, ToolRegistry};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tool/tool.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     _ => {
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tool/tool.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |                       crate::service::runtime_state::PermissionResponse::AllowOnce => {}
[INFO] [stdout]     |                       ------------------------------------------------------------ matches some of the same values
[INFO] [stdout] 330 |                       crate::service::runtime_state::PermissionResponse::AllowAlways => {
[INFO] [stdout]     |                       -------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 334 |                       crate::service::runtime_state::PermissionResponse::DenyOnce { comment } => {
[INFO] [stdout]     |                       ----------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 352 | /                     crate::service::runtime_state::PermissionResponse::DenyAlways {
[INFO] [stdout] 353 | |                         comment,
[INFO] [stdout] 354 | |                     } => {
[INFO] [stdout]     | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 375 |                       _ => {
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/context/system_reminder.rs:115:23
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn file_read_by_ai_cb(payload: &ReminderPayload) -> Option<ReminderMessage> {
[INFO] [stdout]     |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[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: `ctx`
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ----^^^
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/tool/file_write_tool.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn run(&self, arguments_json: &str, ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HookInput` is more private than the item `run_prompt_hook`
[INFO] [stdout]    --> src/service/hooks.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub async fn run_prompt_hook(
[INFO] [stdout] 163 | |     action: &crate::config::schema::HookAction,
[INFO] [stdout] 164 | |     hook_input: &HookInput,
[INFO] [stdout] 165 | | ) -> ExitInfo {
[INFO] [stdout]     | |_____________^ function `run_prompt_hook` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/service/hooks.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct HookInput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HookInput` is more private than the item `run_command_hook`
[INFO] [stdout]    --> src/service/hooks.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / pub async fn run_command_hook(
[INFO] [stdout] 289 | |     action: &crate::config::schema::HookAction,
[INFO] [stdout] 290 | |     hook_input: &HookInput,
[INFO] [stdout] 291 | | ) -> ExitInfo {
[INFO] [stdout]     | |_____________^ function `run_command_hook` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/service/hooks.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct HookInput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/command/command.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Command {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn name(&self) -> String;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoUpdaterStatus` is never used
[INFO] [stdout]    --> src/config/schema.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum AutoUpdaterStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str_lossy` is never used
[INFO] [stdout]    --> src/config/schema.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl AutoUpdaterStatus {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 140 |     pub fn from_str_lossy(value: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NotificationChannel` is never used
[INFO] [stdout]    --> src/config/schema.rs:154:10
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub enum NotificationChannel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelProfile` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub struct ModelProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValidationStatus` is never used
[INFO] [stdout]    --> src/config/schema.rs:249:10
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub enum ValidationStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelPointerType` is never used
[INFO] [stdout]    --> src/config/schema.rs:262:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub enum ModelPointerType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelPointers` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct ModelPointers {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountInfo` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct AccountInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomApiKeyResponses` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct CustomApiKeyResponses {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_CONFIG_KEYS` is never used
[INFO] [stdout]    --> src/config/schema.rs:359:11
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub const GLOBAL_CONFIG_KEYS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GlobalConfigKey` is never used
[INFO] [stdout]    --> src/config/schema.rs:373:10
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub type GlobalConfigKey = &'static str;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_global_config_key` is never used
[INFO] [stdout]    --> src/config/schema.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_global_config_key(key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROJECT_CONFIG_KEYS` is never used
[INFO] [stdout]    --> src/config/schema.rs:379:11
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub const PROJECT_CONFIG_KEYS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ProjectConfigKey` is never used
[INFO] [stdout]    --> src/config/schema.rs:386:10
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub type ProjectConfigKey = &'static str;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_project_config_key` is never used
[INFO] [stdout]    --> src/config/schema.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub fn is_project_config_key(key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectMcpServerDefinitions` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:433:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub struct ProjectMcpServerDefinitions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_context` is never used
[INFO] [stdout]   --> src/context/context.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn invalidate_context() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRODUCT_NAME` is never used
[INFO] [stdout]  --> src/context/fixed_prompt.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PRODUCT_NAME: &str = "YesBoss";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_system_prompt` is never used
[INFO] [stdout]   --> src/context/fixed_prompt.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn invalidate_system_prompt() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/context/system_reminder.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ReminderMessage {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub timestamp: i64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SessionStartUp` is never constructed
[INFO] [stdout]   --> src/context/system_reminder.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ReminderPayload {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 41 |     SessionStartUp,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReminderPayload` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/llm1/client.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Http(reqwest::Error),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Http(reqwest::Error),
[INFO] [stdout] 8 +     Http(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/llm1/client.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Api(String),
[INFO] [stdout]   |     --- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     Api(String),
[INFO] [stdout] 9 +     Api(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat` is never used
[INFO] [stdout]    --> src/llm1/client.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub async fn chat(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_unified_messages1` is never used
[INFO] [stdout]    --> src/llm1/client.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub async fn chat_unified_messages1(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_unified_messages` is never used
[INFO] [stdout]    --> src/llm1/client.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn chat_unified_messages(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]   --> src/llm1/types.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ChatResponse {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub usage: Option<Usage>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]   --> src/llm1/types.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ResponseChoice {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 57 |     pub message: ResponseMessage,
[INFO] [stdout] 58 |     pub finish_reason: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseChoice` 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: fields `role` and `content` are never read
[INFO] [stdout]   --> src/llm1/types.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ResponseMessage {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 63 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 64 |     pub content: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseMessage` 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: enum `ChatResult` is never used
[INFO] [stdout]    --> src/llm1/types.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum ChatResult {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `assistant_with_tool_calls` and `assistant_without_tool_calls` are never used
[INFO] [stdout]    --> src/llm1/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl ChatMessage {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn assistant_with_tool_calls(content: Option<String>, tool_calls: Vec<ToolCall>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of_chat_response` is never used
[INFO] [stdout]   --> src/message/message.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl AssistantMessage {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `assistant_without_tool_calls`, `assistant_with_tool_calls`, and `of_chat_response` are never used
[INFO] [stdout]   --> src/message/message.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl UnifiedMessage {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 68 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn assistant_with_tool_calls(content: Option<String>, calls: Vec<ToolCall>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `model` is never read
[INFO] [stdout]  --> src/service/agent.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AgentConfig {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub model: Option<String>,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]  --> src/service/background_task.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TaskState {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TaskState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_error` is never used
[INFO] [stdout]   --> src/service/background_task.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn set_error(id: &str, error: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_access` is never read
[INFO] [stdout]  --> src/service/file_tracker.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct FileTimestamps {
[INFO] [stdout]   |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     last_access: i64,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `system_messages` is never read
[INFO] [stdout]   --> src/service/hooks.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Block {
[INFO] [stdout]    |     ----- field in this variant
[INFO] [stdout] 25 |         blk_message: String,
[INFO] [stdout] 26 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_messages` and `ask_user` are never read
[INFO] [stdout]   --> src/service/hooks.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     NonBlock {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 30 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |         warning_message: Option<String>,
[INFO] [stdout] 32 |         ask_user: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_messages` and `warning_message` are never read
[INFO] [stdout]   --> src/service/hooks.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     NonBlock {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 44 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |         warning_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_cwd` is never used
[INFO] [stdout]   --> src/service/runtime_state.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn set_cwd(path: PathBuf) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_on_main` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn is_on_main() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_permission_mode` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn set_permission_mode(mode: PermissionMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_messages` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:242:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub fn clear_messages() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_last_uuid_from_jsonl` is never used
[INFO] [stdout]   --> src/service/session_storage.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn init_last_uuid_from_jsonl() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/bash/bash_tool.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BashTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct FileEditTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_read_tool.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FileReadTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_write_tool.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct FileWriteTool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/glob_tool.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct GlobTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/grep_tool.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct GrepTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/task_output_tool.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TaskOutputTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]    --> src/tool/task_tool.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct TaskTool {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     requires_user_interaction: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_concurrency/test_safe_tool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TestSafeTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_concurrency/test_unsafe_tool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TestUnsafeTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_hook_tool/test_danger_tool.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TestDangerTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TESTOOL_JSONSCHEMA` is never used
[INFO] [stdout]  --> src/tool/test_tool.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const TESTOOL_JSONSCHEMA: &str = r#"{
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestTool` is never constructed
[INFO] [stdout]   --> src/tool/test_tool.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct TestTool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tool/test_tool.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl TestTool {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/todo_write_tool.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TodoWriteTool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `requires_user_interaction`, `is_read_only`, and `need_user_permission` are never used
[INFO] [stdout]   --> src/tool/tool.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait AgentTool: Send + Sync {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn requires_user_interaction(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn is_read_only(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 21 |     fn need_user_permission(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `read_file_timestamps` is never read
[INFO] [stdout]   --> src/tool/tool.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ToolContext {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 37 |     pub tool_use_id: String,
[INFO] [stdout] 38 |     pub read_file_timestamps: Arc<Mutex<HashMap<String, i64>>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `record_read` are never used
[INFO] [stdout]   --> src/tool/tool.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl ToolContext {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 45 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn record_read(&self, path: &str) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMPLETED` is never constructed
[INFO] [stdout]   --> src/tool/tool.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum ToolRunStatus {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 99 |     COMPLETED,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_MID` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const TOOL_MID: &str = "\u{2502}";     // │
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_ASSISTANT` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const COLOR_ASSISTANT: Color = Color::Rgb(226, 232, 240); // #E2E8F0 white
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_CODE_BG` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const COLOR_CODE_BG: Color = Color::Rgb(30, 41, 59);      // #1E293B dark slate
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/ui/chat_view.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ToolCallStatus {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 58 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `line_count` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl TurnBlock {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn line_count(&self, registry: &ToolRegistry, width: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `item_at_row_mut` and `max_scroll` are never used
[INFO] [stdout]    --> src/ui/file_tree.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl FileTree {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn item_at_row_mut(&mut self, row: u16) -> Option<&mut TreeItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn max_scroll(&self, visible_height: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_ms` is never read
[INFO] [stdout]   --> src/utils/ripgrep.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct GrepResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 74 |     pub lines: Vec<String>,
[INFO] [stdout] 75 |     pub duration_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 47s
[INFO] running `Command { std: "docker" "inspect" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", 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" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling YesBoss-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CommandRegistry`, `CommandResult`, and `Command`
[INFO] [stdout]  --> src/command/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use command::{Command, CommandRegistry, CommandResult};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::llm1::types::ChatResponse`
[INFO] [stdout]  --> src/message/message.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::llm1::types::ChatResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `USER_HIDDEN` should have an upper camel case name
[INFO] [stdout]   --> src/message/message.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     USER_HIDDEN(UserMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `UserHidden`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AgentTool`
[INFO] [stdout]   --> src/main.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::tool::tool::{AgentTool, ToolRegistry};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tool/tool.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     _ => {
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tool/tool.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |                       crate::service::runtime_state::PermissionResponse::AllowOnce => {}
[INFO] [stdout]     |                       ------------------------------------------------------------ matches some of the same values
[INFO] [stdout] 330 |                       crate::service::runtime_state::PermissionResponse::AllowAlways => {
[INFO] [stdout]     |                       -------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 334 |                       crate::service::runtime_state::PermissionResponse::DenyOnce { comment } => {
[INFO] [stdout]     |                       ----------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 352 | /                     crate::service::runtime_state::PermissionResponse::DenyAlways {
[INFO] [stdout] 353 | |                         comment,
[INFO] [stdout] 354 | |                     } => {
[INFO] [stdout]     | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 375 |                       _ => {
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/context/system_reminder.rs:115:23
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn file_read_by_ai_cb(payload: &ReminderPayload) -> Option<ReminderMessage> {
[INFO] [stdout]     |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[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: `ctx`
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ----^^^
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/tool/file_write_tool.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn run(&self, arguments_json: &str, ctx: ToolContext) -> ToolResult {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HookInput` is more private than the item `run_prompt_hook`
[INFO] [stdout]    --> src/service/hooks.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub async fn run_prompt_hook(
[INFO] [stdout] 163 | |     action: &crate::config::schema::HookAction,
[INFO] [stdout] 164 | |     hook_input: &HookInput,
[INFO] [stdout] 165 | | ) -> ExitInfo {
[INFO] [stdout]     | |_____________^ function `run_prompt_hook` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/service/hooks.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct HookInput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HookInput` is more private than the item `run_command_hook`
[INFO] [stdout]    --> src/service/hooks.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / pub async fn run_command_hook(
[INFO] [stdout] 289 | |     action: &crate::config::schema::HookAction,
[INFO] [stdout] 290 | |     hook_input: &HookInput,
[INFO] [stdout] 291 | | ) -> ExitInfo {
[INFO] [stdout]     | |_____________^ function `run_command_hook` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/service/hooks.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct HookInput {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/command/command.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Command {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn name(&self) -> String;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoUpdaterStatus` is never used
[INFO] [stdout]    --> src/config/schema.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum AutoUpdaterStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str_lossy` is never used
[INFO] [stdout]    --> src/config/schema.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl AutoUpdaterStatus {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 140 |     pub fn from_str_lossy(value: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NotificationChannel` is never used
[INFO] [stdout]    --> src/config/schema.rs:154:10
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub enum NotificationChannel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelProfile` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub struct ModelProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValidationStatus` is never used
[INFO] [stdout]    --> src/config/schema.rs:249:10
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub enum ValidationStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelPointerType` is never used
[INFO] [stdout]    --> src/config/schema.rs:262:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub enum ModelPointerType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelPointers` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct ModelPointers {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountInfo` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct AccountInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomApiKeyResponses` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct CustomApiKeyResponses {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_CONFIG_KEYS` is never used
[INFO] [stdout]    --> src/config/schema.rs:359:11
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub const GLOBAL_CONFIG_KEYS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GlobalConfigKey` is never used
[INFO] [stdout]    --> src/config/schema.rs:373:10
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub type GlobalConfigKey = &'static str;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_global_config_key` is never used
[INFO] [stdout]    --> src/config/schema.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_global_config_key(key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROJECT_CONFIG_KEYS` is never used
[INFO] [stdout]    --> src/config/schema.rs:379:11
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub const PROJECT_CONFIG_KEYS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ProjectConfigKey` is never used
[INFO] [stdout]    --> src/config/schema.rs:386:10
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub type ProjectConfigKey = &'static str;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_project_config_key` is never used
[INFO] [stdout]    --> src/config/schema.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub fn is_project_config_key(key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectMcpServerDefinitions` is never constructed
[INFO] [stdout]    --> src/config/schema.rs:433:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub struct ProjectMcpServerDefinitions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_context` is never used
[INFO] [stdout]   --> src/context/context.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn invalidate_context() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRODUCT_NAME` is never used
[INFO] [stdout]  --> src/context/fixed_prompt.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PRODUCT_NAME: &str = "YesBoss";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_system_prompt` is never used
[INFO] [stdout]   --> src/context/fixed_prompt.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn invalidate_system_prompt() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/context/system_reminder.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ReminderMessage {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub timestamp: i64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SessionStartUp` is never constructed
[INFO] [stdout]   --> src/context/system_reminder.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ReminderPayload {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 41 |     SessionStartUp,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReminderPayload` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/llm1/client.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Http(reqwest::Error),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Http(reqwest::Error),
[INFO] [stdout] 8 +     Http(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/llm1/client.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Api(String),
[INFO] [stdout]   |     --- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     Api(String),
[INFO] [stdout] 9 +     Api(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat` is never used
[INFO] [stdout]    --> src/llm1/client.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub async fn chat(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_unified_messages1` is never used
[INFO] [stdout]    --> src/llm1/client.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub async fn chat_unified_messages1(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_unified_messages` is never used
[INFO] [stdout]    --> src/llm1/client.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn chat_unified_messages(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]   --> src/llm1/types.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ChatResponse {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub usage: Option<Usage>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]   --> src/llm1/types.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ResponseChoice {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 57 |     pub message: ResponseMessage,
[INFO] [stdout] 58 |     pub finish_reason: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseChoice` 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: fields `role` and `content` are never read
[INFO] [stdout]   --> src/llm1/types.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ResponseMessage {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 63 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 64 |     pub content: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResponseMessage` 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: enum `ChatResult` is never used
[INFO] [stdout]    --> src/llm1/types.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum ChatResult {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `assistant_with_tool_calls` and `assistant_without_tool_calls` are never used
[INFO] [stdout]    --> src/llm1/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl ChatMessage {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn assistant_with_tool_calls(content: Option<String>, tool_calls: Vec<ToolCall>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of_chat_response` is never used
[INFO] [stdout]   --> src/message/message.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl AssistantMessage {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `assistant_without_tool_calls`, `assistant_with_tool_calls`, and `of_chat_response` are never used
[INFO] [stdout]   --> src/message/message.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl UnifiedMessage {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 68 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn assistant_with_tool_calls(content: Option<String>, calls: Vec<ToolCall>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `model` is never read
[INFO] [stdout]  --> src/service/agent.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AgentConfig {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub model: Option<String>,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]  --> src/service/background_task.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TaskState {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TaskState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_error` is never used
[INFO] [stdout]   --> src/service/background_task.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn set_error(id: &str, error: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_access` is never read
[INFO] [stdout]  --> src/service/file_tracker.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct FileTimestamps {
[INFO] [stdout]   |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     last_access: i64,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `system_messages` is never read
[INFO] [stdout]   --> src/service/hooks.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Block {
[INFO] [stdout]    |     ----- field in this variant
[INFO] [stdout] 25 |         blk_message: String,
[INFO] [stdout] 26 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_messages` and `ask_user` are never read
[INFO] [stdout]   --> src/service/hooks.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     NonBlock {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 30 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |         warning_message: Option<String>,
[INFO] [stdout] 32 |         ask_user: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_messages` and `warning_message` are never read
[INFO] [stdout]   --> src/service/hooks.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     NonBlock {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 44 |         system_messages: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |         warning_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_cwd` is never used
[INFO] [stdout]   --> src/service/runtime_state.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn set_cwd(path: PathBuf) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_on_main` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn is_on_main() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_permission_mode` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn set_permission_mode(mode: PermissionMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_messages` is never used
[INFO] [stdout]    --> src/service/runtime_state.rs:242:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub fn clear_messages() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_last_uuid_from_jsonl` is never used
[INFO] [stdout]   --> src/service/session_storage.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn init_last_uuid_from_jsonl() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/bash/bash_tool.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BashTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_edit_tool.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct FileEditTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_read_tool.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FileReadTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/file_write_tool.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct FileWriteTool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/glob_tool.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct GlobTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/grep_tool.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct GrepTool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/task_output_tool.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TaskOutputTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]    --> src/tool/task_tool.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct TaskTool {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     requires_user_interaction: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_concurrency/test_safe_tool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TestSafeTool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_concurrency/test_unsafe_tool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TestUnsafeTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/test_hook_tool/test_danger_tool.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TestDangerTool {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TESTOOL_JSONSCHEMA` is never used
[INFO] [stdout]  --> src/tool/test_tool.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const TESTOOL_JSONSCHEMA: &str = r#"{
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestTool` is never constructed
[INFO] [stdout]   --> src/tool/test_tool.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct TestTool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tool/test_tool.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl TestTool {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requires_user_interaction` is never read
[INFO] [stdout]   --> src/tool/todo_write_tool.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TodoWriteTool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     requires_user_interaction: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `requires_user_interaction`, `is_read_only`, and `need_user_permission` are never used
[INFO] [stdout]   --> src/tool/tool.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait AgentTool: Send + Sync {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn requires_user_interaction(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn is_read_only(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 21 |     fn need_user_permission(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `read_file_timestamps` is never read
[INFO] [stdout]   --> src/tool/tool.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ToolContext {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 37 |     pub tool_use_id: String,
[INFO] [stdout] 38 |     pub read_file_timestamps: Arc<Mutex<HashMap<String, i64>>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `record_read` are never used
[INFO] [stdout]   --> src/tool/tool.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl ToolContext {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 45 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn record_read(&self, path: &str) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMPLETED` is never constructed
[INFO] [stdout]   --> src/tool/tool.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum ToolRunStatus {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 99 |     COMPLETED,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_MID` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const TOOL_MID: &str = "\u{2502}";     // │
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_ASSISTANT` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const COLOR_ASSISTANT: Color = Color::Rgb(226, 232, 240); // #E2E8F0 white
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_CODE_BG` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const COLOR_CODE_BG: Color = Color::Rgb(30, 41, 59);      // #1E293B dark slate
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/ui/chat_view.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ToolCallStatus {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 58 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `line_count` is never used
[INFO] [stdout]   --> src/ui/chat_view.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl TurnBlock {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn line_count(&self, registry: &ToolRegistry, width: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `item_at_row_mut` and `max_scroll` are never used
[INFO] [stdout]    --> src/ui/file_tree.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl FileTree {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn item_at_row_mut(&mut self, row: u16) -> Option<&mut TreeItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn max_scroll(&self, visible_height: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_ms` is never read
[INFO] [stdout]   --> src/utils/ripgrep.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct GrepResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 74 |     pub lines: Vec<String>,
[INFO] [stdout] 75 |     pub duration_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 12.68s
[INFO] running `Command { std: "docker" "inspect" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", 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" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `CommandRegistry`, `CommandResult`, and `Command`
[INFO] [stderr]  --> src/command/mod.rs:6:19
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use command::{Command, CommandRegistry, CommandResult};
[INFO] [stderr]   |                   ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::llm1::types::ChatResponse`
[INFO] [stderr]  --> src/message/message.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::llm1::types::ChatResponse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `USER_HIDDEN` should have an upper camel case name
[INFO] [stderr]   --> src/message/message.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     USER_HIDDEN(UserMessage),
[INFO] [stderr]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `UserHidden`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AgentTool`
[INFO] [stderr]   --> src/main.rs:25:25
[INFO] [stderr]    |
[INFO] [stderr] 25 | use crate::tool::tool::{AgentTool, ToolRegistry};
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/tool/tool.rs:375:21
[INFO] [stderr]     |
[INFO] [stderr] 375 |                     _ => {
[INFO] [stderr]     |                     ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/tool/tool.rs:375:21
[INFO] [stderr]     |
[INFO] [stderr] 329 |                       crate::service::runtime_state::PermissionResponse::AllowOnce => {}
[INFO] [stderr]     |                       ------------------------------------------------------------ matches some of the same values
[INFO] [stderr] 330 |                       crate::service::runtime_state::PermissionResponse::AllowAlways => {
[INFO] [stderr]     |                       -------------------------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 334 |                       crate::service::runtime_state::PermissionResponse::DenyOnce { comment } => {
[INFO] [stderr]     |                       ----------------------------------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 352 | /                     crate::service::runtime_state::PermissionResponse::DenyAlways {
[INFO] [stderr] 353 | |                         comment,
[INFO] [stderr] 354 | |                     } => {
[INFO] [stderr]     | |_____________________- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 375 |                       _ => {
[INFO] [stderr]     |                       ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `payload`
[INFO] [stderr]    --> src/context/system_reminder.rs:115:23
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn file_read_by_ai_cb(payload: &ReminderPayload) -> Option<ReminderMessage> {
[INFO] [stderr]     |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stderr]    |
[INFO] [stderr] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[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: `ctx`
[INFO] [stderr]   --> src/tool/file_edit_tool.rs:69:47
[INFO] [stderr]    |
[INFO] [stderr] 69 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stderr]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stderr]    |
[INFO] [stderr] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stderr]    |                                               ----^^^
[INFO] [stderr]    |                                               |
[INFO] [stderr]    |                                               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/tool/file_read_tool.rs:63:47
[INFO] [stderr]    |
[INFO] [stderr] 63 |     async fn run(&self, arguments_json: &str, mut ctx: ToolContext) -> ToolResult {
[INFO] [stderr]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/tool/file_write_tool.rs:61:47
[INFO] [stderr]    |
[INFO] [stderr] 61 |     async fn run(&self, arguments_json: &str, ctx: ToolContext) -> ToolResult {
[INFO] [stderr]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: type `HookInput` is more private than the item `run_prompt_hook`
[INFO] [stderr]    --> src/service/hooks.rs:162:1
[INFO] [stderr]     |
[INFO] [stderr] 162 | / pub async fn run_prompt_hook(
[INFO] [stderr] 163 | |     action: &crate::config::schema::HookAction,
[INFO] [stderr] 164 | |     hook_input: &HookInput,
[INFO] [stderr] 165 | | ) -> ExitInfo {
[INFO] [stderr]     | |_____________^ function `run_prompt_hook` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/service/hooks.rs:264:1
[INFO] [stderr]     |
[INFO] [stderr] 264 | struct HookInput {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `HookInput` is more private than the item `run_command_hook`
[INFO] [stderr]    --> src/service/hooks.rs:288:1
[INFO] [stderr]     |
[INFO] [stderr] 288 | / pub async fn run_command_hook(
[INFO] [stderr] 289 | |     action: &crate::config::schema::HookAction,
[INFO] [stderr] 290 | |     hook_input: &HookInput,
[INFO] [stderr] 291 | | ) -> ExitInfo {
[INFO] [stderr]     | |_____________^ function `run_command_hook` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `HookInput` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/service/hooks.rs:264:1
[INFO] [stderr]     |
[INFO] [stderr] 264 | struct HookInput {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `name` is never used
[INFO] [stderr]   --> src/command/command.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub trait Command {
[INFO] [stderr]    |           ------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 11 |     fn name(&self) -> String;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AutoUpdaterStatus` is never used
[INFO] [stderr]    --> src/config/schema.rs:128:10
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub enum AutoUpdaterStatus {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_str_lossy` is never used
[INFO] [stderr]    --> src/config/schema.rs:140:12
[INFO] [stderr]     |
[INFO] [stderr] 139 | impl AutoUpdaterStatus {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] 140 |     pub fn from_str_lossy(value: &str) -> Option<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `NotificationChannel` is never used
[INFO] [stderr]    --> src/config/schema.rs:154:10
[INFO] [stderr]     |
[INFO] [stderr] 154 | pub enum NotificationChannel {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ModelProfile` is never constructed
[INFO] [stderr]    --> src/config/schema.rs:225:12
[INFO] [stderr]     |
[INFO] [stderr] 225 | pub struct ModelProfile {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ValidationStatus` is never used
[INFO] [stderr]    --> src/config/schema.rs:249:10
[INFO] [stderr]     |
[INFO] [stderr] 249 | pub enum ValidationStatus {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ModelPointerType` is never used
[INFO] [stderr]    --> src/config/schema.rs:262:10
[INFO] [stderr]     |
[INFO] [stderr] 262 | pub enum ModelPointerType {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ModelPointers` is never constructed
[INFO] [stderr]    --> src/config/schema.rs:274:12
[INFO] [stderr]     |
[INFO] [stderr] 274 | pub struct ModelPointers {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AccountInfo` is never constructed
[INFO] [stderr]    --> src/config/schema.rs:284:12
[INFO] [stderr]     |
[INFO] [stderr] 284 | pub struct AccountInfo {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CustomApiKeyResponses` is never constructed
[INFO] [stderr]    --> src/config/schema.rs:294:12
[INFO] [stderr]     |
[INFO] [stderr] 294 | pub struct CustomApiKeyResponses {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GLOBAL_CONFIG_KEYS` is never used
[INFO] [stderr]    --> src/config/schema.rs:359:11
[INFO] [stderr]     |
[INFO] [stderr] 359 | pub const GLOBAL_CONFIG_KEYS: &[&str] = &[
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `GlobalConfigKey` is never used
[INFO] [stderr]    --> src/config/schema.rs:373:10
[INFO] [stderr]     |
[INFO] [stderr] 373 | pub type GlobalConfigKey = &'static str;
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_global_config_key` is never used
[INFO] [stderr]    --> src/config/schema.rs:375:8
[INFO] [stderr]     |
[INFO] [stderr] 375 | pub fn is_global_config_key(key: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROJECT_CONFIG_KEYS` is never used
[INFO] [stderr]    --> src/config/schema.rs:379:11
[INFO] [stderr]     |
[INFO] [stderr] 379 | pub const PROJECT_CONFIG_KEYS: &[&str] = &[
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ProjectConfigKey` is never used
[INFO] [stderr]    --> src/config/schema.rs:386:10
[INFO] [stderr]     |
[INFO] [stderr] 386 | pub type ProjectConfigKey = &'static str;
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_project_config_key` is never used
[INFO] [stderr]    --> src/config/schema.rs:388:8
[INFO] [stderr]     |
[INFO] [stderr] 388 | pub fn is_project_config_key(key: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProjectMcpServerDefinitions` is never constructed
[INFO] [stderr]    --> src/config/schema.rs:433:12
[INFO] [stderr]     |
[INFO] [stderr] 433 | pub struct ProjectMcpServerDefinitions {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `invalidate_context` is never used
[INFO] [stderr]   --> src/context/context.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn invalidate_context() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PRODUCT_NAME` is never used
[INFO] [stderr]  --> src/context/fixed_prompt.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const PRODUCT_NAME: &str = "YesBoss";
[INFO] [stderr]   |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `invalidate_system_prompt` is never used
[INFO] [stderr]   --> src/context/fixed_prompt.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn invalidate_system_prompt() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `timestamp` is never read
[INFO] [stderr]   --> src/context/system_reminder.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct ReminderMessage {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub timestamp: i64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SessionStartUp` is never constructed
[INFO] [stderr]   --> src/context/system_reminder.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub enum ReminderPayload {
[INFO] [stderr]    |          --------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 41 |     SessionStartUp,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ReminderPayload` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> src/llm1/client.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Http(reqwest::Error),
[INFO] [stderr]   |     ---- ^^^^^^^^^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]   |
[INFO] [stderr] 8 -     Http(reqwest::Error),
[INFO] [stderr] 8 +     Http(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> src/llm1/client.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Api(String),
[INFO] [stderr]   |     --- ^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `LlmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]   |
[INFO] [stderr] 9 -     Api(String),
[INFO] [stderr] 9 +     Api(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: function `chat` is never used
[INFO] [stderr]    --> src/llm1/client.rs:117:14
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub async fn chat(
[INFO] [stderr]     |              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chat_unified_messages1` is never used
[INFO] [stderr]    --> src/llm1/client.rs:136:14
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub async fn chat_unified_messages1(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chat_unified_messages` is never used
[INFO] [stderr]    --> src/llm1/client.rs:148:14
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub async fn chat_unified_messages(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `usage` is never read
[INFO] [stderr]   --> src/llm1/types.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct ChatResponse {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub usage: Option<Usage>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChatResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `finish_reason` is never read
[INFO] [stderr]   --> src/llm1/types.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct ResponseChoice {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 57 |     pub message: ResponseMessage,
[INFO] [stderr] 58 |     pub finish_reason: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResponseChoice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `role` and `content` are never read
[INFO] [stderr]   --> src/llm1/types.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct ResponseMessage {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 63 |     pub role: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 64 |     pub content: Option<String>,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResponseMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ChatResult` is never used
[INFO] [stderr]    --> src/llm1/types.rs:128:10
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub enum ChatResult {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `assistant_with_tool_calls` and `assistant_without_tool_calls` are never used
[INFO] [stderr]    --> src/llm1/types.rs:169:12
[INFO] [stderr]     |
[INFO] [stderr] 150 | impl ChatMessage {
[INFO] [stderr]     | ---------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 169 |     pub fn assistant_with_tool_calls(content: Option<String>, tool_calls: Vec<ToolCall>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `of_chat_response` is never used
[INFO] [stderr]   --> src/message/message.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl AssistantMessage {
[INFO] [stderr]    | --------------------- associated function in this implementation
[INFO] [stderr] 50 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `assistant_without_tool_calls`, `assistant_with_tool_calls`, and `of_chat_response` are never used
[INFO] [stderr]   --> src/message/message.rs:68:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl UnifiedMessage {
[INFO] [stderr]    | ------------------- associated functions in this implementation
[INFO] [stderr] 68 |     pub fn assistant_without_tool_calls(content: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn assistant_with_tool_calls(content: Option<String>, calls: Vec<ToolCall>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn of_chat_response(res: ChatResult) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `model` is never read
[INFO] [stderr]  --> src/service/agent.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct AgentConfig {
[INFO] [stderr]   |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     pub model: Option<String>,
[INFO] [stderr]   |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Error` is never constructed
[INFO] [stderr]  --> src/service/background_task.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum TaskState {
[INFO] [stderr]   |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 8 |     Error,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TaskState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_error` is never used
[INFO] [stderr]   --> src/service/background_task.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub fn set_error(id: &str, error: &str) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_access` is never read
[INFO] [stderr]  --> src/service/file_tracker.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct FileTimestamps {
[INFO] [stderr]   |        -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |     last_access: i64,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `system_messages` is never read
[INFO] [stderr]   --> src/service/hooks.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Block {
[INFO] [stderr]    |     ----- field in this variant
[INFO] [stderr] 25 |         blk_message: String,
[INFO] [stderr] 26 |         system_messages: Option<Vec<String>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `system_messages` and `ask_user` are never read
[INFO] [stderr]   --> src/service/hooks.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     NonBlock {
[INFO] [stderr]    |     -------- fields in this variant
[INFO] [stderr] 30 |         system_messages: Option<Vec<String>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 31 |         warning_message: Option<String>,
[INFO] [stderr] 32 |         ask_user: Option<bool>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `system_messages` and `warning_message` are never read
[INFO] [stderr]   --> src/service/hooks.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     NonBlock {
[INFO] [stderr]    |     -------- fields in this variant
[INFO] [stderr] 44 |         system_messages: Option<Vec<String>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 45 |         warning_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_cwd` is never used
[INFO] [stderr]   --> src/service/runtime_state.rs:80:8
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub fn set_cwd(path: PathBuf) {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_on_main` is never used
[INFO] [stderr]    --> src/service/runtime_state.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 114 | pub fn is_on_main() -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_permission_mode` is never used
[INFO] [stderr]    --> src/service/runtime_state.rs:131:8
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn set_permission_mode(mode: PermissionMode) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_messages` is never used
[INFO] [stderr]    --> src/service/runtime_state.rs:242:8
[INFO] [stderr]     |
[INFO] [stderr] 242 | pub fn clear_messages() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_last_uuid_from_jsonl` is never used
[INFO] [stderr]   --> src/service/session_storage.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn init_last_uuid_from_jsonl() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/bash/bash_tool.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct BashTool {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 36 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/file_edit_tool.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct FileEditTool {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/file_read_tool.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct FileReadTool {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 31 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/file_write_tool.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct FileWriteTool {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/glob_tool.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct GlobTool {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/grep_tool.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct GrepTool {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 68 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/task_output_tool.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct TaskOutputTool {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 40 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]    --> src/tool/task_tool.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub struct TaskTool {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 108 |     requires_user_interaction: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/test_concurrency/test_safe_tool.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct TestSafeTool {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/test_concurrency/test_unsafe_tool.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct TestUnsafeTool {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/test_hook_tool/test_danger_tool.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct TestDangerTool {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TESTOOL_JSONSCHEMA` is never used
[INFO] [stderr]  --> src/tool/test_tool.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const TESTOOL_JSONSCHEMA: &str = r#"{
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestTool` is never constructed
[INFO] [stderr]   --> src/tool/test_tool.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct TestTool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/tool/test_tool.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl TestTool {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 28 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `requires_user_interaction` is never read
[INFO] [stderr]   --> src/tool/todo_write_tool.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct TodoWriteTool {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 39 |     requires_user_interaction: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `requires_user_interaction`, `is_read_only`, and `need_user_permission` are never used
[INFO] [stderr]   --> src/tool/tool.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub trait AgentTool: Send + Sync {
[INFO] [stderr]    |           --------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 17 |     fn requires_user_interaction(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     fn is_read_only(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 21 |     fn need_user_permission(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `read_file_timestamps` is never read
[INFO] [stderr]   --> src/tool/tool.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct ToolContext {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 37 |     pub tool_use_id: String,
[INFO] [stderr] 38 |     pub read_file_timestamps: Arc<Mutex<HashMap<String, i64>>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `record_read` are never used
[INFO] [stderr]   --> src/tool/tool.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl ToolContext {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 45 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub async fn record_read(&self, path: &str) {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `COMPLETED` is never constructed
[INFO] [stderr]   --> src/tool/tool.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub enum ToolRunStatus {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 99 |     COMPLETED,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TOOL_MID` is never used
[INFO] [stderr]   --> src/ui/chat_view.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const TOOL_MID: &str = "\u{2502}";     // │
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COLOR_ASSISTANT` is never used
[INFO] [stderr]   --> src/ui/chat_view.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const COLOR_ASSISTANT: Color = Color::Rgb(226, 232, 240); // #E2E8F0 white
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COLOR_CODE_BG` is never used
[INFO] [stderr]   --> src/ui/chat_view.rs:29:7
[INFO] [stderr]    |
[INFO] [stderr] 29 | const COLOR_CODE_BG: Color = Color::Rgb(30, 41, 59);      // #1E293B dark slate
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Error` is never constructed
[INFO] [stderr]   --> src/ui/chat_view.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub enum ToolCallStatus {
[INFO] [stderr]    |          -------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 58 |     Error(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `line_count` is never used
[INFO] [stderr]   --> src/ui/chat_view.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl TurnBlock {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn line_count(&self, registry: &ToolRegistry, width: usize) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `item_at_row_mut` and `max_scroll` are never used
[INFO] [stderr]    --> src/ui/file_tree.rs:187:12
[INFO] [stderr]     |
[INFO] [stderr]  32 | impl FileTree {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn item_at_row_mut(&mut self, row: u16) -> Option<&mut TreeItem> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn max_scroll(&self, visible_height: u16) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `duration_ms` is never read
[INFO] [stderr]   --> src/utils/ripgrep.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct GrepResult {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 74 |     pub lines: Vec<String>,
[INFO] [stderr] 75 |     pub duration_ms: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `YesBoss-cli` (bin "YesBoss-cli" test) generated 85 warnings (run `cargo fix --bin "YesBoss-cli" -p YesBoss-cli --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/YesBoss_cli-c63ed0136d12ad07)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf", kill_on_drop: false }`
[INFO] [stdout] acc4bf2bd04a8ab6aee5b8d2063c4c9b78b7708f215e35124877f2b9faa425cf
