[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] b62ba429ec49b230d2aad064fc44a570435dd996
[INFO] checking letr007/letcode against f10db292a3733b5c67c8da8c7661195ff4b05774 for pr-158914
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letr007/letcode on toolchain f10db292a3733b5c67c8da8c7661195ff4b05774
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "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" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "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 reqwest v0.13.3
[INFO] [stderr]   Downloaded opentelemetry-langfuse v0.6.1
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded async-openai v0.38.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d
[INFO] running `Command { std: "docker" "start" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d", 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" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d" "/opt/rustwide/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d", 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" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d" "/opt/rustwide/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[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 image v0.25.10
[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 arboard v3.6.1
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[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: `bail`
[INFO] [stdout]  --> src/agent_event_journal.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{Result, bail};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool_names`
[INFO] [stdout]   --> src/agent_event_journal.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tool_names;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionEventSink` and `SessionPorts`
[INFO] [stdout]   --> src/session/mod.rs:34:40
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use ports::{SessionCommandHandler, SessionEventSink, SessionPorts};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionResponse` and `RunnerEventSender`
[INFO] [stdout]   --> src/session/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |     AgentRunner, PermissionResponse, RunnerEvent, RunnerEventSender, RunnerPermissionRequest,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool_names`
[INFO] [stdout]   --> src/transcript.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::tool_names;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CONTEXT_COMPACTION_DERIVED_COVERAGE_VERSION` and `ContextCompactionDerivedKind`
[INFO] [stdout]  --> src/transcript/transcript_projection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CONTEXT_COMPACTION_DERIVED_COVERAGE_VERSION, ContextCompactionDerivedCoverage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     ContextCompactionDerivedCoverageItem, ContextCompactionDerivedKind,
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextDetailOpenedEvent`, `ContextSummaryUpdatedEvent`, `ContextTreeUpdatedEvent`, `ContextViewUpdatedEvent`, `FoldedOutputsUpdatedEvent`, `ProcessIssueEvent`, and `ToolCancelledEvent`
[INFO] [stdout]   --> src/tui/events.rs:7:52
[INFO] [stdout]    |
[INFO] [stdout]  7 |     AssistantDeltaEvent, AutoContinueChangedEvent, ContextDetailOpenedEvent,
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     ContextSummaryUpdatedEvent, ContextTreeUpdatedEvent, ContextViewUpdatedEvent, ErrorEvent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     FoldedOutputsUpdatedEvent, NoticeEvent, NoticeKind, PermissionDecision, PermissionRequestEvent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     PermissionResolutionEvent, ProcessIssueEvent, ReasoningDeltaEvent, ReasoningDoneEvent,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     RuntimeContextDisposition, RuntimeContextUpdatedEvent, SessionEvent as AppEvent,
[INFO] [stdout] 12 |     TodoSnapshotEvent, TokenUsageEvent, ToolCancelledEvent, ToolFinishedEvent, ToolOutcome,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContextNodeStatus`
[INFO] [stdout]  --> src/agent/tests.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::context_tree::{ContextNodeStatus, ContextTreeState};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> src/agent_event_journal.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{Result, bail};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool_names`
[INFO] [stdout]   --> src/agent_event_journal.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tool_names;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[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] 
[INFO] [stdout] warning: unused imports: `SessionEventSink` and `SessionPorts`
[INFO] [stdout]   --> src/session/mod.rs:34:40
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use ports::{SessionCommandHandler, SessionEventSink, SessionPorts};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionResponse` and `RunnerEventSender`
[INFO] [stdout]   --> src/session/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |     AgentRunner, PermissionResponse, RunnerEvent, RunnerEventSender, RunnerPermissionRequest,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextDetailOpenedEvent`, `ContextSummaryUpdatedEvent`, and `FoldedOutputsUpdatedEvent`
[INFO] [stdout]  --> src/tui/events.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 |     AssistantDeltaEvent, AutoContinueChangedEvent, ContextDetailOpenedEvent,
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     ContextSummaryUpdatedEvent, ContextTreeUpdatedEvent, ContextViewUpdatedEvent, ErrorEvent,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     FoldedOutputsUpdatedEvent, NoticeEvent, NoticeKind, PermissionDecision, PermissionRequestEvent,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[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:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |                 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:749:17
[INFO] [stdout]     |
[INFO] [stdout] 749 |                 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:754:21
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 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:819:28
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 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:825:17
[INFO] [stdout]     |
[INFO] [stdout] 825 |                 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:1541:13
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         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:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         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:1744:20
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         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:1769:20
[INFO] [stdout]      |
[INFO] [stdout] 1769 |         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 `transition` is never read
[INFO] [stdout]    --> src/agent.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | struct ActiveEpochPreview {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 191 |     transition: ActiveEpochTransition,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActiveEpochPreview` 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: field `context_experiment_restore_point` is never read
[INFO] [stdout]    --> src/agent.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub struct Agent<C: Config> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 450 |     context_experiment_restore_point: Option<ContextExperimentRestorePoint>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scope`, `protocol_frames`, and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 460 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 461 |     scope: ActiveContextExperiment,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 462 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 463 |     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:467:12
[INFO] [stdout]     |
[INFO] [stdout] 466 | impl AgentFactory {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 467 |     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:758:12
[INFO] [stdout]      |
[INFO] [stdout]  530 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  758 |     pub fn set_logical_checkpoint_config(&mut self, config: LogicalCheckpointConfig) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  762 |     pub fn logical_checkpoint_control(&self) -> LogicalCheckpointControl {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  766 |     pub fn request_logical_checkpoint(&self) -> LogicalCheckpointRequestOutcome {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  770 |     pub(crate) fn clear_logical_checkpoint_request(&self) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  897 |     pub fn tool_scope(&self) -> ToolScope {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  901 |     pub(crate) fn max_tool_calls_limit(&self) -> Option<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  978 |     pub fn restore_session_context(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  995 |     pub fn restore_session_history(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1174 |     pub(crate) fn set_logical_checkpoint_candidate_provider(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1327 |     fn replace_runtime_snapshot_from_provider(&mut self) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1357 |     pub(super) fn history_items(&self) -> Vec<HistoryItem> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1374 |     pub(super) fn replace_history(&mut self, history: Vec<HistoryItem>) -> Result<()> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     fn apply_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1421 |     fn prepare_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1637 |     pub(super) fn adopt_snapshot_as_history_seed(&mut self) -> Result<()> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1651 |     pub(super) fn append_protocol_frame(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2028 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2269 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2320 |     pub async fn compact_session_async<E, Efut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2348 |     async fn run_oai_comp_stream_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2375 |     fn prune_old_tool_outputs(&mut self, preserve_recent_budget: u64) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2382 |     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:3108:4
[INFO] [stdout]      |
[INFO] [stdout] 3108 | 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:3125:4
[INFO] [stdout]      |
[INFO] [stdout] 3125 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_runtime_provenance` is never used
[INFO] [stdout]     --> src/agent.rs:3583:4
[INFO] [stdout]      |
[INFO] [stdout] 3583 | fn merge_runtime_provenance(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4118:4
[INFO] [stdout]      |
[INFO] [stdout] 4118 | 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:4482:4
[INFO] [stdout]      |
[INFO] [stdout] 4482 | 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 `select_compaction_attempt` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:816:4
[INFO] [stdout]     |
[INFO] [stdout] 816 | fn select_compaction_attempt(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_runtime_compaction_segments` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:913:15
[INFO] [stdout]     |
[INFO] [stdout] 913 | pub(super) fn select_runtime_compaction_segments(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dependent_projection_ids` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1075:4
[INFO] [stdout]      |
[INFO] [stdout] 1075 | fn dependent_projection_ids(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retained_compaction_spans` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1120:15
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(super) fn retained_compaction_spans(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_preserve_recent_budget` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1615:15
[INFO] [stdout]      |
[INFO] [stdout] 1615 | pub(super) fn default_preserve_recent_budget(input_budget: u64) -> u64 {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTEXT_COMPACTION_DERIVED_COVERAGE_VERSION` is never used
[INFO] [stdout]   --> src/agent/events.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const CONTEXT_COMPACTION_DERIVED_COVERAGE_VERSION: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 |     ContextCompactionStarted {
[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: field `trigger` is never read
[INFO] [stdout]    --> src/agent/events.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |     ContextCompactionFailed {
[INFO] [stdout]     |     ----------------------- field in this variant
[INFO] [stdout] 489 |         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:565:5
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub enum AgentEvent {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 565 |     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:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct PreparedCheckpointEnvelope {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_candidate` is never used
[INFO] [stdout]    --> src/agent/logical_checkpoint.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | 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: 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:382:12
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl PermissionPolicy {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn check(&self, tool: &str, args: &Value) -> PermissionDecision {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     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:443:8
[INFO] [stdout]     |
[INFO] [stdout] 443 | 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:456:5
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub(crate) enum LogicalRequestUnitCategory {
[INFO] [stdout]     |                 -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 456 |     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:672:8
[INFO] [stdout]     |
[INFO] [stdout] 672 | 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:684:15
[INFO] [stdout]     |
[INFO] [stdout] 684 | 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:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | 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:921:15
[INFO] [stdout]     |
[INFO] [stdout] 921 | 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:949:4
[INFO] [stdout]     |
[INFO] [stdout] 949 | 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:1057:15
[INFO] [stdout]      |
[INFO] [stdout] 1057 | 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:1075:4
[INFO] [stdout]      |
[INFO] [stdout] 1075 | 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: method `is_terminal` is never used
[INFO] [stdout]    --> src/session/event.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SessionEvent {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 127 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/session/event.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl TokenUsageEvent {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 173 |     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/session/event.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 209 |     pub fn new(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn queued(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     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/session/event.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl AssistantDeltaEvent {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     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/session/event.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub enum NoticeKind {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 310 |     Info,
[INFO] [stdout] 311 |     Success,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 312 |     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/session/event.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl NoticeEvent {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn success(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     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/session/event.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 343 | impl ProcessIssueEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 344 |     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/session/event.rs:362:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl ToolStartedEvent {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 362 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/session/event.rs:429:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl ToolFinishedEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 429 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `approved` is never used
[INFO] [stdout]    --> src/session/event.rs:490:12
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl PermissionResolutionEvent {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 490 |     pub fn approved(call_id: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SessionEventSink` is never used
[INFO] [stdout]   --> src/session/ports.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait SessionEventSink {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPorts` is never constructed
[INFO] [stdout]   --> src/session/ports.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SessionPorts;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/session/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: method `session_event` is never used
[INFO] [stdout]    --> src/session/runner.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl RunnerEvent {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn session_event(&self) -> Option<crate::session::SessionEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[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/session/runner.rs:442:12
[INFO] [stdout]     |
[INFO] [stdout] 441 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 442 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn new(event_tx: RunnerEventSender) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub async fn run_internal_prompt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cancel_agent`, `is_agent_running`, `active_children`, and `busy_error_message` are never used
[INFO] [stdout]    --> src/subagent.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl SubagentPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn cancel_agent(&self, agent_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn is_agent_running(&self, agent_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn active_children(&self) -> Vec<ChildSessionSummary> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 719 |     fn busy_error_message(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]     --> src/subagent.rs:1181:4
[INFO] [stdout]      |
[INFO] [stdout] 1181 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[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:418:12
[INFO] [stdout]      |
[INFO] [stdout]  287 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  418 |     pub fn record_context_branch_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  433 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  446 |     pub fn record_context_checkout(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  457 |     pub fn record_context_experiment_returned(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  478 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  497 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  501 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  530 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  534 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  538 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  542 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  553 |     pub fn record_context_view_operation_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  568 |     pub fn record_context_summary_artifact_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  593 |     pub fn record_context_tool_pending_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  604 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  691 |     pub fn record_subagent_result(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  763 |     pub fn record_subagent_reconciliation(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  968 |     pub fn record_tool_call_finished_and_apply_context_control(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  991 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1140 |     pub fn record_logical_checkpoint(&mut self, event: LogicalCheckpointEventV1) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1148 |     pub(crate) fn prepare_logical_checkpoint(&self) -> Result<PreparedLogicalCheckpoint> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1329 |     pub fn append_metadata(&mut self, event: TranscriptEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1336 |     fn active_context_snapshot(&self) -> Result<transcript_projection::SessionRestoreSnapshot> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1365 |     fn current_context_tree_state(&self) -> Result<crate::context_tree::ContextTreeState> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1369 |     fn current_active_context_node_id(&self) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1376 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_id_for_branch` is never used
[INFO] [stdout]     --> src/transcript.rs:1589:4
[INFO] [stdout]      |
[INFO] [stdout] 1589 | fn context_node_id_for_branch(branch_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_child_session_records` is never used
[INFO] [stdout]     --> src/transcript.rs:2160:8
[INFO] [stdout]      |
[INFO] [stdout] 2160 | 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:2187:8
[INFO] [stdout]      |
[INFO] [stdout] 2187 | 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:2194:15
[INFO] [stdout]      |
[INFO] [stdout] 2194 | 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:2200:15
[INFO] [stdout]      |
[INFO] [stdout] 2200 | 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:2219:8
[INFO] [stdout]      |
[INFO] [stdout] 2219 | 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:2228:8
[INFO] [stdout]      |
[INFO] [stdout] 2228 | 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:2238:8
[INFO] [stdout]      |
[INFO] [stdout] 2238 | 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:2274:8
[INFO] [stdout]      |
[INFO] [stdout] 2274 | pub fn restore_max_turn_id(records: &[TranscriptRecord]) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_context_return_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2384:4
[INFO] [stdout]      |
[INFO] [stdout] 2384 | fn required_context_return_string(data: &Value, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_context_return_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2397:4
[INFO] [stdout]      |
[INFO] [stdout] 2397 | fn optional_context_return_string(data: &Value, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slugify_branch_label` is never used
[INFO] [stdout]     --> src/transcript.rs:2462:4
[INFO] [stdout]      |
[INFO] [stdout] 2462 | fn slugify_branch_label(label: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_context_branch_id` is never used
[INFO] [stdout]     --> src/transcript.rs:2477:4
[INFO] [stdout]      |
[INFO] [stdout] 2477 | fn next_context_branch_id(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_metadata_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2575:4
[INFO] [stdout]      |
[INFO] [stdout] 2575 | fn required_metadata_string(metadata: &Value, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2583:4
[INFO] [stdout]      |
[INFO] [stdout] 2583 | fn optional_metadata_string(metadata: &Value, field: &str) -> Option<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_u32` is never used
[INFO] [stdout]     --> src/transcript.rs:2590:4
[INFO] [stdout]      |
[INFO] [stdout] 2590 | fn optional_metadata_u32(metadata: &Value, field: &str) -> Result<Option<u32>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_u64` is never used
[INFO] [stdout]     --> src/transcript.rs:2612:4
[INFO] [stdout]      |
[INFO] [stdout] 2612 | fn optional_metadata_u64(metadata: &Value, field: &str) -> Result<Option<u64>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `history_item_to_conversation_message` is never used
[INFO] [stdout]     --> src/transcript.rs:2630:4
[INFO] [stdout]      |
[INFO] [stdout] 2630 | fn history_item_to_conversation_message(item: HistoryItem) -> Option<ConversationMessage> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionRestoreSnapshot` is never constructed
[INFO] [stdout]   --> src/transcript/transcript_projection.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[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 `build_session_context_snapshot` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub(crate) fn build_session_context_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: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:647:15
[INFO] [stdout]     |
[INFO] [stdout] 647 | 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:674:15
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub(crate) fn validate_context_projection_events(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_compaction_closure` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:795:15
[INFO] [stdout]     |
[INFO] [stdout] 795 | pub(crate) fn classify_compaction_closure(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_context_compaction_event` is never used
[INFO] [stdout]     --> src/transcript/transcript_projection.rs:1288:15
[INFO] [stdout]      |
[INFO] [stdout] 1288 | pub(crate) fn validate_context_compaction_event(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_context_tree` is never used
[INFO] [stdout]  --> src/transcript/transcript_projection/context_tree.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn project_context_tree(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_history_projection` is never used
[INFO] [stdout]   --> src/transcript/transcript_projection/history.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn restore_session_history_projection(records: &[TranscriptRecord]) -> Vec<HistoryItem> {
[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:728:4
[INFO] [stdout]     |
[INFO] [stdout] 728 | 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:1173:4
[INFO] [stdout]      |
[INFO] [stdout] 1173 | fn element_muted_style(theme: Theme) -> ratatui::style::Style {
[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: associated functions `new` and `with_context_window` are never used
[INFO] [stdout]    --> src/tui/runtime.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl AvailableModel {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 136 |     pub fn new(id: impl Into<String>, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     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:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | 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:295:12
[INFO] [stdout]      |
[INFO] [stdout]  263 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  295 |     pub fn state_mut(&mut self) -> &mut TuiState {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  303 |     pub fn submitted_prompts(&self) -> &[String] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  307 |     pub fn pending_permission_handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  549 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  934 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |     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:2750:4
[INFO] [stdout]      |
[INFO] [stdout] 2750 | 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:2794:8
[INFO] [stdout]      |
[INFO] [stdout] 2789 | impl LocalToolOutputMode {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2794 |     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:2826:4
[INFO] [stdout]      |
[INFO] [stdout] 2826 | 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:2885:4
[INFO] [stdout]      |
[INFO] [stdout] 2885 | 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:3005:4
[INFO] [stdout]      |
[INFO] [stdout] 3005 | 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:3120:4
[INFO] [stdout]      |
[INFO] [stdout] 3120 | 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:3130:4
[INFO] [stdout]      |
[INFO] [stdout] 3130 | 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:3148:4
[INFO] [stdout]      |
[INFO] [stdout] 3148 | 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:3175:4
[INFO] [stdout]      |
[INFO] [stdout] 3175 | 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:3183:4
[INFO] [stdout]      |
[INFO] [stdout] 3183 | 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:3214:4
[INFO] [stdout]      |
[INFO] [stdout] 3214 | 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:3230:4
[INFO] [stdout]      |
[INFO] [stdout] 3230 | 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:3240:4
[INFO] [stdout]      |
[INFO] [stdout] 3240 | 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:3255:4
[INFO] [stdout]      |
[INFO] [stdout] 3255 | 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:3280:4
[INFO] [stdout]      |
[INFO] [stdout] 3280 | 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:3386:4
[INFO] [stdout]      |
[INFO] [stdout] 3386 | 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:1324:12
[INFO] [stdout]      |
[INFO] [stdout]  895 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1324 |     pub fn transcript_scroll_offset(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1364 |     pub fn transcript_is_at_bottom(&self, total_rows: usize, viewport_rows: u16) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1378 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1382 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1424 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1434 |     pub fn replace_session_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1439 |     pub fn try_replace_session_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1492 |     pub fn replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1514 |     pub fn try_replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1593 |     pub fn refresh_child_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1598 |     pub fn try_refresh_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1848 |     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:2550:4
[INFO] [stdout]      |
[INFO] [stdout] 2550 | 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:2564:4
[INFO] [stdout]      |
[INFO] [stdout] 2564 | 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: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 31 |     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:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 208 |     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:265:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 265 |     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:276:4
[INFO] [stdout]     |
[INFO] [stdout] 276 | 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:358:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 358 |     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:407:12
[INFO] [stdout]      |
[INFO] [stdout]  406 | impl Timeline {
[INFO] [stdout]      | ------------- associated items in this implementation
[INFO] [stdout]  407 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  411 |     pub fn from_conversation(messages: Vec<ConversationMessage>) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1033 |     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:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |                 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:749:17
[INFO] [stdout]     |
[INFO] [stdout] 749 |                 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:754:21
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 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:819:28
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 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:825:17
[INFO] [stdout]     |
[INFO] [stdout] 825 |                 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:1541:13
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         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:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         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:1744:20
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         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:1769:20
[INFO] [stdout]      |
[INFO] [stdout] 1769 |         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: `pool_ordinal`
[INFO] [stdout]     --> src/tui/runtime.rs:8786:13
[INFO] [stdout]      |
[INFO] [stdout] 8786 |             pool_ordinal,
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: try ignoring the field: `pool_ordinal: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scope`, `protocol_frames`, and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 460 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 461 |     scope: ActiveContextExperiment,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 462 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 463 |     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`, `append_protocol_frame`, `run_stream_content_async`, and `next_evidence_sequence` are never used
[INFO] [stdout]     --> src/agent.rs:762:12
[INFO] [stdout]      |
[INFO] [stdout]  530 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  762 |     pub fn logical_checkpoint_control(&self) -> LogicalCheckpointControl {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  770 |     pub(crate) fn clear_logical_checkpoint_request(&self) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1651 |     pub(super) fn append_protocol_frame(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2028 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2269 |     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:3108:4
[INFO] [stdout]      |
[INFO] [stdout] 3108 | 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:3125:4
[INFO] [stdout]      |
[INFO] [stdout] 3125 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_runtime_provenance` is never used
[INFO] [stdout]     --> src/agent.rs:3583:4
[INFO] [stdout]      |
[INFO] [stdout] 3583 | fn merge_runtime_provenance(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4118:4
[INFO] [stdout]      |
[INFO] [stdout] 4118 | 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:4482:4
[INFO] [stdout]      |
[INFO] [stdout] 4482 | 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 `select_compaction_attempt` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:816:4
[INFO] [stdout]     |
[INFO] [stdout] 816 | fn select_compaction_attempt(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dependent_projection_ids` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1075:4
[INFO] [stdout]      |
[INFO] [stdout] 1075 | fn dependent_projection_ids(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retained_compaction_spans` is never used
[INFO] [stdout]     --> src/agent/compaction.rs:1120:15
[INFO] [stdout]      |
[INFO] [stdout] 1120 | pub(super) fn retained_compaction_spans(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkpoint_candidate_for` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2223:8
[INFO] [stdout]      |
[INFO] [stdout] 2223 |     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:2323:8
[INFO] [stdout]      |
[INFO] [stdout] 2323 |     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:2354:8
[INFO] [stdout]      |
[INFO] [stdout] 2354 |     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:2388:14
[INFO] [stdout]      |
[INFO] [stdout] 2388 |     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:2411:8
[INFO] [stdout]      |
[INFO] [stdout] 2411 |     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:2464:8
[INFO] [stdout]      |
[INFO] [stdout] 2464 |     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:2474:8
[INFO] [stdout]      |
[INFO] [stdout] 2474 |     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:2501:14
[INFO] [stdout]      |
[INFO] [stdout] 2501 |     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:1549:4
[INFO] [stdout]      |
[INFO] [stdout] 1549 | 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:2047:10
[INFO] [stdout]      |
[INFO] [stdout] 2047 | 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:2288:10
[INFO] [stdout]      |
[INFO] [stdout] 2288 | 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:2602:8
[INFO] [stdout]      |
[INFO] [stdout] 2602 | struct ProtectedOverflowTool(Arc<AtomicUsize>);
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SoftPressureTool` is never constructed
[INFO] [stdout]     --> src/agent/tests.rs:2631:8
[INFO] [stdout]      |
[INFO] [stdout] 2631 | 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:2657:4
[INFO] [stdout]      |
[INFO] [stdout] 2657 | 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:2662:4
[INFO] [stdout]      |
[INFO] [stdout] 2662 | 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:2697:10
[INFO] [stdout]      |
[INFO] [stdout] 2697 | 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:2774:10
[INFO] [stdout]      |
[INFO] [stdout] 2774 | 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:456:5
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub(crate) enum LogicalRequestUnitCategory {
[INFO] [stdout]     |                 -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 456 |     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: method `is_terminal` is never used
[INFO] [stdout]    --> src/session/event.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SessionEvent {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 127 |     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/session/event.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     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/session/event.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl AssistantDeltaEvent {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     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/session/event.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl NoticeEvent {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn success(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn recoverable_error(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SessionEventSink` is never used
[INFO] [stdout]   --> src/session/ports.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait SessionEventSink {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPorts` is never constructed
[INFO] [stdout]   --> src/session/ports.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SessionPorts;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ContextTreeUpdated`, `ContextViewUpdated`, `ContextDetailOpened`, `FoldedOutputsUpdated`, and `ContextSummaryUpdated` are never constructed
[INFO] [stdout]    --> src/session/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]     = 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/session/runner.rs:442:12
[INFO] [stdout]     |
[INFO] [stdout] 441 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated functions in this implementation
[INFO] [stdout] 442 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cancel_agent`, `is_agent_running`, `active_children`, and `busy_error_message` are never used
[INFO] [stdout]    --> src/subagent.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl SubagentPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn cancel_agent(&self, agent_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn is_agent_running(&self, agent_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn active_children(&self) -> Vec<ChildSessionSummary> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 719 |     fn busy_error_message(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]     --> src/subagent.rs:1181:4
[INFO] [stdout]      |
[INFO] [stdout] 1181 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:433:12
[INFO] [stdout]      |
[INFO] [stdout]  287 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  433 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  478 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  497 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  501 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  530 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  534 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  538 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  542 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  568 |     pub fn record_context_summary_artifact_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  593 |     pub fn record_context_tool_pending_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  604 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  991 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1336 |     fn active_context_snapshot(&self) -> Result<transcript_projection::SessionRestoreSnapshot> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1365 |     fn current_context_tree_state(&self) -> Result<crate::context_tree::ContextTreeState> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1369 |     fn current_active_context_node_id(&self) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1376 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_id_for_branch` is never used
[INFO] [stdout]     --> src/transcript.rs:1589:4
[INFO] [stdout]      |
[INFO] [stdout] 1589 | fn context_node_id_for_branch(branch_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_context_return_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2384:4
[INFO] [stdout]      |
[INFO] [stdout] 2384 | fn required_context_return_string(data: &Value, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_context_return_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2397:4
[INFO] [stdout]      |
[INFO] [stdout] 2397 | fn optional_context_return_string(data: &Value, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slugify_branch_label` is never used
[INFO] [stdout]     --> src/transcript.rs:2462:4
[INFO] [stdout]      |
[INFO] [stdout] 2462 | fn slugify_branch_label(label: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_context_branch_id` is never used
[INFO] [stdout]     --> src/transcript.rs:2477:4
[INFO] [stdout]      |
[INFO] [stdout] 2477 | fn next_context_branch_id(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_metadata_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2575:4
[INFO] [stdout]      |
[INFO] [stdout] 2575 | fn required_metadata_string(metadata: &Value, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2583:4
[INFO] [stdout]      |
[INFO] [stdout] 2583 | fn optional_metadata_string(metadata: &Value, field: &str) -> Option<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_u32` is never used
[INFO] [stdout]     --> src/transcript.rs:2590:4
[INFO] [stdout]      |
[INFO] [stdout] 2590 | fn optional_metadata_u32(metadata: &Value, field: &str) -> Result<Option<u32>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_metadata_u64` is never used
[INFO] [stdout]     --> src/transcript.rs:2612:4
[INFO] [stdout]      |
[INFO] [stdout] 2612 | fn optional_metadata_u64(metadata: &Value, field: &str) -> Result<Option<u64>> {
[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 `classify_compaction_closure` is never used
[INFO] [stdout]    --> src/transcript/transcript_projection.rs:795:15
[INFO] [stdout]     |
[INFO] [stdout] 795 | pub(crate) fn classify_compaction_closure(
[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:728:4
[INFO] [stdout]     |
[INFO] [stdout] 728 | 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:1173:4
[INFO] [stdout]      |
[INFO] [stdout] 1173 | fn element_muted_style(theme: Theme) -> ratatui::style::Style {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopDrawer` is never constructed
[INFO] [stdout]    --> src/tui/runtime.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | 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:549:12
[INFO] [stdout]      |
[INFO] [stdout]  263 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  549 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  934 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |     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:2750:4
[INFO] [stdout]      |
[INFO] [stdout] 2750 | 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:2794:8
[INFO] [stdout]      |
[INFO] [stdout] 2789 | impl LocalToolOutputMode {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2794 |     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:2826:4
[INFO] [stdout]      |
[INFO] [stdout] 2826 | 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:2885:4
[INFO] [stdout]      |
[INFO] [stdout] 2885 | 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:3130:4
[INFO] [stdout]      |
[INFO] [stdout] 3130 | 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:3175:4
[INFO] [stdout]      |
[INFO] [stdout] 3175 | 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:1378:12
[INFO] [stdout]      |
[INFO] [stdout]  895 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1378 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1382 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1424 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1848 |     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: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 31 |     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:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 208 |     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:265:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 265 |     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:358:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 358 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s
[INFO] running `Command { std: "docker" "inspect" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d", kill_on_drop: false }`
[INFO] [stdout] ed188a088a1adbc5880b4e079d51bdf3f8489213e5faaf9f711ee445430de90d
