[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] 2b18e830b11149e564bc177f6f13514c6c84e7fd
[INFO] checking letr007/letcode against try#d0ab665d12770dbaae620b539ee4319b83445f45 for pr-133502-24
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letr007/letcode on toolchain d0ab665d12770dbaae620b539ee4319b83445f45
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "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" "+d0ab665d12770dbaae620b539ee4319b83445f45" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055
[INFO] running `Command { std: "docker" "start" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055", 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" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055", 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" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking fancy-regex v0.16.2
[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 image v0.25.10
[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 tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[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 async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tracing v0.1.44
[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]     Checking arboard v3.6.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking prost v0.14.4
[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 strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling rustls v0.23.40
[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 plist v1.9.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking toml_edit v0.22.27
[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 idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[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 url v2.5.8
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tonic-prost v0.14.6
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.1
[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 opentelemetry-langfuse v0.6.1
[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 imports: `ContextBlockId`, `ContextBlockKind`, `ContextBlockSource`, `ContextBlock`, and `FoldedOutputMetadata`
[INFO] [stdout]  --> src/agent/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ContextBlock, ContextBlockId, ContextBlockKind, ContextBlockSource, ContextViewProjection,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     FoldedOutputMetadata,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (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] [stderr] error: could not compile `letcode` (bin "letcode" test); 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/d0ab665d12770dbaae620b539ee4319b83445f45/bin/rustc --crate-name letcode --edition=2024 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=e8c24ecd20733c11 -C extra-filename=-13978948e997213c --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern arboard=/opt/rustwide/target/debug/deps/libarboard-d18bba6633b1e9a1.rmeta --extern async_openai=/opt/rustwide/target/debug/deps/libasync_openai-6b9cddccc17652f1.rmeta --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-5e6c8dc165503e7e.so --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-b35af2d41b059cfb.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-e291ef601feef91d.rmeta --extern httpdate=/opt/rustwide/target/debug/deps/libhttpdate-dd055e56878c34d5.rmeta --extern image=/opt/rustwide/target/debug/deps/libimage-38b5a1e055639c88.rmeta --extern indexmap=/opt/rustwide/target/debug/deps/libindexmap-c77fa3dc24a2c8e0.rmeta --extern libc=/opt/rustwide/target/debug/deps/liblibc-7d2af120e89c619c.rmeta --extern opentelemetry=/opt/rustwide/target/debug/deps/libopentelemetry-4eeb4ad5f016b147.rmeta --extern opentelemetry_langfuse=/opt/rustwide/target/debug/deps/libopentelemetry_langfuse-ab0906a89f2b68f5.rmeta --extern opentelemetry_sdk=/opt/rustwide/target/debug/deps/libopentelemetry_sdk-e2e12425e482840e.rmeta --extern pulldown_cmark=/opt/rustwide/target/debug/deps/libpulldown_cmark-07e559386cea62dc.rmeta --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-dcf8c24d349bd0a0.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-1b1461165100f940.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-fec55b80879f6cd8.rmeta --extern syntect=/opt/rustwide/target/debug/deps/libsyntect-56ac74082ce1725d.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-0c72704ad7001c1b.rmeta --extern toml=/opt/rustwide/target/debug/deps/libtoml-71ae89e2b8fec495.rmeta --extern toml_edit=/opt/rustwide/target/debug/deps/libtoml_edit-4275703997d3acfb.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_opentelemetry=/opt/rustwide/target/debug/deps/libtracing_opentelemetry-d429bd063f8420a9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-83bf0aad220039d0.rmeta --extern unicode_width=/opt/rustwide/target/debug/deps/libunicode_width-a2cad30f1b072f70.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f41a03882abb4402/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: fields `protocol_frames` and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 444 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 445 |     scope: ActiveContextExperiment,
[INFO] [stdout] 446 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 447 |     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: associated function `create_child` is never used
[INFO] [stdout]    --> src/agent.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | impl AgentFactory {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 451 |     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:744:12
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  744 |     pub fn logical_checkpoint_control(&self) -> LogicalCheckpointControl {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  748 |     pub fn request_logical_checkpoint(&self) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  841 |     pub fn session_token_usage(&self) -> Result<TokenUsageEstimate> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  879 |     pub fn tool_scope(&self) -> ToolScope {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  883 |     pub(crate) fn max_tool_calls_limit(&self) -> Option<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  960 |     pub fn restore_session_context(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  977 |     pub fn restore_session_history(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1325 |     pub(super) fn history_items(&self) -> Vec<HistoryItem> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1335 |     pub(super) fn replace_history(&mut self, history: Vec<HistoryItem>) -> Result<()> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1358 |     fn apply_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1377 |     fn prepare_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1512 |     fn sync_protocol_caches_from_runtime_snapshot(&mut self) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1854 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2146 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2197 |     pub async fn compact_session_async<E, Efut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2225 |     async fn run_oai_comp_stream_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2252 |     fn prune_old_tool_outputs(&mut self, preserve_recent_budget: u64) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2259 |     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:3086:4
[INFO] [stdout]      |
[INFO] [stdout] 3086 | 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:3103:4
[INFO] [stdout]      |
[INFO] [stdout] 3103 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `suppress` is never used
[INFO] [stdout]     --> src/agent.rs:3581:8
[INFO] [stdout]      |
[INFO] [stdout] 3518 | impl AutomaticCheckpointSchedulerState {
[INFO] [stdout]      | -------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3581 |     fn suppress(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:3932:4
[INFO] [stdout]      |
[INFO] [stdout] 3932 | 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:4300:4
[INFO] [stdout]      |
[INFO] [stdout] 4300 | fn build_tool_call_name_index(history: &[HistoryItem]) -> HashMap<String, String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Manual` is never constructed
[INFO] [stdout]   --> src/agent/checkpoint_control.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum LogicalCheckpointRequestOwner {
[INFO] [stdout]    |                 ----------------------------- variant in this enum
[INFO] [stdout] 20 |     Manual,
[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: methods `request` and `set_enabled` are never used
[INFO] [stdout]    --> src/agent/checkpoint_control.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl LogicalCheckpointControl {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn request(&self) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub(super) fn set_enabled(&self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prune_old_tool_outputs` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(super) fn prune_old_tool_outputs<C: Config>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_preserve_recent_budget` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:939:15
[INFO] [stdout]     |
[INFO] [stdout] 939 | pub(super) fn default_preserve_recent_budget(input_budget: u64) -> u64 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ContextCompactionStarted` and `ContextCompactionDelta` are never constructed
[INFO] [stdout]    --> src/agent/events.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub enum AgentEvent {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 396 |     TurnStarted(TurnStartedEvent),
[INFO] [stdout] 397 |     ContextCompactionStarted,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 398 |     ContextCompactionDelta {
[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: 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: 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:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | 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:416:5
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub(crate) enum LogicalRequestUnitCategory {
[INFO] [stdout]     |                 -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 416 |     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:632:8
[INFO] [stdout]     |
[INFO] [stdout] 632 | 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:644:15
[INFO] [stdout]     |
[INFO] [stdout] 644 | 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:741:4
[INFO] [stdout]     |
[INFO] [stdout] 741 | fn runtime_frame_kind(item: &ProtocolFrameItem) -> RuntimeFrameKind {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assemble_context_view_sections` is never used
[INFO] [stdout]    --> src/request_builder.rs:913:4
[INFO] [stdout]     |
[INFO] [stdout] 913 | 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:1019:15
[INFO] [stdout]      |
[INFO] [stdout] 1019 | 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:1037:4
[INFO] [stdout]      |
[INFO] [stdout] 1037 | fn canonical_bytes(value: &Value) -> Vec<u8> {
[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:274:18
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl SubagentRuntime {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub async fn run_explorer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub async fn run_explorer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub async fn run_fixer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     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:997:4
[INFO] [stdout]     |
[INFO] [stdout] 997 | 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:507:12
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl ToolExecutionContext {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub fn with_context_view(context_view: Arc<ContextViewProjection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn with_context_snapshots(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     pub fn with_runtime_snapshot(runtime_snapshot: Arc<RuntimeSnapshot>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:406:12
[INFO] [stdout]      |
[INFO] [stdout]  287 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  406 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  430 |     pub fn record_context_experiment_returned(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  451 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  470 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  474 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  503 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  507 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  511 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  515 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  608 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  674 |     pub fn record_subagent_result(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  746 |     pub fn record_subagent_reconciliation(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1152 |     pub fn record_logical_checkpoint(&mut self, event: LogicalCheckpointEventV1) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1623 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1646 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_child_session_records` is never used
[INFO] [stdout]     --> src/transcript.rs:2417:8
[INFO] [stdout]      |
[INFO] [stdout] 2417 | 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:2444:8
[INFO] [stdout]      |
[INFO] [stdout] 2444 | 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:2451:15
[INFO] [stdout]      |
[INFO] [stdout] 2451 | 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:2457:15
[INFO] [stdout]      |
[INFO] [stdout] 2457 | 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:2476:8
[INFO] [stdout]      |
[INFO] [stdout] 2476 | 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:2485:8
[INFO] [stdout]      |
[INFO] [stdout] 2485 | 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:2495:8
[INFO] [stdout]      |
[INFO] [stdout] 2495 | pub fn restore_session_evidence(records: &[TranscriptRecord]) -> Result<Vec<EvidenceRecord>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session_id`, `messages`, `history`, `evidence`, `latest_model`, and `max_turn_id` are never read
[INFO] [stdout]   --> src/transcript/transcript_projection.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ---------------------- fields in this struct
[INFO] [stdout] 88 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub messages: Vec<ConversationMessage>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 93 |     pub history: Vec<HistoryItem>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 94 |     pub evidence: Vec<EvidenceRecord>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 95 |     pub latest_model: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 96 |     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: method `evidence_count` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl SessionRestoreSnapshot {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 112 |     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:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn project_session_restore_snapshot(
[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:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 | 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:569:15
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub(crate) fn validate_successful_compactions(records: &[TranscriptRecord]) -> anyhow::Result<()> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_turn_id_from_lifecycle_records` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection/history.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn active_turn_id_from_lifecycle_records(records: &[TranscriptRecord]) -> Option<u64> {
[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 `tiny_attachment_summary` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:553:4
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn tiny_attachment_summary(attachments: &[UserImageAttachment], width: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_text_prefix` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 | fn composer_text_prefix(attachments: &[UserImageAttachment], include_trailing_gap: bool) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix_channel` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:834:4
[INFO] [stdout]     |
[INFO] [stdout] 834 | 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 `push_compaction_separator_line` is never used
[INFO] [stdout]     --> src/tui/components/transcript.rs:1036:4
[INFO] [stdout]      |
[INFO] [stdout] 1036 | fn push_compaction_separator_line(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/tui/events.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl AppEvent {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 77 |     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:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TokenUsageEvent {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 123 |     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:159:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 159 |     pub fn new(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn queued(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn attachments(&self) -> &[UserImageAttachment] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl ProcessIssueEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 273 |     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:291:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl ToolStartedEvent {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 291 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl ToolFinishedEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 358 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `approved` is never used
[INFO] [stdout]    --> src/tui/events.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl PermissionResolutionEvent {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 419 |     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: 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: variants `ContextTreeUpdated`, `ContextViewUpdated`, `ContextDetailOpened`, `FoldedOutputsUpdated`, `ContextSummaryUpdated`, and `McpDiscoveryUnavailable` are never constructed
[INFO] [stdout]    --> src/tui/runner.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum RunnerEvent {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 182 |     ContextTreeUpdated(ContextTreeUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     ContextViewUpdated(ContextViewUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     ContextDetailOpened(ContextDetailOpenedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     FoldedOutputsUpdated(FoldedOutputsUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     ContextSummaryUpdated(ContextSummaryUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     McpDiscoveryUnavailable(String),
[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:391:12
[INFO] [stdout]     |
[INFO] [stdout] 390 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 391 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn new(event_tx: RunnerEventSender) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     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:125:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl AvailableModel {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 125 |     pub fn new(id: impl Into<String>, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     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:242:12
[INFO] [stdout]     |
[INFO] [stdout] 242 | 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:301:12
[INFO] [stdout]      |
[INFO] [stdout]  269 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  301 |     pub fn state_mut(&mut self) -> &mut TuiState {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  309 |     pub fn submitted_prompts(&self) -> &[String] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  313 |     pub fn pending_permission_handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  558 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  957 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1390 |     pub fn run<D: RuntimeDrawer>(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_context_snapshot` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2762:4
[INFO] [stdout]      |
[INFO] [stdout] 2762 | 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:2804:4
[INFO] [stdout]      |
[INFO] [stdout] 2804 | 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:2924:4
[INFO] [stdout]      |
[INFO] [stdout] 2924 | 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:3039:4
[INFO] [stdout]      |
[INFO] [stdout] 3039 | 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:3049:4
[INFO] [stdout]      |
[INFO] [stdout] 3049 | 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:3067:4
[INFO] [stdout]      |
[INFO] [stdout] 3067 | 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:3094:4
[INFO] [stdout]      |
[INFO] [stdout] 3094 | 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:3102:4
[INFO] [stdout]      |
[INFO] [stdout] 3102 | 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:3133:4
[INFO] [stdout]      |
[INFO] [stdout] 3133 | 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:3149:4
[INFO] [stdout]      |
[INFO] [stdout] 3149 | fn truncate_dialog_text(text: &str) -> String {
[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: variant `Info` is never constructed
[INFO] [stdout]   --> src/tui/state.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub enum ToastKind {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 92 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToastKind` 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 `ticks_remaining` is never used
[INFO] [stdout]    --> src/tui/state.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ToastState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     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:187:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub enum DialogKind {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 187 |     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:1244:12
[INFO] [stdout]      |
[INFO] [stdout]  911 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1244 |     pub fn remove_composer_attachment(&mut self, attachment_id: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1293 |     pub fn transcript_scroll_offset(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1333 |     pub fn transcript_is_at_bottom(&self, total_rows: usize, viewport_rows: u16) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1347 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1351 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1411 |     pub fn replace_session_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1416 |     pub fn try_replace_session_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1469 |     pub fn replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1489 |     pub fn try_replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1568 |     pub fn refresh_child_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1573 |     pub fn try_refresh_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |     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:2517:4
[INFO] [stdout]      |
[INFO] [stdout] 2517 | 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:2531:4
[INFO] [stdout]      |
[INFO] [stdout] 2531 | 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] 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: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 32 |     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:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 212 |     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:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 269 |     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:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | 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:362:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 362 |     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:410:12
[INFO] [stdout]     |
[INFO] [stdout] 409 | impl Timeline {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 410 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn from_conversation(messages: Vec<ConversationMessage>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     pub fn active_tool(&self) -> Option<&ToolView> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055", kill_on_drop: false }`
[INFO] [stdout] 88ea04e953e29b396d0e653956b51b0a12b57f24625873528c5be88708f11055
