[INFO] cloning repository https://github.com/letr007/letcode
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/letr007/letcode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2996afb6ed6730749e883117a5745adfb3976b7b
[INFO] checking letr007/letcode against 656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-25
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/letr007/letcode
[INFO] finished tweaking git repo https://github.com/letr007/letcode
[INFO] tweaked toml for git repo https://github.com/letr007/letcode written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letr007/letcode on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/letr007/letcode 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" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.121
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.121
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.121
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.71
[INFO] [stderr]   Downloaded serde_spanned v0.6.9
[INFO] [stderr]   Downloaded toml_datetime v0.6.11
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.5
[INFO] [stderr]   Downloaded unicode-truncate v1.1.0
[INFO] [stderr]   Downloaded castaway v0.2.4
[INFO] [stderr]   Downloaded strum v0.26.3
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded bincode v1.3.3
[INFO] [stderr]   Downloaded simd-adler32 v0.3.9
[INFO] [stderr]   Downloaded quick-error v2.0.1
[INFO] [stderr]   Downloaded pulldown-cmark-escape v0.11.0
[INFO] [stderr]   Downloaded tonic-prost v0.14.6
[INFO] [stderr]   Downloaded unicase v2.9.0
[INFO] [stderr]   Downloaded tracing-opentelemetry v0.32.1
[INFO] [stderr]   Downloaded byteorder-lite v0.1.0
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded gethostname v1.1.0
[INFO] [stderr]   Downloaded objc2-io-surface v0.3.2
[INFO] [stderr]   Downloaded error-code v3.3.2
[INFO] [stderr]   Downloaded eventsource-stream v0.2.3
[INFO] [stderr]   Downloaded indoc v2.0.7
[INFO] [stderr]   Downloaded toml v0.8.23
[INFO] [stderr]   Downloaded strum_macros v0.26.4
[INFO] [stderr]   Downloaded cassowary v0.3.0
[INFO] [stderr]   Downloaded yaml-rust v0.4.5
[INFO] [stderr]   Downloaded wasm-streams v0.5.0
[INFO] [stderr]   Downloaded getopts v0.2.24
[INFO] [stderr]   Downloaded prost-derive v0.14.4
[INFO] [stderr]   Downloaded fdeflate v0.3.7
[INFO] [stderr]   Downloaded opentelemetry-http v0.31.0
[INFO] [stderr]   Downloaded fax v0.2.7
[INFO] [stderr]   Downloaded zune-core v0.5.1
[INFO] [stderr]   Downloaded objc2-encode v4.1.0
[INFO] [stderr]   Downloaded clipboard-win v5.4.1
[INFO] [stderr]   Downloaded plist v1.9.0
[INFO] [stderr]   Downloaded opentelemetry-langfuse v0.6.1
[INFO] [stderr]   Downloaded weezl v0.1.12
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded prost v0.14.4
[INFO] [stderr]   Downloaded bytemuck v1.25.0
[INFO] [stderr]   Downloaded dispatch2 v0.3.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.121
[INFO] [stderr]   Downloaded opentelemetry-otlp v0.31.1
[INFO] [stderr]   Downloaded arboard v3.6.1
[INFO] [stderr]   Downloaded half v2.7.1
[INFO] [stderr]   Downloaded signal-hook v0.3.18
[INFO] [stderr]   Downloaded opentelemetry v0.31.0
[INFO] [stderr]   Downloaded opentelemetry-proto v0.31.0
[INFO] [stderr]   Downloaded js-sys v0.3.98
[INFO] [stderr]   Downloaded fancy-regex v0.16.2
[INFO] [stderr]   Downloaded compact_str v0.8.1
[INFO] [stderr]   Downloaded zune-jpeg v0.5.15
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.48
[INFO] [stderr]   Downloaded objc2-core-graphics v0.3.2
[INFO] [stderr]   Downloaded tiff v0.11.3
[INFO] [stderr]   Downloaded minimal-lexical v0.2.1
[INFO] [stderr]   Downloaded mio v1.2.0
[INFO] [stderr]   Downloaded tonic v0.14.6
[INFO] [stderr]   Downloaded nom v7.1.3
[INFO] [stderr]   Downloaded reqwest v0.13.3
[INFO] [stderr]   Downloaded png v0.18.1
[INFO] [stderr]   Downloaded crossterm v0.28.1
[INFO] [stderr]   Downloaded tower-http v0.6.10
[INFO] [stderr]   Downloaded hyper v1.9.0
[INFO] [stderr]   Downloaded pulldown-cmark v0.13.4
[INFO] [stderr]   Downloaded winnow v0.7.15
[INFO] [stderr]   Downloaded objc2-core-foundation v0.3.2
[INFO] [stderr]   Downloaded quick-xml v0.39.4
[INFO] [stderr]   Downloaded moxcms v0.8.1
[INFO] [stderr]   Downloaded unicode-width v0.1.14
[INFO] [stderr]   Downloaded x11rb v0.13.2
[INFO] [stderr]   Downloaded opentelemetry_sdk v0.31.0
[INFO] [stderr]   Downloaded async-openai v0.38.2
[INFO] [stderr]   Downloaded unicode-width v0.2.0
[INFO] [stderr]   Downloaded objc2 v0.6.4
[INFO] [stderr]   Downloaded zerocopy v0.8.48
[INFO] [stderr]   Downloaded image v0.25.10
[INFO] [stderr]   Downloaded objc2-foundation v0.3.2
[INFO] [stderr]   Downloaded rustix v0.38.44
[INFO] [stderr]   Downloaded ratatui v0.29.0
[INFO] [stderr]   Downloaded x11rb-protocol v0.13.2
[INFO] [stderr]   Downloaded objc2-app-kit v0.3.2
[INFO] [stderr]   Downloaded web-sys v0.3.98
[INFO] [stderr]   Downloaded syntect v5.3.0
[INFO] [stderr]   Downloaded pxfm v0.1.29
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177
[INFO] running `Command { std: "docker" "start" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177", 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" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking tonic-prost v0.14.6
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.1
[INFO] [stderr]     Checking opentelemetry-langfuse v0.6.1
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.3
[INFO] [stderr]     Checking async-openai v0.38.2
[INFO] [stderr]     Checking letcode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `restore_session_history_projection`
[INFO] [stdout]    --> src/request_builder/tests.rs:220:39
[INFO] [stdout]     |
[INFO] [stdout] 220 |     project_session_restore_snapshot, restore_session_history_projection,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/agent/tool_execution.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut output = if is_subagent_tool_name(&call.name) {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/agent/tool_execution.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut output = if is_subagent_tool_name(&call.name) {
[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: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]    --> src/request_builder/provider_serialization.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |             function_call: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]    --> src/request_builder/provider_serialization.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         function_call: None,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]    --> src/request_builder/provider_serialization.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |             function_call: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]    --> src/request_builder/provider_serialization.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         function_call: None,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> src/tui/runtime.rs:765:17
[INFO] [stdout]     |
[INFO] [stdout] 765 |                 session_id,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evidence_count`
[INFO] [stdout]    --> src/tui/runtime.rs:769:17
[INFO] [stdout]     |
[INFO] [stdout] 769 |                 evidence_count,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: try ignoring the field: `evidence_count: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_count`
[INFO] [stdout]    --> src/tui/runtime.rs:774:21
[INFO] [stdout]     |
[INFO] [stdout] 774 |                 let message_count = messages.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/tui/runtime.rs:837:28
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 if let Err(error) = self.open_branch_dialog(branches) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> src/tui/runtime.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |                 session_id,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queued`
[INFO] [stdout]     --> src/tui/runtime.rs:1553:13
[INFO] [stdout]      |
[INFO] [stdout] 1553 |         let queued = self.queued_prompts.len();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_queued`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining`
[INFO] [stdout]     --> src/tui/runtime.rs:1575:13
[INFO] [stdout]      |
[INFO] [stdout] 1575 |         let remaining = self.queued_prompts.len().saturating_sub(1);
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]     --> src/tui/runtime.rs:1713:20
[INFO] [stdout]      |
[INFO] [stdout] 1713 |         if let Err(error) = prefs.save_to_dir(&self.preferences_dir) {
[INFO] [stdout]      |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]     --> src/tui/runtime.rs:1738:20
[INFO] [stdout]      |
[INFO] [stdout] 1738 |         if let Err(error) = prefs.save_to_dir(&self.preferences_dir) {
[INFO] [stdout]      |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context_experiment_restore_point` is never read
[INFO] [stdout]    --> src/agent.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct Agent<C: Config> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 442 |     context_experiment_restore_point: Option<ContextExperimentRestorePoint>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scope`, `protocol_frames`, and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 452 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 453 |     scope: ActiveContextExperiment,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 454 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 455 |     runtime_snapshot: RuntimeSnapshot,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContextExperimentRestorePoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_child` is never used
[INFO] [stdout]    --> src/agent.rs:459:12
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl AgentFactory {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 459 |     pub fn create_child<C: Config + Clone>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/agent.rs:750:12
[INFO] [stdout]      |
[INFO] [stdout]  522 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  750 |     pub fn set_logical_checkpoint_config(&mut self, config: LogicalCheckpointConfig) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  754 |     pub fn logical_checkpoint_control(&self) -> LogicalCheckpointControl {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  758 |     pub fn request_logical_checkpoint(&self) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  762 |     pub(crate) fn clear_logical_checkpoint_request(&self) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  889 |     pub fn tool_scope(&self) -> ToolScope {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  893 |     pub(crate) fn max_tool_calls_limit(&self) -> Option<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  970 |     pub fn restore_session_context(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  987 |     pub fn restore_session_history(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1169 |     pub(crate) fn set_logical_checkpoint_candidate_provider(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1305 |     fn replace_runtime_snapshot_from_provider(&mut self) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1334 |     pub(super) fn history_items(&self) -> Vec<HistoryItem> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub(super) fn replace_history(&mut self, history: Vec<HistoryItem>) -> Result<()> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1379 |     fn apply_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1398 |     fn prepare_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1578 |     fn sync_protocol_caches_from_runtime_snapshot(&mut self) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1917 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2171 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2222 |     pub async fn compact_session_async<E, Efut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2250 |     async fn run_oai_comp_stream_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2277 |     fn prune_old_tool_outputs(&mut self, preserve_recent_budget: u64) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2284 |     fn prepare_turn_prelude(&mut self, user_input: &str) -> Vec<PromptMessage> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3025:4
[INFO] [stdout]      |
[INFO] [stdout] 3025 | fn required_tool_output_string(output: &ToolResult, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3042:4
[INFO] [stdout]      |
[INFO] [stdout] 3042 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4007:4
[INFO] [stdout]      |
[INFO] [stdout] 4007 | fn is_workflow_control_tool(tool_name: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tool_call_name_index` is never used
[INFO] [stdout]     --> src/agent.rs:4371:4
[INFO] [stdout]      |
[INFO] [stdout] 4371 | fn build_tool_call_name_index(history: &[HistoryItem]) -> HashMap<String, String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LogicalCheckpointRequestOutcome` is never used
[INFO] [stdout]  --> src/agent/checkpoint_control.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum LogicalCheckpointRequestOutcome {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pending` and `InFlight` are never constructed
[INFO] [stdout]   --> src/agent/checkpoint_control.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(super) enum LogicalCheckpointRequestState {
[INFO] [stdout]    |                 ----------------------------- variants in this enum
[INFO] [stdout] 13 |     Idle,
[INFO] [stdout] 14 |     Pending(LogicalCheckpointRequestOwner),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     InFlight(LogicalCheckpointRequestOwner),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogicalCheckpointRequestState` 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: variants `Manual` and `Automatic` are never constructed
[INFO] [stdout]   --> src/agent/checkpoint_control.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum LogicalCheckpointRequestOwner {
[INFO] [stdout]    |                 ----------------------------- variants in this enum
[INFO] [stdout] 20 |     Manual,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     Automatic { boundary_id: u64 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogicalCheckpointRequestOwner` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicalCheckpointLease` is never constructed
[INFO] [stdout]   --> src/agent/checkpoint_control.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct LogicalCheckpointLease {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled`, `active_run_id`, `next_run_id`, `next_request_id`, and `automatic_enabled` are never read
[INFO] [stdout]   --> src/agent/checkpoint_control.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(super) struct LogicalCheckpointControlState {
[INFO] [stdout]    |                   ----------------------------- fields in this struct
[INFO] [stdout] 38 |     pub(super) enabled: bool,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(super) active_run_id: Option<u64>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub(super) next_run_id: u64,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 43 |     pub(super) next_request_id: u64,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     pub(super) request_id: Option<u64>,
[INFO] [stdout] 45 |     pub(super) automatic_enabled: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogicalCheckpointControlState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/agent/checkpoint_control.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl LogicalCheckpointControl {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn request(&self) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub(super) fn request_automatic(&self, boundary_id: u64) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn next_request_id(state: &mut LogicalCheckpointControlState) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(super) fn take_pending(&self) -> Option<LogicalCheckpointLease> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub(super) fn clear_lease(&self, lease: LogicalCheckpointLease) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub(super) fn begin_run(&self) -> LogicalCheckpointRunGuard {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub(super) fn set_config(&self, config: LogicalCheckpointConfig) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub(super) fn set_enabled(&self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicalCheckpointRunGuard` is never constructed
[INFO] [stdout]    --> src/agent/checkpoint_control.rs:234:19
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub(crate) struct LogicalCheckpointRunGuard {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prune_old_tool_outputs` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:353:15
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub(super) fn prune_old_tool_outputs<C: Config>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_skill_tool_name` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1057:4
[INFO] [stdout]      |
[INFO] [stdout] 1057 | fn is_skill_tool_name(name: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_preserve_recent_budget` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1320:15
[INFO] [stdout]      |
[INFO] [stdout] 1320 | pub(super) fn default_preserve_recent_budget(input_budget: u64) -> u64 {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trigger` is never read
[INFO] [stdout]    --> src/agent/events.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     ContextCompactionStarted {
[INFO] [stdout]     |     ------------------------ field in this variant
[INFO] [stdout] 477 |         trigger: CompactionTrigger,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trigger` is never read
[INFO] [stdout]    --> src/agent/events.rs:483:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |     ContextCompactionFailed {
[INFO] [stdout]     |     ----------------------- field in this variant
[INFO] [stdout] 483 |         trigger: CompactionTrigger,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentEvent` 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: variant `LogicalCheckpoint` is never constructed
[INFO] [stdout]    --> src/agent/events.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub enum AgentEvent {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 559 |     LogicalCheckpoint {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommittedLogicalCheckpoint` is never constructed
[INFO] [stdout]  --> src/agent/logical_checkpoint.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(super) struct CommittedLogicalCheckpoint {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `commit_pending_at_batch_boundary` is never used
[INFO] [stdout]   --> src/agent/logical_checkpoint.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(super) async fn commit_pending_at_batch_boundary<C, E, Efut>(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `commit_pending_at_boundary_with_automatic_token` is never used
[INFO] [stdout]   --> src/agent/logical_checkpoint.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(super) async fn commit_pending_at_boundary_with_automatic_token<C, E, Efut>(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `commit_pending` is never used
[INFO] [stdout]   --> src/agent/logical_checkpoint.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | async fn commit_pending<C, E, Efut>(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedCheckpointEnvelope` is never constructed
[INFO] [stdout]    --> src/agent/logical_checkpoint.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct PreparedCheckpointEnvelope {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_candidate` is never used
[INFO] [stdout]    --> src/agent/logical_checkpoint.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn validate_candidate<C: Config>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ReplaceScope` is never constructed
[INFO] [stdout]   --> src/agent_event_journal.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ContextProjection {
[INFO] [stdout]    |          ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     ReplaceScope,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextProjection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logical_checkpoint` is never read
[INFO] [stdout]    --> src/config.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct GlobalConfig {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub logical_checkpoint: LogicalCheckpointConfig,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalConfig` 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: constant `DEFAULT_LIST_LIMIT` is never used
[INFO] [stdout]   --> src/context_tools.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const DEFAULT_LIST_LIMIT: usize = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LIST_LIMIT` is never used
[INFO] [stdout]   --> src/context_tools.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const MAX_LIST_LIMIT: usize = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_OPEN_MAX_BYTES` is never used
[INFO] [stdout]   --> src/context_tools.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const DEFAULT_OPEN_MAX_BYTES: usize = 2048;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_OPEN_MAX_BYTES` is never used
[INFO] [stdout]   --> src/context_tools.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const MAX_OPEN_MAX_BYTES: usize = 16 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_GREP_CONTEXT_LINES` is never used
[INFO] [stdout]   --> src/context_tools.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const DEFAULT_GREP_CONTEXT_LINES: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GREP_CONTEXT_LINES` is never used
[INFO] [stdout]   --> src/context_tools.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const MAX_GREP_CONTEXT_LINES: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_GREP_MAX_MATCHES` is never used
[INFO] [stdout]   --> src/context_tools.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const DEFAULT_GREP_MAX_MATCHES: usize = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GREP_MAX_MATCHES` is never used
[INFO] [stdout]   --> src/context_tools.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const MAX_GREP_MAX_MATCHES: usize = 50;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GREP_LINE_CHARS` is never used
[INFO] [stdout]   --> src/context_tools.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const MAX_GREP_LINE_CHARS: usize = 2048;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_QUERY_CHARS` is never used
[INFO] [stdout]   --> src/context_tools.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const MAX_QUERY_CHARS: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ID_CHARS` is never used
[INFO] [stdout]   --> src/context_tools.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const MAX_ID_CHARS: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SUMMARY_CHARS` is never used
[INFO] [stdout]   --> src/context_tools.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const MAX_SUMMARY_CHARS: usize = 4000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ARTIFACT_KIND_CHARS` is never used
[INFO] [stdout]   --> src/context_tools.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const MAX_ARTIFACT_KIND_CHARS: usize = 64;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `register_context_tools` is never used
[INFO] [stdout]   --> src/context_tools.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) fn register_context_tools(registry: &mut ToolRegistry) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextListTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct ContextListTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextSearchTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ContextSearchTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextGrepTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct ContextGrepTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextOpenTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct ContextOpenTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextSummarizeTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct ContextSummarizeTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextPinTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct ContextPinTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextArchiveTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct ContextArchiveTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextRemoveTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct ContextRemoveTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextResolveTool` is never constructed
[INFO] [stdout]   --> src/context_tools.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct ContextResolveTool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_mutation_schema` is never used
[INFO] [stdout]    --> src/context_tools.rs:837:4
[INFO] [stdout]     |
[INFO] [stdout] 837 | fn block_mutation_schema() -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_block_operation` is never used
[INFO] [stdout]    --> src/context_tools.rs:846:4
[INFO] [stdout]     |
[INFO] [stdout] 846 | fn validate_block_operation(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_projection` is never used
[INFO] [stdout]    --> src/context_tools.rs:883:4
[INFO] [stdout]     |
[INFO] [stdout] 883 | fn require_projection(context: &ToolExecutionContext) -> Result<Arc<ContextViewProjection>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_context_tree` is never used
[INFO] [stdout]    --> src/context_tools.rs:889:4
[INFO] [stdout]     |
[INFO] [stdout] 889 | fn require_context_tree(context: &ToolExecutionContext) -> Result<Arc<ContextTreeState>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_runtime_snapshot` is never used
[INFO] [stdout]    --> src/context_tools.rs:895:4
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn require_runtime_snapshot(context: &ToolExecutionContext) -> Result<Arc<RuntimeSnapshot>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_limit` is never used
[INFO] [stdout]    --> src/context_tools.rs:902:4
[INFO] [stdout]     |
[INFO] [stdout] 902 | fn parse_limit(args: &Value, default: usize) -> Result<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_max_bytes` is never used
[INFO] [stdout]    --> src/context_tools.rs:919:4
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn parse_max_bytes(args: &Value) -> Result<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_nullable_usize` is never used
[INFO] [stdout]    --> src/context_tools.rs:936:4
[INFO] [stdout]     |
[INFO] [stdout] 936 | fn parse_nullable_usize(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_trimmed_string` is never used
[INFO] [stdout]    --> src/context_tools.rs:959:4
[INFO] [stdout]     |
[INFO] [stdout] 959 | fn required_trimmed_string(args: &Value, field: &str, max_chars: usize) -> Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_trimmed_string` is never used
[INFO] [stdout]    --> src/context_tools.rs:973:4
[INFO] [stdout]     |
[INFO] [stdout] 973 | fn optional_trimmed_string(args: &Value, field: &str, max_chars: usize) -> Result<Option<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_blocks` is never used
[INFO] [stdout]    --> src/context_tools.rs:992:4
[INFO] [stdout]     |
[INFO] [stdout] 992 | fn sorted_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_visible_for_listing` is never used
[INFO] [stdout]     --> src/context_tools.rs:1011:4
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn block_visible_for_listing(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `node_visible_for_listing` is never used
[INFO] [stdout]     --> src/context_tools.rs:1029:4
[INFO] [stdout]      |
[INFO] [stdout] 1029 | fn node_visible_for_listing(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_node_source` is never used
[INFO] [stdout]     --> src/context_tools.rs:1055:4
[INFO] [stdout]      |
[INFO] [stdout] 1055 | fn validate_node_source(snapshot: &RuntimeSnapshot, node: &ContextNodeRecord) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_status_string` is never used
[INFO] [stdout]     --> src/context_tools.rs:1101:4
[INFO] [stdout]      |
[INFO] [stdout] 1101 | fn block_status_string(projection: &ContextViewProjection, block_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_ref_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1117:4
[INFO] [stdout]      |
[INFO] [stdout] 1117 | fn block_ref_json(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `node_ref_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1134:4
[INFO] [stdout]      |
[INFO] [stdout] 1134 | fn node_ref_json(tree: &ContextTreeState, node: &ContextNodeRecord) -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_node_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1149:4
[INFO] [stdout]      |
[INFO] [stdout] 1149 | fn open_node_json(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_node_referenced_block_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1201:4
[INFO] [stdout]      |
[INFO] [stdout] 1201 | fn open_node_referenced_block_json(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_block_openable` is never used
[INFO] [stdout]     --> src/context_tools.rs:1232:4
[INFO] [stdout]      |
[INFO] [stdout] 1232 | fn ensure_block_openable(projection: &ContextViewProjection, block_id: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_ref_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1252:4
[INFO] [stdout]      |
[INFO] [stdout] 1252 | fn folded_output_ref_json(metadata: &FoldedOutputMetadata) -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `summary_ref_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1266:4
[INFO] [stdout]      |
[INFO] [stdout] 1266 | fn summary_ref_json(artifact: &crate::context_view::SummaryArtifact) -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_match_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1281:4
[INFO] [stdout]      |
[INFO] [stdout] 1281 | fn folded_output_match_json(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_block_for_output` is never used
[INFO] [stdout]     --> src/context_tools.rs:1306:4
[INFO] [stdout]      |
[INFO] [stdout] 1306 | fn folded_block_for_output<'a>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_match_bounds` is never used
[INFO] [stdout]     --> src/context_tools.rs:1315:4
[INFO] [stdout]      |
[INFO] [stdout] 1315 | fn line_match_bounds(line: &str, query: &str, case_sensitive: bool) -> Option<(usize, usize)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grep_line_json` is never used
[INFO] [stdout]     --> src/context_tools.rs:1324:4
[INFO] [stdout]      |
[INFO] [stdout] 1324 | fn grep_line_json(index: usize, text: &str, bounds: Option<(usize, usize)>) -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded_grep_line_text` is never used
[INFO] [stdout]     --> src/context_tools.rs:1337:4
[INFO] [stdout]      |
[INFO] [stdout] 1337 | fn bounded_grep_line_text(text: &str, bounds: Option<(usize, usize)>) -> (String, bool) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_grep_match_groups` is never used
[INFO] [stdout]     --> src/context_tools.rs:1374:4
[INFO] [stdout]      |
[INFO] [stdout] 1374 | fn build_grep_match_groups(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_kind_label` is never used
[INFO] [stdout]     --> src/context_tools.rs:1432:4
[INFO] [stdout]      |
[INFO] [stdout] 1432 | fn context_block_kind_label(kind: ContextBlockKind) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_retention_label` is never used
[INFO] [stdout]     --> src/context_tools.rs:1447:4
[INFO] [stdout]      |
[INFO] [stdout] 1447 | fn context_block_retention_label(retention: ContextBlockRetention) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `node_status_label` is never used
[INFO] [stdout]     --> src/context_tools.rs:1456:4
[INFO] [stdout]      |
[INFO] [stdout] 1456 | fn node_status_label(status: &ContextNodeStatus) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_source_ref` is never used
[INFO] [stdout]     --> src/context_tools.rs:1464:4
[INFO] [stdout]      |
[INFO] [stdout] 1464 | fn format_source_ref(source_ref: &crate::context_tree::ContextSourceRef) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_block_source` is never used
[INFO] [stdout]     --> src/context_tools.rs:1471:4
[INFO] [stdout]      |
[INFO] [stdout] 1471 | fn format_block_source(source: &ContextBlockSource) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_status` is never used
[INFO] [stdout]     --> src/context_tools.rs:1482:4
[INFO] [stdout]      |
[INFO] [stdout] 1482 | fn folded_status(metadata: &FoldedOutputMetadata) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_summary_version` is never used
[INFO] [stdout]     --> src/context_tools.rs:1491:4
[INFO] [stdout]      |
[INFO] [stdout] 1491 | fn next_summary_version(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_summary_version` is never used
[INFO] [stdout]     --> src/context_tools.rs:1506:4
[INFO] [stdout]      |
[INFO] [stdout] 1506 | fn parse_summary_version(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `truncate` is never used
[INFO] [stdout]     --> src/context_tools.rs:1526:4
[INFO] [stdout]      |
[INFO] [stdout] 1526 | fn truncate(text: &str, max_chars: usize) -> String {
[INFO] [stdout]      |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `node_count` is never used
[INFO] [stdout]    --> src/context_tree.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl ContextTreeState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub(crate) fn node_count(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `replay` is never used
[INFO] [stdout]    --> src/context_view.rs:161:19
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl ContextViewState {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 161 |     pub(crate) fn replay(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_summary_artifacts_for_node`, `provider_compacted_block_ids`, and `provider_compacted_folded_outputs` are never used
[INFO] [stdout]    --> src/context_view.rs:475:19
[INFO] [stdout]     |
[INFO] [stdout] 434 | impl ContextViewProjection {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub(crate) fn list_summary_artifacts_for_node(&self, node_id: &str) -> Vec<&SummaryArtifact> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub(crate) fn provider_compacted_block_ids(&self) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 651 |     pub(crate) fn provider_compacted_folded_outputs(&self) -> Vec<&FoldedOutputMetadata> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_context_view` is never used
[INFO] [stdout]    --> src/context_view.rs:702:15
[INFO] [stdout]     |
[INFO] [stdout] 702 | pub(crate) fn project_context_view(records: &[TranscriptRecord]) -> Result<ContextViewProjection> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheMetadataProjection` is never constructed
[INFO] [stdout]   --> src/langfuse_trace.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct CacheMetadataProjection {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cache_metadata_projection` is never used
[INFO] [stdout]   --> src/langfuse_trace.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn cache_metadata_projection(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_request_budget` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub fn record_llm_request_budget(span: &Span, budget: &BudgetReport) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_prompt_plan` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn record_llm_prompt_plan(span: &Span, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:462:8
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub fn record_llm_cache_metadata(span: &Span, cache: &CacheUsageReport, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn record_llm_usage(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata_actual_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:842:4
[INFO] [stdout]     |
[INFO] [stdout] 842 | fn record_llm_cache_metadata_actual_usage(span: &Span, cache: &CacheUsageReport) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check` and `check_with_directive` are never used
[INFO] [stdout]    --> src/permission.rs:386:12
[INFO] [stdout]     |
[INFO] [stdout] 377 | impl PermissionPolicy {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn check(&self, tool: &str, args: &Value) -> PermissionDecision {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn check_with_directive(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restricted_by_directive` is never used
[INFO] [stdout]    --> src/permission.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub fn restricted_by_directive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]    --> src/request_builder.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub(crate) enum LogicalRequestUnitCategory {
[INFO] [stdout]     |                 -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 452 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LogicalRequestUnitCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request` is never used
[INFO] [stdout]    --> src/request_builder.rs:668:8
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub fn build_request(input: RequestBuilderInput<'_>) -> Result<BuildResult> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request_with_frozen` is never used
[INFO] [stdout]    --> src/request_builder.rs:680:15
[INFO] [stdout]     |
[INFO] [stdout] 680 | pub(crate) fn build_request_with_frozen(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_frame_kind` is never used
[INFO] [stdout]    --> src/request_builder.rs:773:4
[INFO] [stdout]     |
[INFO] [stdout] 773 | fn runtime_frame_kind(item: &ProtocolFrameItem) -> RuntimeFrameKind {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_view_history_adapter` is never used
[INFO] [stdout]    --> src/request_builder.rs:917:15
[INFO] [stdout]     |
[INFO] [stdout] 917 | pub(crate) fn context_view_history_adapter(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assemble_context_view_sections` is never used
[INFO] [stdout]    --> src/request_builder.rs:945:4
[INFO] [stdout]     |
[INFO] [stdout] 945 | fn assemble_context_view_sections(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `canonical_cache_input` is never used
[INFO] [stdout]     --> src/request_builder.rs:1053:15
[INFO] [stdout]      |
[INFO] [stdout] 1053 | pub(crate) fn canonical_cache_input(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `canonical_bytes` is never used
[INFO] [stdout]     --> src/request_builder.rs:1071:4
[INFO] [stdout]      |
[INFO] [stdout] 1071 | fn canonical_bytes(value: &Value) -> Vec<u8> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_view_history_adapter` is never used
[INFO] [stdout]   --> src/request_builder/context_view_adapter.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(super) fn context_view_history_adapter(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_opened` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn is_opened(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_status` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn view_status(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_normally_visible` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:167:4
[INFO] [stdout]     |
[INFO] [stdout] 167 | fn is_normally_visible(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_resolved` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn is_resolved(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pinned_visible` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn is_pinned_visible(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `include_in_context_index` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn include_in_context_index(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_context_blocks` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn sorted_context_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_protected_tail_section` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn build_protected_tail_section(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_history_item_line` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn format_history_item_line(item: &HistoryItem) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_context_block_line` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:271:4
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn format_context_block_line(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_protected_context_block_line` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn format_protected_context_block_line(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_summary_artifact` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn format_summary_artifact(artifact: &crate::context_view::SummaryArtifact) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_folded_placeholder` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:350:4
[INFO] [stdout]     |
[INFO] [stdout] 350 | fn format_folded_placeholder(metadata: &FoldedOutputMetadata) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_block_source` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:370:4
[INFO] [stdout]     |
[INFO] [stdout] 370 | fn format_block_source(source: &ContextBlockSource) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_kind_label` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn context_block_kind_label(kind: ContextBlockKind) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_retention_label` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:396:4
[INFO] [stdout]     |
[INFO] [stdout] 396 | fn context_block_retention_label(retention: ContextBlockRetention) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protected_reason_label` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:405:4
[INFO] [stdout]     |
[INFO] [stdout] 405 | fn protected_reason_label(reason: ProtectedReason) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_status` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn folded_status(metadata: &FoldedOutputMetadata) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `excerpt` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn excerpt(text: &str, max_chars: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry_delay_from_headers` is never used
[INFO] [stdout]    --> src/retry.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn retry_delay_from_headers(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry_after_delay_ms` is never used
[INFO] [stdout]    --> src/retry.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) fn retry_after_delay_ms(headers: &HeaderMap) -> Option<u64> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_explorer`, `run_explorer_governed`, `run_fixer`, and `run_fixer_governed` are never used
[INFO] [stdout]    --> src/subagent.rs:287:18
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl SubagentPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn run_explorer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub async fn run_explorer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub async fn run_fixer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub async fn run_fixer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]     --> src/subagent.rs:1010:4
[INFO] [stdout]      |
[INFO] [stdout] 1010 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_context_view`, `with_context_snapshots`, and `with_runtime_snapshot` are never used
[INFO] [stdout]    --> src/tool.rs:505:12
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl ToolExecutionContext {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn with_context_view(context_view: Arc<ContextViewProjection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn with_context_snapshots(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn with_runtime_snapshot(runtime_snapshot: Arc<RuntimeSnapshot>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_journal_frontier`, `expected_branch_id`, `event`, `projected_snapshot`, `projected_protocol_frames`, and `projected_workflow` are never read
[INFO] [stdout]    --> src/transcript.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) struct PreparedLogicalCheckpoint {
[INFO] [stdout]     |                   ------------------------- fields in this struct
[INFO] [stdout] 129 |     pub expected_journal_frontier: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 |     pub expected_branch_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub event: LogicalCheckpointEventV1,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 132 |     pub projected_snapshot: RuntimeSnapshot,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     pub projected_protocol_frames: Vec<ProtocolFrame>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     pub projected_workflow: Option<CheckpointWorkflowProjection>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PreparedLogicalCheckpoint` 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: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:413:12
[INFO] [stdout]      |
[INFO] [stdout]  287 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  413 |     pub fn record_context_branch_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  428 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  441 |     pub fn record_context_checkout(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  452 |     pub fn record_context_experiment_returned(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  473 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  492 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  496 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  525 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  529 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  533 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  537 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  630 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  715 |     pub fn record_subagent_result(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  787 |     pub fn record_subagent_reconciliation(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1049 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1198 |     pub fn record_logical_checkpoint(&mut self, event: LogicalCheckpointEventV1) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1206 |     pub(crate) fn prepare_logical_checkpoint(&self) -> Result<PreparedLogicalCheckpoint> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1677 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_child_session_summaries` is never used
[INFO] [stdout]     --> src/transcript.rs:2377:8
[INFO] [stdout]      |
[INFO] [stdout] 2377 | pub fn sort_child_session_summaries(children: &mut [ChildSessionSummary]) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_child_session_records` is never used
[INFO] [stdout]     --> src/transcript.rs:2471:8
[INFO] [stdout]      |
[INFO] [stdout] 2471 | pub fn read_child_session_records(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_history` is never used
[INFO] [stdout]     --> src/transcript.rs:2498:8
[INFO] [stdout]      |
[INFO] [stdout] 2498 | pub fn restore_session_history(records: &[TranscriptRecord]) -> Result<Vec<HistoryItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_protocol_frames` is never used
[INFO] [stdout]     --> src/transcript.rs:2505:15
[INFO] [stdout]      |
[INFO] [stdout] 2505 | pub(crate) fn restore_session_protocol_frames(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_runtime_snapshot` is never used
[INFO] [stdout]     --> src/transcript.rs:2511:15
[INFO] [stdout]      |
[INFO] [stdout] 2511 | pub(crate) fn restore_runtime_snapshot(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_compacted_conversation_messages` is never used
[INFO] [stdout]     --> src/transcript.rs:2530:8
[INFO] [stdout]      |
[INFO] [stdout] 2530 | pub fn restore_compacted_conversation_messages(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_conversation_messages` is never used
[INFO] [stdout]     --> src/transcript.rs:2539:8
[INFO] [stdout]      |
[INFO] [stdout] 2539 | pub fn restore_conversation_messages(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_evidence` is never used
[INFO] [stdout]     --> src/transcript.rs:2549:8
[INFO] [stdout]      |
[INFO] [stdout] 2549 | pub fn restore_session_evidence(records: &[TranscriptRecord]) -> Result<Vec<EvidenceRecord>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_max_turn_id` is never used
[INFO] [stdout]     --> src/transcript.rs:2585:8
[INFO] [stdout]      |
[INFO] [stdout] 2585 | pub fn restore_max_turn_id(records: &[TranscriptRecord]) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/transcript/transcript_projection.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ---------------------- fields in this struct
[INFO] [stdout] 91 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub records: Vec<TranscriptRecord>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 95 |     pub messages: Vec<ConversationMessage>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 96 |     pub history: Vec<HistoryItem>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 97 |     pub evidence: Vec<EvidenceRecord>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 98 |     pub latest_model: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 99 |     pub max_turn_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionRestoreSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `leaf_sequence` is never read
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(crate) struct RuntimeRestoreSnapshot {
[INFO] [stdout]     |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub leaf_sequence: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeRestoreSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evidence_count` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl SessionRestoreSnapshot {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 115 |     pub(crate) fn evidence_count(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_session_restore_snapshot` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn project_session_restore_snapshot(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_context_view` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) fn project_context_view(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_protocol_frames_projection` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:295:15
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub(crate) fn restore_session_protocol_frames_projection(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_successful_compactions` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:642:15
[INFO] [stdout]     |
[INFO] [stdout] 642 | pub(crate) fn validate_successful_compactions(records: &[TranscriptRecord]) -> anyhow::Result<()> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_context_projection_events` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:669:15
[INFO] [stdout]     |
[INFO] [stdout] 669 | pub(crate) fn validate_context_projection_events(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_context_compaction_event` is never used
[INFO] [stdout]     --> src/transcript/transcript_projection.rs:1094:15
[INFO] [stdout]      |
[INFO] [stdout] 1094 | pub(crate) fn validate_context_compaction_event(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_logical_checkpoint_candidate` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:155:15
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub(crate) fn prepare_logical_checkpoint_candidate(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkpoint_retained_items` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn checkpoint_retained_items(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoveredCallGroup` is never constructed
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:569:19
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub(super) struct CoveredCallGroup {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `covered_call_groups` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn covered_call_groups(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `native_event_segments` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn native_event_segments(records: &[TranscriptRecord]) -> BTreeMap<u64, (u64, u64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_current_fact_provenance` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:657:15
[INFO] [stdout]     |
[INFO] [stdout] 657 | pub(super) fn validate_current_fact_provenance<'a>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_workflow_item` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:743:4
[INFO] [stdout]     |
[INFO] [stdout] 743 | fn current_workflow_item(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_logical_checkpoints` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:841:4
[INFO] [stdout]     |
[INFO] [stdout] 841 | fn validate_logical_checkpoints(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_row_count` is never used
[INFO] [stdout]   --> src/tui/components/composer.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn composer_row_count(input: &str, width: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_cursor_position` is never used
[INFO] [stdout]   --> src/tui/components/composer.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn composer_cursor_position(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_metrics` is never used
[INFO] [stdout]   --> src/tui/components/composer.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn composer_metrics(input: &str, width: usize, cursor_byte_index: usize) -> ComposerMetrics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix_channel` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | fn mix_channel(from: u8, to: u8, mix_percent: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tool_card_lines` is never used
[INFO] [stdout]    --> src/tui/components/tool_card.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn render_tool_card_lines(tool: &ToolView, theme: Theme, width: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `visible_transcript_lines` is never used
[INFO] [stdout]    --> src/tui/components/transcript.rs:187:4
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn visible_transcript_lines(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcript_lines` is never used
[INFO] [stdout]    --> src/tui/components/transcript.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn transcript_lines(state: &TuiState, theme: Theme, width: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element_muted_style` is never used
[INFO] [stdout]     --> src/tui/components/transcript.rs:1231:4
[INFO] [stdout]      |
[INFO] [stdout] 1231 | fn element_muted_style(theme: Theme) -> ratatui::style::Style {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/tui/events.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl AppEvent {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 83 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl TokenUsageEvent {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 129 |     pub fn new(used_tokens: u64, context_window_tokens: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `queued`, `text`, and `attachments` are never used
[INFO] [stdout]    --> src/tui/events.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 165 |     pub fn new(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn queued(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn attachments(&self) -> &[UserImageAttachment] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_message_id` is never used
[INFO] [stdout]    --> src/tui/events.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl AssistantDeltaEvent {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn with_message_id(message_id: impl Into<String>, delta: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Success` and `RecoverableError` are never constructed
[INFO] [stdout]    --> src/tui/events.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub enum NoticeKind {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 266 |     Info,
[INFO] [stdout] 267 |     Success,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 268 |     RecoverableError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NoticeKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `recoverable_error` are never used
[INFO] [stdout]    --> src/tui/events.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl NoticeEvent {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn success(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn recoverable_error(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl ProcessIssueEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 300 |     pub fn new(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl ToolStartedEvent {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 318 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 384 | impl ToolFinishedEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 385 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `approved` is never used
[INFO] [stdout]    --> src/tui/events.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl PermissionResolutionEvent {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 446 |     pub fn approved(call_id: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MouseClick` is never constructed
[INFO] [stdout]   --> src/tui/input.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum InputAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     MouseClick,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_at_bottom` is never used
[INFO] [stdout]   --> src/tui/measure.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn is_at_bottom(total_rows: usize, viewport_rows: u16, scroll_offset: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cursor_visual_position` is never used
[INFO] [stdout]    --> src/tui/measure.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn cursor_visual_position(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `end_cursor_visual_position` is never used
[INFO] [stdout]    --> src/tui/measure.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub fn end_cursor_visual_position(text: &str, width: usize) -> CursorVisualPosition {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_to_char_boundary` is never used
[INFO] [stdout]    --> src/tui/measure.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn clamp_to_char_boundary(text: &str, index: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolPresentationContext` is never constructed
[INFO] [stdout]   --> src/tui/presentation.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ToolPresentationContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `summary` are never used
[INFO] [stdout]   --> src/tui/presentation.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ToolPresentationContext {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(name: impl Into<String>, status: ToolPresentationStatus) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn summary(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tool_presentation` is never used
[INFO] [stdout]   --> src/tui/presentation.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl PresentationPolicy {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 76 |     pub fn tool_presentation(&self, context: &ToolPresentationContext) -> ToolPresentation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_quiet_success` is never used
[INFO] [stdout]    --> src/tui/presentation.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn is_quiet_success(context: &ToolPresentationContext) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tui/runner.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub enum RunnerEvent {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 195 |     ContextTreeUpdated(ContextTreeUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 |     ContextViewUpdated(ContextViewUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 197 |     ContextDetailOpened(ContextDetailOpenedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 |     FoldedOutputsUpdated(FoldedOutputsUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 |     ContextSummaryUpdated(ContextSummaryUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     McpDiscoveryUnavailable(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     ContextBranchChanged {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunnerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `subagent_event_sender`, `new`, `silent_with_transcript`, and `run_internal_prompt` are never used
[INFO] [stdout]    --> src/tui/runner.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 406 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 407 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn new(event_tx: RunnerEventSender) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub async fn run_internal_prompt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_context_window` are never used
[INFO] [stdout]    --> src/tui/runtime.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl AvailableModel {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 134 |     pub fn new(id: impl Into<String>, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn with_context_window(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopDrawer` is never constructed
[INFO] [stdout]    --> src/tui/runtime.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct NoopDrawer;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state_mut`, `submitted_prompts`, `pending_permission_handle`, `into_state`, `pending_permission_belongs_to_parent`, and `run` are never used
[INFO] [stdout]     --> src/tui/runtime.rs:315:12
[INFO] [stdout]      |
[INFO] [stdout]  283 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  315 |     pub fn state_mut(&mut self) -> &mut TuiState {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  323 |     pub fn submitted_prompts(&self) -> &[String] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  327 |     pub fn pending_permission_handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  569 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  952 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1380 |     pub fn run<D: RuntimeDrawer>(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_session_id` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2719:4
[INFO] [stdout]      |
[INFO] [stdout] 2719 | fn short_session_id(session_id: &str) -> &str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2763:8
[INFO] [stdout]      |
[INFO] [stdout] 2758 | impl LocalToolOutputMode {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2763 |     fn label(self) -> &'static str {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_context_snapshot` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2795:4
[INFO] [stdout]      |
[INFO] [stdout] 2795 | fn active_context_snapshot(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_dialog_items` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2854:4
[INFO] [stdout]      |
[INFO] [stdout] 2854 | fn context_dialog_items(context: &super::state::ContextPaneState) -> Vec<DialogItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_detail_dialog` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2974:4
[INFO] [stdout]      |
[INFO] [stdout] 2974 | fn context_detail_dialog(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_visible` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3089:4
[INFO] [stdout]      |
[INFO] [stdout] 3089 | fn folded_output_visible(context: &super::state::ContextPaneState, output_id: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_depth` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3099:4
[INFO] [stdout]      |
[INFO] [stdout] 3099 | fn context_node_depth(tree: &crate::context_tree::ContextTreeState, node_id: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_status_labels` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3117:4
[INFO] [stdout]      |
[INFO] [stdout] 3117 | fn context_block_status_labels(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_source_label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3144:4
[INFO] [stdout]      |
[INFO] [stdout] 3144 | fn block_source_label(block: &crate::context_view::ContextBlock) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_detail_lines` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3152:4
[INFO] [stdout]      |
[INFO] [stdout] 3152 | fn context_block_detail_lines(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_detail_lines` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3183:4
[INFO] [stdout]      |
[INFO] [stdout] 3183 | fn folded_output_detail_lines(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `truncate_dialog_text` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3199:4
[INFO] [stdout]      |
[INFO] [stdout] 3199 | fn truncate_dialog_text(text: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slugify_branch_label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3209:4
[INFO] [stdout]      |
[INFO] [stdout] 3209 | fn slugify_branch_label(label: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_branch_id` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3224:4
[INFO] [stdout]      |
[INFO] [stdout] 3224 | fn next_branch_id(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_context_branch` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3249:4
[INFO] [stdout]      |
[INFO] [stdout] 3249 | fn create_context_branch<C>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkout_context_branch` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3355:4
[INFO] [stdout]      |
[INFO] [stdout] 3355 | fn checkout_context_branch<C>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pending`, `handle`, and `child_session_id` are never used
[INFO] [stdout]   --> src/tui/runtime/permission_lifecycle.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl PermissionLifecycleController {
[INFO] [stdout]    | ---------------------------------- methods in this implementation
[INFO] [stdout] 24 |     pub(crate) fn pending(&self) -> Option<&PendingPermission> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub(crate) fn handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) fn child_session_id(&self) -> Option<&str> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `dispatched_prompt`, `is_accepted`, and `failed_after_accept` are never used
[INFO] [stdout]   --> src/tui/runtime/queued_prompt.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl QueuedPromptLifecycle {
[INFO] [stdout]    | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn dispatched_prompt(&self) -> Option<&str> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub(crate) fn is_accepted(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub(crate) fn failed_after_accept(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ticks_remaining` is never used
[INFO] [stdout]    --> src/tui/state.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl ToastState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn ticks_remaining(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ContextDetail` is never constructed
[INFO] [stdout]    --> src/tui/state.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum DialogKind {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 173 |     ContextDetail,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DialogKind` 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: multiple methods are never used
[INFO] [stdout]     --> src/tui/state.rs:1322:12
[INFO] [stdout]      |
[INFO] [stdout]  893 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     pub fn transcript_scroll_offset(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     pub fn transcript_is_at_bottom(&self, total_rows: usize, viewport_rows: u16) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1376 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1380 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1422 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1432 |     pub fn replace_session_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1437 |     pub fn try_replace_session_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1490 |     pub fn replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1510 |     pub fn try_replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1585 |     pub fn refresh_child_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1590 |     pub fn try_refresh_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1838 |     fn on_user_message(&mut self, message: UserMessageEvent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_child_timeline_state` is never used
[INFO] [stdout]     --> src/tui/state.rs:2528:4
[INFO] [stdout]      |
[INFO] [stdout] 2528 | fn project_child_timeline_state(records: &[TranscriptRecord]) -> Result<ChildTranscriptState> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_context_pane` is never used
[INFO] [stdout]     --> src/tui/state.rs:2542:4
[INFO] [stdout]      |
[INFO] [stdout] 2542 | fn project_context_pane(records: &[TranscriptRecord]) -> Result<ContextPaneState> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT_BORDER_GLYPH` is never used
[INFO] [stdout]   --> src/tui/surface.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const PROMPT_BORDER_GLYPH: &str = "┃";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CARD_PAD_LEFT: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSISTANT_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ASSISTANT_PAD_LEFT: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Panel` is never constructed
[INFO] [stdout]   --> src/tui/surface.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SurfaceKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 30 |     Root,
[INFO] [stdout] 31 |     Panel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceKind` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/tui/surface.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum SurfaceEmphasis {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Reasoning,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     User,
[INFO] [stdout] 41 |     ToolPending,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     ToolSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     ToolError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Activity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceEmphasis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elevated_title_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn elevated_title_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dim_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn dim_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal` is never used
[INFO] [stdout]    --> src/tui/terminal.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl OwnedTerminal {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn terminal(&self) -> &TuiTerminal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/tui/theme.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Theme {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn surface_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn element_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn border_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn title_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn dim_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn assistant_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn success_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn warning_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CompactionPending` is never constructed
[INFO] [stdout]   --> src/tui/timeline.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TimelineItem {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     CompactionPending(CompactionPendingView),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimelineItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 37 |     pub fn blocks(&self) -> Vec<DisplayBlock> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayBlock` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 216 |     pub fn display_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 273 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_runtime_context_section` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn is_runtime_context_section(text: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 366 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_conversation`, and `active_tool` are never used
[INFO] [stdout]     --> src/tui/timeline.rs:420:12
[INFO] [stdout]      |
[INFO] [stdout]  419 | impl Timeline {
[INFO] [stdout]      | ------------- associated items in this implementation
[INFO] [stdout]  420 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  424 |     pub fn from_conversation(messages: Vec<ConversationMessage>) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1057 |     pub fn active_tool(&self) -> Option<&ToolView> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/request_builder/tests.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let mut runtime_model = metadata(8192);
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/request_builder/tests.rs:4192:9
[INFO] [stdout]      |
[INFO] [stdout] 4192 |     let mut model = metadata_with_effective_input_limit(8_192, 2_000);
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/request_builder/tests.rs:4309:9
[INFO] [stdout]      |
[INFO] [stdout] 4309 |     let mut model = metadata_with_effective_input_limit(8_192, 800);
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/request_builder/tests.rs:4842:17
[INFO] [stdout]      |
[INFO] [stdout] 4842 |             let mut model = metadata_with_effective_input_limit(16_384, 1_500);
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/request_builder/tests.rs:4941:9
[INFO] [stdout]      |
[INFO] [stdout] 4941 |     let mut model = metadata_with_effective_input_limit(16_384, 1);
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child_session_id`
[INFO] [stdout]     --> src/transcript/tests.rs:1855:9
[INFO] [stdout]      |
[INFO] [stdout] 1855 |     let child_session_id = child.session_id().to_string();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_session_id`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> src/tui/runtime.rs:765:17
[INFO] [stdout]     |
[INFO] [stdout] 765 |                 session_id,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evidence_count`
[INFO] [stdout]    --> src/tui/runtime.rs:769:17
[INFO] [stdout]     |
[INFO] [stdout] 769 |                 evidence_count,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: try ignoring the field: `evidence_count: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_count`
[INFO] [stdout]    --> src/tui/runtime.rs:774:21
[INFO] [stdout]     |
[INFO] [stdout] 774 |                 let message_count = messages.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/tui/runtime.rs:837:28
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 if let Err(error) = self.open_branch_dialog(branches) {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> src/tui/runtime.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |                 session_id,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queued`
[INFO] [stdout]     --> src/tui/runtime.rs:1553:13
[INFO] [stdout]      |
[INFO] [stdout] 1553 |         let queued = self.queued_prompts.len();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_queued`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining`
[INFO] [stdout]     --> src/tui/runtime.rs:1575:13
[INFO] [stdout]      |
[INFO] [stdout] 1575 |         let remaining = self.queued_prompts.len().saturating_sub(1);
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]     --> src/tui/runtime.rs:1713:20
[INFO] [stdout]      |
[INFO] [stdout] 1713 |         if let Err(error) = prefs.save_to_dir(&self.preferences_dir) {
[INFO] [stdout]      |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]     --> src/tui/runtime.rs:1738:20
[INFO] [stdout]      |
[INFO] [stdout] 1738 |         if let Err(error) = prefs.save_to_dir(&self.preferences_dir) {
[INFO] [stdout]      |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scope`, `protocol_frames`, and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 452 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 453 |     scope: ActiveContextExperiment,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 454 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 455 |     runtime_snapshot: RuntimeSnapshot,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContextExperimentRestorePoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `logical_checkpoint_control`, `clear_logical_checkpoint_request`, `run_stream_content_async`, and `next_evidence_sequence` are never used
[INFO] [stdout]     --> src/agent.rs:754:12
[INFO] [stdout]      |
[INFO] [stdout]  522 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  754 |     pub fn logical_checkpoint_control(&self) -> LogicalCheckpointControl {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  762 |     pub(crate) fn clear_logical_checkpoint_request(&self) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1917 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2171 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3025:4
[INFO] [stdout]      |
[INFO] [stdout] 3025 | fn required_tool_output_string(output: &ToolResult, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3042:4
[INFO] [stdout]      |
[INFO] [stdout] 3042 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4007:4
[INFO] [stdout]      |
[INFO] [stdout] 4007 | fn is_workflow_control_tool(tool_name: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tool_call_name_index` is never used
[INFO] [stdout]     --> src/agent.rs:4371:4
[INFO] [stdout]      |
[INFO] [stdout] 4371 | fn build_tool_call_name_index(history: &[HistoryItem]) -> HashMap<String, String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `authorizes_checkpoint` is never used
[INFO] [stdout]   --> src/agent/automatic_checkpoint.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl AutoCheckpointPolicy {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(super) fn authorizes_checkpoint(self, state: AutoCheckpointSchedulerView) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkpoint_candidate_for` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2225:8
[INFO] [stdout]      |
[INFO] [stdout] 2225 |     fn checkpoint_candidate_for(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `authorized_checkpoint_agent` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2322:8
[INFO] [stdout]      |
[INFO] [stdout] 2322 |     fn authorized_checkpoint_agent(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warm_append_checkpoint_agent` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2353:8
[INFO] [stdout]      |
[INFO] [stdout] 2353 |     fn warm_append_checkpoint_agent(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `commit_safe_active_epoch` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2387:14
[INFO] [stdout]      |
[INFO] [stdout] 2387 |     async fn commit_safe_active_epoch(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_complete_overflow_tool_group` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2410:8
[INFO] [stdout]      |
[INFO] [stdout] 2410 |     fn append_complete_overflow_tool_group(agent: &mut Agent<OpenAIConfig>, sequence: u8) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialized_request_bytes` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2463:8
[INFO] [stdout]      |
[INFO] [stdout] 2463 |     fn serialized_request_bytes(build: &crate::request_builder::BuildResult) -> Vec<u8> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_complete_checkpoint_successor_request` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2473:8
[INFO] [stdout]      |
[INFO] [stdout] 2473 |     fn assert_complete_checkpoint_successor_request(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_unsafe_preparation_without_boundary_is_side_effect_free` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2500:14
[INFO] [stdout]      |
[INFO] [stdout] 2500 |     async fn assert_unsafe_preparation_without_boundary_is_side_effect_free(protocol: ApiProtocol) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_tool_batch_sse` is never used
[INFO] [stdout]     --> src/agent/tests.rs:1660:4
[INFO] [stdout]      |
[INFO] [stdout] 1660 | fn chat_tool_batch_sse(name: &str, call_id: &str, arguments: String) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_checkpointed_tool_stream` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2179:10
[INFO] [stdout]      |
[INFO] [stdout] 2179 | async fn assert_checkpointed_tool_stream(protocol: ApiProtocol) {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_cancelled_stream_releases_checkpoint_lease` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2420:10
[INFO] [stdout]      |
[INFO] [stdout] 2420 | async fn assert_cancelled_stream_releases_checkpoint_lease(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProtectedOverflowTool` is never constructed
[INFO] [stdout]     --> src/agent/tests.rs:2734:8
[INFO] [stdout]      |
[INFO] [stdout] 2734 | struct ProtectedOverflowTool(Arc<AtomicUsize>);
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SoftPressureTool` is never constructed
[INFO] [stdout]     --> src/agent/tests.rs:2763:8
[INFO] [stdout]      |
[INFO] [stdout] 2763 | struct SoftPressureTool(Arc<AtomicUsize>);
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tool_call_arguments` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2789:4
[INFO] [stdout]      |
[INFO] [stdout] 2789 | fn tool_call_arguments(payload_size: usize) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcript_backed_automatic_stream_agent` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2794:4
[INFO] [stdout]      |
[INFO] [stdout] 2794 | fn transcript_backed_automatic_stream_agent(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_automatic_soft_pressure_checkpoint` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2829:10
[INFO] [stdout]      |
[INFO] [stdout] 2829 | async fn assert_automatic_soft_pressure_checkpoint(protocol: ApiProtocol) {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_automatic_hard_overflow_checkpoint` is never used
[INFO] [stdout]     --> src/agent/tests.rs:2906:10
[INFO] [stdout]      |
[INFO] [stdout] 2906 | async fn assert_automatic_hard_overflow_checkpoint(protocol: ApiProtocol) {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ReplaceScope` is never constructed
[INFO] [stdout]   --> src/agent_event_journal.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ContextProjection {
[INFO] [stdout]    |          ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     ReplaceScope,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextProjection` 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: methods `provider_compacted_block_ids` and `provider_compacted_folded_outputs` are never used
[INFO] [stdout]    --> src/context_view.rs:581:19
[INFO] [stdout]     |
[INFO] [stdout] 434 | impl ContextViewProjection {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub(crate) fn provider_compacted_block_ids(&self) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 651 |     pub(crate) fn provider_compacted_folded_outputs(&self) -> Vec<&FoldedOutputMetadata> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_request_budget` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub fn record_llm_request_budget(span: &Span, budget: &BudgetReport) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_prompt_plan` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn record_llm_prompt_plan(span: &Span, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:462:8
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub fn record_llm_cache_metadata(span: &Span, cache: &CacheUsageReport, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn record_llm_usage(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata_actual_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:842:4
[INFO] [stdout]     |
[INFO] [stdout] 842 | fn record_llm_cache_metadata_actual_usage(span: &Span, cache: &CacheUsageReport) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]    --> src/request_builder.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub(crate) enum LogicalRequestUnitCategory {
[INFO] [stdout]     |                 -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 452 |     Unknown,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LogicalRequestUnitCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `required` is never read
[INFO] [stdout]    --> src/retry.rs:392:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     struct TestMissingField {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 392 |         required: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestMissingField` 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 `kind` is never read
[INFO] [stdout]    --> src/retry.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |     struct TestEnumHolder {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 397 |         kind: TestEnum,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestEnumHolder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_explorer`, `run_explorer_governed`, `run_fixer`, and `run_fixer_governed` are never used
[INFO] [stdout]    --> src/subagent.rs:287:18
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl SubagentPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn run_explorer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub async fn run_explorer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub async fn run_fixer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub async fn run_fixer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]     --> src/subagent.rs:1010:4
[INFO] [stdout]      |
[INFO] [stdout] 1010 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_context_view` and `with_context_snapshots` are never used
[INFO] [stdout]    --> src/tool.rs:505:12
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl ToolExecutionContext {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn with_context_view(context_view: Arc<ContextViewProjection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn with_context_snapshots(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:428:12
[INFO] [stdout]      |
[INFO] [stdout]  287 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  428 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  473 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  492 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  496 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  525 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  529 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  533 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  537 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  630 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1049 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1677 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/transcript/transcript_projection.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 91 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionRestoreSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evidence_count` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl SessionRestoreSnapshot {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 115 |     pub(crate) fn evidence_count(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_logical_checkpoints` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/checkpoint.rs:841:4
[INFO] [stdout]     |
[INFO] [stdout] 841 | fn validate_logical_checkpoints(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record` is never used
[INFO] [stdout]   --> src/transcript/transcript_projection/tests.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn record(event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix_channel` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | fn mix_channel(from: u8, to: u8, mix_percent: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `element_muted_style` is never used
[INFO] [stdout]     --> src/tui/components/transcript.rs:1231:4
[INFO] [stdout]      |
[INFO] [stdout] 1231 | fn element_muted_style(theme: Theme) -> ratatui::style::Style {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/tui/events.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl AppEvent {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 83 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text` and `attachments` are never used
[INFO] [stdout]    --> src/tui/events.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn attachments(&self) -> &[UserImageAttachment] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_message_id` is never used
[INFO] [stdout]    --> src/tui/events.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl AssistantDeltaEvent {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn with_message_id(message_id: impl Into<String>, delta: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `recoverable_error` are never used
[INFO] [stdout]    --> src/tui/events.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl NoticeEvent {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn success(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn recoverable_error(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ContextTreeUpdated`, `ContextViewUpdated`, `ContextDetailOpened`, `FoldedOutputsUpdated`, `ContextSummaryUpdated`, and `ContextBranchChanged` are never constructed
[INFO] [stdout]    --> src/tui/runner.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub enum RunnerEvent {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 195 |     ContextTreeUpdated(ContextTreeUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 |     ContextViewUpdated(ContextViewUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 197 |     ContextDetailOpened(ContextDetailOpenedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 |     FoldedOutputsUpdated(FoldedOutputsUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 |     ContextSummaryUpdated(ContextSummaryUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     ContextBranchChanged {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunnerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `subagent_event_sender` and `silent_with_transcript` are never used
[INFO] [stdout]    --> src/tui/runner.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 406 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated functions in this implementation
[INFO] [stdout] 407 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopDrawer` is never constructed
[INFO] [stdout]    --> src/tui/runtime.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct NoopDrawer;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_state`, `pending_permission_belongs_to_parent`, and `run` are never used
[INFO] [stdout]     --> src/tui/runtime.rs:569:12
[INFO] [stdout]      |
[INFO] [stdout]  283 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  569 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  952 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1380 |     pub fn run<D: RuntimeDrawer>(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_session_id` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2719:4
[INFO] [stdout]      |
[INFO] [stdout] 2719 | fn short_session_id(session_id: &str) -> &str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2763:8
[INFO] [stdout]      |
[INFO] [stdout] 2758 | impl LocalToolOutputMode {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2763 |     fn label(self) -> &'static str {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_context_snapshot` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2795:4
[INFO] [stdout]      |
[INFO] [stdout] 2795 | fn active_context_snapshot(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_dialog_items` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2854:4
[INFO] [stdout]      |
[INFO] [stdout] 2854 | fn context_dialog_items(context: &super::state::ContextPaneState) -> Vec<DialogItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_depth` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3099:4
[INFO] [stdout]      |
[INFO] [stdout] 3099 | fn context_node_depth(tree: &crate::context_tree::ContextTreeState, node_id: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_source_label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3144:4
[INFO] [stdout]      |
[INFO] [stdout] 3144 | fn block_source_label(block: &crate::context_view::ContextBlock) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pending` is never used
[INFO] [stdout]   --> src/tui/runtime/permission_lifecycle.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl PermissionLifecycleController {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 24 |     pub(crate) fn pending(&self) -> Option<&PendingPermission> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scroll_transcript_page_up`, `scroll_transcript_page_down`, `replace_session_timeline`, and `on_user_message` are never used
[INFO] [stdout]     --> src/tui/state.rs:1376:12
[INFO] [stdout]      |
[INFO] [stdout]  893 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1376 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1380 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1422 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1838 |     fn on_user_message(&mut self, message: UserMessageEvent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT_BORDER_GLYPH` is never used
[INFO] [stdout]   --> src/tui/surface.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const PROMPT_BORDER_GLYPH: &str = "┃";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CARD_PAD_LEFT: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSISTANT_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ASSISTANT_PAD_LEFT: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Panel` is never constructed
[INFO] [stdout]   --> src/tui/surface.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SurfaceKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 30 |     Root,
[INFO] [stdout] 31 |     Panel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceKind` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/tui/surface.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum SurfaceEmphasis {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Reasoning,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     User,
[INFO] [stdout] 41 |     ToolPending,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     ToolSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     ToolError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Activity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceEmphasis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elevated_title_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn elevated_title_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dim_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn dim_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal` is never used
[INFO] [stdout]    --> src/tui/terminal.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl OwnedTerminal {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn terminal(&self) -> &TuiTerminal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/tui/theme.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Theme {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn surface_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn element_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn border_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn title_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn dim_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn assistant_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn success_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn warning_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CompactionPending` is never constructed
[INFO] [stdout]   --> src/tui/timeline.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TimelineItem {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     CompactionPending(CompactionPendingView),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimelineItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 37 |     pub fn blocks(&self) -> Vec<DisplayBlock> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayBlock` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 216 |     pub fn display_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 273 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 366 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s
[INFO] running `Command { std: "docker" "inspect" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177", kill_on_drop: false }`
[INFO] [stdout] 549659facb95b87c4ca3df88d9095a499808be305b67f8ea6aa3a9b9f2e7e177
