[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] d4d30ec5bd9cc29c56d702464892a575053c39e0
[INFO] checking letr007/letcode against 1af98b7cdf86932b76182a387f52f1be6f0c1be0 for pr-159706
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letr007/letcode on toolchain 1af98b7cdf86932b76182a387f52f1be6f0c1be0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "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" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded reqwest v0.13.3
[INFO] [stderr]   Downloaded opentelemetry v0.31.0
[INFO] [stderr]   Downloaded tracing-opentelemetry v0.32.1
[INFO] [stderr]   Downloaded aws-lc-rs v1.17.0
[INFO] [stderr]   Downloaded opentelemetry-langfuse v0.6.1
[INFO] [stderr]   Downloaded kqueue-sys v1.1.2
[INFO] [stderr]   Downloaded inotify-sys v0.1.8
[INFO] [stderr]   Downloaded opentelemetry-otlp v0.31.1
[INFO] [stderr]   Downloaded opentelemetry-proto v0.31.0
[INFO] [stderr]   Downloaded opentelemetry-http v0.31.0
[INFO] [stderr]   Downloaded notify-types v2.1.0
[INFO] [stderr]   Downloaded kqueue v1.2.1
[INFO] [stderr]   Downloaded inotify v0.11.4
[INFO] [stderr]   Downloaded pulldown-cmark v0.13.4
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded opentelemetry_sdk v0.31.0
[INFO] [stderr]   Downloaded async-openai v0.38.2
[INFO] [stderr]   Downloaded aws-lc-sys v0.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3
[INFO] running `Command { std: "docker" "start" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3", 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" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3" "/opt/rustwide/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3", 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" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3" "/opt/rustwide/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking parking_lot v0.12.5
[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]     Checking rand v0.9.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking inotify v0.11.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[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 tonic-prost v0.14.6
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.1
[INFO] [stderr]     Checking opentelemetry-langfuse v0.6.1
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.3
[INFO] [stderr]     Checking async-openai v0.38.2
[INFO] [stderr]     Checking letcode v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2695:29
[INFO] [stdout]      |
[INFO] [stdout] 2695 |     use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]      |                             ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2696:21
[INFO] [stdout]      |
[INFO] [stdout] 2696 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]      |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `describe_history_item` and `render_compaction_prompt`
[INFO] [stdout]    --> src/agent.rs:104:69
[INFO] [stdout]     |
[INFO] [stdout] 104 |     compaction_history_char_budget, default_preserve_recent_budget, describe_history_item,
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |     render_bounded_compaction_history, render_compaction_prompt,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompatibleChatCompletionStreamResponse`, `append_sse_chunk`, `drain_sse_data_events`, `is_ignorable_response_lifecycle_event`, and `project_response_stream_event`
[INFO] [stdout]    --> src/agent.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     CompatibleChatCompletionStreamResponse, CompatibleChatCompletionStreamResponseDelta,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     append_sse_chunk, drain_sse_data_events, is_ignorable_response_lifecycle_event,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |     project_response_stream_event, send_compatible_chat_completion_stream,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::agent_event_journal::persist_agent_event`
[INFO] [stdout]  --> src/agent/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::agent_event_journal::persist_agent_event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextNodeStatus` and `ContextTreeState`
[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] 
[INFO] [stdout] warning: unused imports: `ContextBlockId` and `ContextViewProjection`
[INFO] [stdout]  --> src/agent/tests.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::context_view::{ContextBlockId, ContextViewProjection};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FrameVisibility`, `PromptContributorKind`, `PromptContributorPlaceholder`, `RuntimeChildSession`, `RuntimeFrameIdSeed`, `RuntimeFrameKind`, `RuntimeFrameProvenance`, `RuntimeSource`, and `SourceSpan`
[INFO] [stdout]   --> src/agent/tests.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     FrameVisibility, PromptContributorKind, PromptContributorPlaceholder, RuntimeChildSession,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     RuntimeFrame, RuntimeFrameIdSeed, RuntimeFrameKind, RuntimeFrameProvenance, RuntimeSource,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 10 |     SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionContextCursor`, `project_context_tree`, `project_context_view`, and `project_runtime_restore_snapshot`
[INFO] [stdout]   --> src/agent/tests.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     SessionContextCursor, project_context_tree, project_context_view,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     project_runtime_restore_snapshot,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActiveContextExperiment`, `TranscriptRecorder`, `read_records`, `restore_runtime_snapshot`, and `restore_session_history`
[INFO] [stdout]   --> src/agent/tests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     ActiveContextExperiment, ROOT_CONTEXT_BRANCH_ID, TranscriptEvent, TranscriptRecord,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     TranscriptRecorder, read_records, restore_runtime_snapshot, restore_session_history,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContextProjection`
[INFO] [stdout]    --> src/agent_event_journal.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use super::{ContextProjection, persist_agent_event};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evidence::EvidenceDraft`
[INFO] [stdout]    --> src/agent_event_journal.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     use crate::evidence::EvidenceDraft;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `has_session_content`, `restore_runtime_snapshot`, and `restore_session_evidence`
[INFO] [stdout]    --> src/agent_event_journal.rs:178:46
[INFO] [stdout]     |
[INFO] [stdout] 178 |         TranscriptEvent, TranscriptRecorder, has_session_content, read_records,
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 |         restore_runtime_snapshot, restore_session_evidence, restore_session_history,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextCompactionEvent` and `ValidationAdvisory`
[INFO] [stdout]     --> src/context_view.rs:1099:24
[INFO] [stdout]      |
[INFO] [stdout] 1099 |     use crate::agent::{ContextCompactionEvent, ToolExecutionSummaryEvent, ValidationAdvisory};
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool::ToolResult`
[INFO] [stdout]     --> src/context_view.rs:1100:9
[INFO] [stdout]      |
[INFO] [stdout] 1100 |     use crate::tool::ToolResult;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]     --> src/context_view.rs:1103:9
[INFO] [stdout]      |
[INFO] [stdout] 1103 |     use serde_json::json;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolEffectKind`
[INFO] [stdout]    --> src/evidence.rs:899:9
[INFO] [stdout]     |
[INFO] [stdout] 899 |         ToolEffectKind, ToolEffects, ToolExecutionRecord, ToolExecutionRejection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]    --> src/evidence.rs:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     use serde_json::json;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::request_builder::ToolSpec`
[INFO] [stdout]   --> src/mcp.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::request_builder::ToolSpec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]    --> src/mcp.rs:984:9
[INFO] [stdout]     |
[INFO] [stdout] 984 |     use std::fs;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::PermissionsExt`
[INFO] [stdout]    --> src/mcp.rs:987:9
[INFO] [stdout]     |
[INFO] [stdout] 987 |     use std::os::unix::fs::PermissionsExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EvidenceKind` and `EvidenceSource`
[INFO] [stdout]    --> src/memory.rs:496:27
[INFO] [stdout]     |
[INFO] [stdout] 496 |     use crate::evidence::{EvidenceKind, EvidenceSource};
[INFO] [stdout]     |                           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TranscriptRecorder`
[INFO] [stdout]    --> src/memory.rs:497:64
[INFO] [stdout]     |
[INFO] [stdout] 497 |     use crate::transcript::{TranscriptEvent, TranscriptRecord, TranscriptRecorder};
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextBlockId`, `ContextBlockKind`, `ContextBlockSource`, `ContextBlock`, and `ContextViewOperation`
[INFO] [stdout]     --> src/request_builder/prompt_plan.rs:1359:9
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         ContextBlock, ContextBlockId, ContextBlockKind, ContextBlockSource, ContextViewOperation,
[INFO] [stdout]      |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `history_items_from_frames`
[INFO] [stdout]     --> src/request_builder/prompt_plan.rs:1361:34
[INFO] [stdout]      |
[INFO] [stdout] 1361 |     use crate::protocol_frames::{history_items_from_frames, history_items_to_frames};
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::request_builder::HistoryToolCall`
[INFO] [stdout]     --> src/request_builder/prompt_plan.rs:1362:9
[INFO] [stdout]      |
[INFO] [stdout] 1362 |     use crate::request_builder::HistoryToolCall;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RuntimeFrameProvenance` and `SourceSpan`
[INFO] [stdout]     --> src/request_builder/prompt_plan.rs:1363:34
[INFO] [stdout]      |
[INFO] [stdout] 1363 |     use crate::runtime_context::{RuntimeFrameProvenance, RuntimeSnapshot, SourceSpan};
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UserImageAttachment` and `UserMessageContent`
[INFO] [stdout]     --> src/request_builder/prompt_plan.rs:1364:31
[INFO] [stdout]      |
[INFO] [stdout] 1364 |     use crate::user_content::{UserImageAttachment, UserMessageContent};
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserImageAttachment`
[INFO] [stdout]   --> src/request_builder.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::user_content::{UserImageAttachment, UserMessageContent};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_openai::types::chat::ChatCompletionRequestMessage`
[INFO] [stdout]   --> src/request_builder.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use async_openai::types::chat::ChatCompletionRequestMessage;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PromptPlanBuildInput` and `build_prompt_plan`
[INFO] [stdout]   --> src/request_builder.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | use prompt_plan::{PromptPlanBuildInput, build_prompt_plan};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextBlockKind`, `ContextBlockSource`, and `ContextBlock`
[INFO] [stdout]   --> src/request_builder/tests.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ContextBlock, ContextBlockId, ContextBlockKind, ContextBlockSource, ContextViewStatus,
[INFO] [stdout]    |     ^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runtime_context::RuntimeChildSession`
[INFO] [stdout]   --> src/request_builder/tests.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use crate::runtime_context::RuntimeChildSession;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `restore_session_history_projection`
[INFO] [stdout]   --> src/request_builder/tests.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     project_session_restore_snapshot, restore_session_history_projection,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_openai::Client`
[INFO] [stdout]    --> src/session/auto_review.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |     use async_openai::Client;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permission::PermissionMode`
[INFO] [stdout]    --> src/session/coordinator.rs:683:9
[INFO] [stdout]     |
[INFO] [stdout] 683 |     use crate::permission::PermissionMode;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::request_builder::ModelReasoningEffort`
[INFO] [stdout]    --> src/session/coordinator.rs:684:9
[INFO] [stdout]     |
[INFO] [stdout] 684 |     use crate::request_builder::ModelReasoningEffort;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]     --> src/session/engine.rs:2676:21
[INFO] [stdout]      |
[INFO] [stdout] 2676 |     use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]      |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool::ToolResult`
[INFO] [stdout]   --> src/session/interrupt.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use crate::tool::ToolResult;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/session/lifecycle.rs:297:9
[INFO] [stdout]     |
[INFO] [stdout] 297 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]    --> src/session/lifecycle.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |     use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]     |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoContinueState`, `CacheUsageReport`, `TodoItem`, and `TodoStatus`
[INFO] [stdout]     --> src/session/runner.rs:2268:24
[INFO] [stdout]      |
[INFO] [stdout] 2268 |     use crate::agent::{AutoContinueState, CacheUsageReport, TodoItem, TodoStatus};
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDecision` and `SessionEvent`
[INFO] [stdout]     --> src/session/runner.rs:2269:26
[INFO] [stdout]      |
[INFO] [stdout] 2269 |     use crate::session::{PermissionDecision, SessionEvent};
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]    --> src/session/settings.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     use serde_json::json;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `child_view::project_parent_session_view`
[INFO] [stdout]   --> src/session/mod.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) use child_view::project_parent_session_view;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::session::SessionTransportEvent`
[INFO] [stdout]     --> src/subagent.rs:1439:9
[INFO] [stdout]      |
[INFO] [stdout] 1439 |     use crate::session::SessionTransportEvent;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]    --> src/tool/command.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     use serde_json::json;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/tool/config_validate.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool::ToolRegistry`
[INFO] [stdout]   --> src/tool/config_validate.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     use crate::tool::ToolRegistry;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuestionRequest`
[INFO] [stdout]    --> src/tool/question.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |     use super::super::{QuestionRequest, QuestionResponse, ToolExecutionContext, ToolRegistry};
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assert_strict_tool_parameters` and `subagent_parameters_schema`
[INFO] [stdout]     --> src/tool.rs:2735:23
[INFO] [stdout]      |
[INFO] [stdout] 2735 |         ToolRegistry, assert_strict_tool_parameters, external_workspace_access_for_tool,
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2736 |         normalize_subagent_input, permission_resource_for_tool, prepare_apply_patch_targets,
[INFO] [stdout] 2737 |         prepare_writable_leaf, secure_write_writable_leaf, subagent_parameters_schema,
[INFO] [stdout]      |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionResource`
[INFO] [stdout]     --> src/tool.rs:2739:29
[INFO] [stdout]      |
[INFO] [stdout] 2739 |     use crate::permission::{PermissionResource, ToolScope};
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool::ToolOutputStream`
[INFO] [stdout]     --> src/tool.rs:2741:9
[INFO] [stdout]      |
[INFO] [stdout] 2741 |     use crate::tool::ToolOutputStream;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]     --> src/tool.rs:2743:22
[INFO] [stdout]      |
[INFO] [stdout] 2743 |     use serde_json::{Value, json};
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]     --> src/tool.rs:2745:26
[INFO] [stdout]      |
[INFO] [stdout] 2745 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]      |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_records_allow_partial_tail`
[INFO] [stdout]   --> src/transcript/transcript_projection/job_board.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |     use crate::transcript::{JobBoardEntry, read_records_allow_partial_tail};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidationAdvisory`
[INFO] [stdout]  --> src/transcript/transcript_projection/tests.rs:3:65
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::agent::{ToolExecutionSummaryEvent, TurnStartedEvent, ValidationAdvisory};
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrameVisibility`
[INFO] [stdout]   --> src/transcript/transcript_projection/tests.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::runtime_context::{FrameVisibility, RuntimeFrameId, RuntimeFrameKind, SourceSpan};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/transcript.rs:2863:9
[INFO] [stdout]      |
[INFO] [stdout] 2863 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tool_names`
[INFO] [stdout]  --> src/transcript/tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tool_names;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionContextCursor` and `project_runtime_restore_snapshot`
[INFO] [stdout]  --> src/transcript/tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     SessionContextCursor, project_runtime_restore_snapshot,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/tui/components/dialog.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Terminal` and `backend::TestBackend`
[INFO] [stdout]    --> src/tui/components/dialog.rs:212:19
[INFO] [stdout]     |
[INFO] [stdout] 212 |     use ratatui::{Terminal, backend::TestBackend};
[INFO] [stdout]     |                   ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TokenBudgetSegment`, `compaction_indicator_spans`, `footer_hint_spans`, `footer_status_spans`, `render_footer`, and `token_budget_cell`
[INFO] [stdout]    --> src/tui/components/footer.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout] 641 |         TokenBudgetSegment, compaction_indicator_spans, footer_hint_spans, footer_status_spans,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 642 |         render_footer, token_budget_cache_hit_percent, token_budget_cell,
[INFO] [stdout]     |         ^^^^^^^^^^^^^                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppPhase`, `TuiState`, and `session::RetryLifecycleEvent`
[INFO] [stdout]    --> src/tui/components/footer.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout] 646 |         session::RetryLifecycleEvent,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 647 |         tui::{AppPhase, TuiState},
[INFO] [stdout]     |               ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Terminal`, `backend::TestBackend`, and `layout::Rect`
[INFO] [stdout]    --> src/tui/components/footer.rs:649:19
[INFO] [stdout]     |
[INFO] [stdout] 649 |     use ratatui::{Terminal, backend::TestBackend, layout::Rect};
[INFO] [stdout]     |                   ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::style::Modifier`
[INFO] [stdout]    --> src/tui/components/todo_card.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     use ratatui::style::Modifier;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transcript_row_count`
[INFO] [stdout]     --> src/tui/components/transcript.rs:1597:75
[INFO] [stdout]      |
[INFO] [stdout] 1597 |         cached_transcript_row_count, render_transcript, transcript_lines, transcript_row_count,
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoContinueChangedEvent`, `AutoContinueState`, `ContextDetailTarget`, `ReasoningDeltaEvent`, and `ThemeName`
[INFO] [stdout]     --> src/tui/components/transcript.rs:1601:17
[INFO] [stdout]      |
[INFO] [stdout] 1601 |         agent::{AutoContinueState, TodoItem, TodoStatus},
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1605 |             AssistantDeltaEvent, ErrorEvent, PermissionRequestEvent, ReasoningDeltaEvent,
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1608 |             events::{AutoContinueChangedEvent, TodoSnapshotEvent},
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1609 |             state::{ContextDetailTarget, TuiState},
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1610 |             theme::{Theme, ThemeName},
[INFO] [stdout]      |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppPhase`
[INFO] [stdout]    --> src/tui/input.rs:548:22
[INFO] [stdout]     |
[INFO] [stdout] 548 |     use crate::tui::{AppPhase, PermissionRequestEvent};
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantDeltaEvent`, `ErrorEvent`, `ToolFinishedEvent`, `ToolOutcome`, `ToolStartedEvent`, and `UserMessageEvent`
[INFO] [stdout]     --> src/tui/render.rs:1012:9
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         AssistantDeltaEvent, ErrorEvent, PermissionRequestEvent, SessionEvent, ToolFinishedEvent,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1013 |         ToolOutcome, ToolStartedEvent, UserMessageEvent,
[INFO] [stdout]      |         ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Position`
[INFO] [stdout]     --> src/tui/render.rs:1018:18
[INFO] [stdout]      |
[INFO] [stdout] 1018 |         layout::{Position, Rect},
[INFO] [stdout]      |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::events::NoticeEvent`
[INFO] [stdout]   --> src/tui/runtime/tests.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::tui::events::NoticeEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `empty_session_path`
[INFO] [stdout]   --> src/tui/runtime/tests.rs:32:44
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::tui::runtime::session_cleanup::{empty_session_path, remove_current_empty_session};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDecision` and `ToolStartedEvent`
[INFO] [stdout]   --> src/tui/runtime/tests.rs:34:36
[INFO] [stdout]    |
[INFO] [stdout] 34 |     AppPhase, AssistantDeltaEvent, PermissionDecision, PermissionRequestEvent,
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     PermissionResolutionEvent, SessionEvent, TimelineItem, ToolFinishedEvent, ToolOutcome,
[INFO] [stdout] 36 |     ToolStartedEvent, UserMessageEvent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoContinueState`, `TodoItem`, and `TodoStatus`
[INFO] [stdout]     --> src/tui/state/mod.rs:2575:24
[INFO] [stdout]      |
[INFO] [stdout] 2575 |     use crate::agent::{AutoContinueState, TodoItem, TodoStatus};
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoContinueChangedEvent`, `ContextTreeUpdatedEvent`, `ContextViewUpdatedEvent`, `ErrorEvent`, `NoticeKind`, `RetryLifecycleEvent`, and `TodoSnapshotEvent`
[INFO] [stdout]     --> src/tui/state/mod.rs:2579:9
[INFO] [stdout]      |
[INFO] [stdout] 2579 |         AutoContinueChangedEvent, ContextTreeUpdatedEvent, ContextViewUpdatedEvent, ErrorEvent,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 2580 |         NoticeEvent, NoticeKind, PermissionResolutionEvent, ProcessIssueEvent, RetryLifecycleEvent,
[INFO] [stdout]      |                      ^^^^^^^^^^                                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2581 |         SessionEvent, TodoSnapshotEvent, ToolCancelledEvent, ToolPendingEvent,
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/tui/terminal.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoContinueState`, `TodoItem`, and `TodoStatus`
[INFO] [stdout]     --> src/tui/timeline.rs:1265:24
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     use crate::agent::{AutoContinueState, TodoItem, TodoStatus};
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToolOutputStream` and `ToolResult`
[INFO] [stdout]     --> src/tui/timeline.rs:1266:23
[INFO] [stdout]      |
[INFO] [stdout] 1266 |     use crate::tool::{ToolOutputStream, ToolResult};
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/request_builder/tests.rs:947:17
[INFO] [stdout]     |
[INFO] [stdout] 947 |             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]     = 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/request_builder/tests.rs:1043:9
[INFO] [stdout]      |
[INFO] [stdout] 1043 |     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:961:9
[INFO] [stdout]     |
[INFO] [stdout] 961 |     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: methods `current_turn`, `tool_scope`, `append_protocol_frame`, `run_stream_content_async`, and `execute_subagent_tool` are never used
[INFO] [stdout]     --> src/agent.rs:1204:8
[INFO] [stdout]      |
[INFO] [stdout]  741 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1204 |     fn current_turn(&self) -> &WorkflowTurnState {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1306 |     pub fn tool_scope(&self) -> ToolScope {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2019 |     pub(super) fn append_protocol_frame(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2393 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2506 |     async fn execute_subagent_tool(&self, tool_name: &str, args: &Value) -> ToolResult {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_compaction_prompt` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:620:15
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub(super) fn render_compaction_prompt(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepared_build_agent` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2698:8
[INFO] [stdout]      |
[INFO] [stdout] 2698 |     fn prepared_build_agent() -> Agent<OpenAIConfig> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Group16Tool` is never constructed
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2940:12
[INFO] [stdout]      |
[INFO] [stdout] 2940 |     struct Group16Tool;
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepared_group_16_agent` is never used
[INFO] [stdout]     --> src/agent/protocol_stream.rs:2961:8
[INFO] [stdout]      |
[INFO] [stdout] 2961 |     fn prepared_group_16_agent() -> Agent<OpenAIConfig> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `observed_units` is never used
[INFO] [stdout]   --> src/agent/tests.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn observed_units(digests: &[&str]) -> crate::request_builder::LogicalRequestObservation {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcript_record` is never used
[INFO] [stdout]    --> src/agent/tests.rs:556:4
[INFO] [stdout]     |
[INFO] [stdout] 556 | fn transcript_record(sequence: u64, event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `responses_terminal_sse` is never used
[INFO] [stdout]    --> src/agent/tests.rs:709:4
[INFO] [stdout]     |
[INFO] [stdout] 709 | fn responses_terminal_sse(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `response_error_sse` is never used
[INFO] [stdout]    --> src/agent/tests.rs:732:4
[INFO] [stdout]     |
[INFO] [stdout] 732 | fn response_error_sse(code: Option<&str>, message: &str) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_final_sse_with_usage` is never used
[INFO] [stdout]    --> src/agent/tests.rs:769:4
[INFO] [stdout]     |
[INFO] [stdout] 769 | fn chat_final_sse_with_usage(text: &str) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CapturingSubagentDelegate` is never constructed
[INFO] [stdout]     --> src/agent/tests.rs:1803:8
[INFO] [stdout]      |
[INFO] [stdout] 1803 | struct CapturingSubagentDelegate {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PollCountingSubagentDelegate` is never constructed
[INFO] [stdout]     --> src/agent/tests.rs:1850:8
[INFO] [stdout]      |
[INFO] [stdout] 1850 | struct PollCountingSubagentDelegate {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capturing_delegate` is never used
[INFO] [stdout]     --> src/agent/tests.rs:1903:4
[INFO] [stdout]      |
[INFO] [stdout] 1903 | fn capturing_delegate(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_one_shot_error` is never used
[INFO] [stdout]    --> src/cli.rs:808:15
[INFO] [stdout]     |
[INFO] [stdout] 808 | pub(crate) fn record_one_shot_error(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_openai_prompt_cache_model` is never used
[INFO] [stdout]     --> src/config.rs:2260:8
[INFO] [stdout]      |
[INFO] [stdout] 2260 |     fn load_openai_prompt_cache_model(prompt_cache: &str) -> ModelConfig {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_summary_artifacts_for_node` is never used
[INFO] [stdout]    --> src/context_view.rs:384:19
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl ContextViewProjection {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub(crate) fn list_summary_artifacts_for_node(&self, node_id: &str) -> Vec<&SummaryArtifact> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tool_execution_record` is never used
[INFO] [stdout]    --> src/evidence.rs:924:8
[INFO] [stdout]     |
[INFO] [stdout] 924 |     fn tool_execution_record(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_process_exit` is never used
[INFO] [stdout]     --> src/mcp.rs:1027:14
[INFO] [stdout]      |
[INFO] [stdout] 1027 |     async fn wait_for_process_exit(pid: i32) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record` is never used
[INFO] [stdout]    --> src/memory.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn record(sequence: u64, event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request_with_frozen` is never used
[INFO] [stdout]    --> src/request_builder.rs:688:15
[INFO] [stdout]     |
[INFO] [stdout] 688 | pub(crate) fn build_request_with_frozen(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_view_history_adapter` is never used
[INFO] [stdout]    --> src/request_builder.rs:937:15
[INFO] [stdout]     |
[INFO] [stdout] 937 | 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:966:4
[INFO] [stdout]     |
[INFO] [stdout] 966 | 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:1093:15
[INFO] [stdout]      |
[INFO] [stdout] 1093 | 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:1114:4
[INFO] [stdout]      |
[INFO] [stdout] 1114 | 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:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | 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:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | 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:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | 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:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | 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:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | 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:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | 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:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | 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:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | 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:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | 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:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | 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:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | 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:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn format_summary_artifact(artifact: &crate::context_view::SummaryArtifact) -> 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:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | 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:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | 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:346:4
[INFO] [stdout]     |
[INFO] [stdout] 346 | 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:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn protected_reason_label(reason: ProtectedReason) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `excerpt` is never used
[INFO] [stdout]    --> src/request_builder/context_view_adapter.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn excerpt(text: &str, max_chars: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adapter_summary_texts` is never used
[INFO] [stdout]   --> src/request_builder/tests.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn adapter_summary_texts(adapter: &HistoryAdapterProjection) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cache_config` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn cache_config(retention: Option<PromptCacheRetention>) -> PromptCacheConfig {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cache_test_result` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn cache_test_result(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `without_cache_fields` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn without_cache_fields(mut request: Value) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enabled_model_metadata` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn enabled_model_metadata() -> ModelRequestMetadata {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `png_data_url` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn png_data_url(width: u32, height: u32, trailing_bytes: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_json_f64_close` is never used
[INFO] [stdout]    --> src/request_builder/tests.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn assert_json_f64_close(value: &serde_json::Value, expected: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestMissingField` is never constructed
[INFO] [stdout]    --> src/retry.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 356 |     struct TestMissingField {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestEnumHolder` is never constructed
[INFO] [stdout]    --> src/retry.rs:361:12
[INFO] [stdout]     |
[INFO] [stdout] 361 |     struct TestEnumHolder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TestEnum` is never used
[INFO] [stdout]    --> src/retry.rs:367:10
[INFO] [stdout]     |
[INFO] [stdout] 367 |     enum TestEnum {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `child` is never used
[INFO] [stdout]    --> src/session/child_view.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn child(id: &str) -> ChildSessionSummary {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `is_idle_command` and `ownership` are never used
[INFO] [stdout]    --> src/session/coordinator.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl SessionCoordinator {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 629 |     pub fn is_idle_command(command: &SessionCommand) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub fn ownership(command: &SessionCommand) -> CommandOwnership {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CommandOwnership` is never used
[INFO] [stdout]    --> src/session/coordinator.rs:673:10
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub enum CommandOwnership {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_shutdown`, `shutdown`, and `event_sender` are never used
[INFO] [stdout]    --> src/session/engine.rs:379:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl SessionEngine {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn request_shutdown(&self) -> Result<(), SessionEngineIngressError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub async fn shutdown(self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub(crate) fn event_sender(&self) -> mpsc::UnboundedSender<SessionTransportEvent> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `child_view_event` is never used
[INFO] [stdout]     --> src/session/engine.rs:2724:8
[INFO] [stdout]      |
[INFO] [stdout] 2724 |     fn child_view_event(event: SessionTransportEvent) -> (String, usize, usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_started` is never used
[INFO] [stdout]   --> src/session/interrupt.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn turn_started(turn_id: u64) -> TranscriptEvent {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record` is never used
[INFO] [stdout]   --> src/session/interrupt.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn record(sequence: u64, event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_new_transcript_session` is never used
[INFO] [stdout]   --> src/session/lifecycle.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn start_new_transcript_session(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_session_records` is never used
[INFO] [stdout]    --> src/session/lifecycle.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn load_session_records(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_resume_transcript` is never used
[INFO] [stdout]    --> src/session/lifecycle.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn open_resume_transcript(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_resume_transcript_with_records` is never used
[INFO] [stdout]    --> src/session/lifecycle.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn open_resume_transcript_with_records(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `session_resumed_event` is never used
[INFO] [stdout]    --> src/session/restore.rs:372:4
[INFO] [stdout]     |
[INFO] [stdout] 372 | fn session_resumed_event(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `silent_with_transcript`, `run_internal_prompt`, `emit_session_title_updated`, `record_model_changed`, and `record_permission_mode_changed` are never used
[INFO] [stdout]     --> src/session/runner.rs:643:12
[INFO] [stdout]      |
[INFO] [stdout]  641 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout]  642 |     #[cfg(test)]
[INFO] [stdout]  643 |     pub fn new(event_tx: SessionTransportEventSender) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  685 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub async fn run_internal_prompt(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1442 |     fn emit_session_title_updated(&self, session_id: String, title: String) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1454 |     pub fn record_model_changed(&self, previous_model: &str, new_model: &str) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1461 |     pub fn record_permission_mode_changed(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unspanned_skill_output_frame` is never used
[INFO] [stdout]     --> src/skills.rs:1190:8
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     fn unspanned_skill_output_frame(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_until` is never used
[INFO] [stdout]     --> src/subagent.rs:1479:14
[INFO] [stdout]      |
[INFO] [stdout] 1479 |     async fn wait_until<F>(mut condition: F)
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_endpoint` is never used
[INFO] [stdout]     --> src/subagent.rs:1506:14
[INFO] [stdout]      |
[INFO] [stdout] 1506 |     async fn spawn_endpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_strict_tool_parameters` is never used
[INFO] [stdout]    --> src/tool.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn assert_strict_tool_parameters(tool_name: &str, parameters: &Value) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_temp_config` is never used
[INFO] [stdout]   --> src/tool/config_validate.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn write_temp_config(name: &str, body: &str) -> std::path::PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:486:12
[INFO] [stdout]      |
[INFO] [stdout]  267 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  486 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  551 |     pub fn record_context_experiment_returned(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  573 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  593 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  598 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  628 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  633 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  638 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  643 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  671 |     pub fn record_context_summary_artifact_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  697 |     pub fn record_context_tool_pending_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1309 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     fn current_context_tree_state(&self) -> Result<crate::context_tree::ContextTreeState> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1331 |     fn current_active_context_node_id(&self) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1339 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_child_session_records` is never used
[INFO] [stdout]     --> src/transcript.rs:2284:8
[INFO] [stdout]      |
[INFO] [stdout] 2284 | pub fn read_child_session_records(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_context_return_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2532:4
[INFO] [stdout]      |
[INFO] [stdout] 2532 | 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:2546:4
[INFO] [stdout]      |
[INFO] [stdout] 2546 | fn optional_context_return_string(data: &Value, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_metadata_string` is never used
[INFO] [stdout]     --> src/transcript.rs:2689:4
[INFO] [stdout]      |
[INFO] [stdout] 2689 | 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:2698:4
[INFO] [stdout]      |
[INFO] [stdout] 2698 | 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:2706:4
[INFO] [stdout]      |
[INFO] [stdout] 2706 | 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:2729:4
[INFO] [stdout]      |
[INFO] [stdout] 2729 | fn optional_metadata_u64(metadata: &Value, field: &str) -> Result<Option<u64>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record` is never used
[INFO] [stdout]   --> src/transcript/transcript_projection/tests.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn record(event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PRIORITY_DROP_TEXT` is never used
[INFO] [stdout]     --> src/transcript/transcript_projection/tests.rs:2319:7
[INFO] [stdout]      |
[INFO] [stdout] 2319 | const MIN_PRIORITY_DROP_TEXT: usize = 64;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_rows` is never used
[INFO] [stdout]     --> src/tui/components/composer.rs:1153:8
[INFO] [stdout]      |
[INFO] [stdout] 1153 |     fn draw_rows(state: &mut TuiState, width: u16, height: u16) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leading_bar_color` is never used
[INFO] [stdout]     --> src/tui/components/composer.rs:1174:8
[INFO] [stdout]      |
[INFO] [stdout] 1174 |     fn leading_bar_color(state: &mut TuiState, width: u16, height: u16) -> Option<Color> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_cell_style` is never used
[INFO] [stdout]     --> src/tui/components/composer.rs:1188:8
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     fn composer_cell_style(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `color_distance` is never used
[INFO] [stdout]     --> src/tui/components/composer.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 |     fn color_distance(a: Color, b: Color) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plain_question_lines` is never used
[INFO] [stdout]     --> src/tui/components/tool_card.rs:2834:8
[INFO] [stdout]      |
[INFO] [stdout] 2834 |     fn plain_question_lines(tool: &ToolView, width: usize) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_question_padding_frame` is never used
[INFO] [stdout]     --> src/tui/components/tool_card.rs:2847:8
[INFO] [stdout]      |
[INFO] [stdout] 2847 |     fn assert_question_padding_frame(tool: &ToolView, width: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `set_row_metadata_for_test` are never used
[INFO] [stdout]   --> src/tui/components/transcript.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl TranscriptRenderCache {
[INFO] [stdout]    | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) fn set_row_metadata_for_test(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcript_row_count` is never used
[INFO] [stdout]    --> src/tui/components/transcript.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn transcript_row_count(state: &TuiState, theme: Theme, width: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_context_state` is never used
[INFO] [stdout]     --> src/tui/render.rs:1022:8
[INFO] [stdout]      |
[INFO] [stdout] 1022 |     fn sample_context_state() -> crate::tui::state::ContextPaneState {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `message` and `kind` are never used
[INFO] [stdout]    --> src/tui/runtime.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | impl StartupToast {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn message(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn kind(&self) -> ToastKind {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_dialog_items` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3192:4
[INFO] [stdout]      |
[INFO] [stdout] 3192 | 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:3297:4
[INFO] [stdout]      |
[INFO] [stdout] 3297 | fn context_detail_dialog(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_depth` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3391:4
[INFO] [stdout]      |
[INFO] [stdout] 3391 | 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:3410:4
[INFO] [stdout]      |
[INFO] [stdout] 3410 | 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:3435:4
[INFO] [stdout]      |
[INFO] [stdout] 3435 | 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:3443:4
[INFO] [stdout]      |
[INFO] [stdout] 3443 | fn context_block_detail_lines(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `truncate_dialog_text` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3469:4
[INFO] [stdout]      |
[INFO] [stdout] 3469 | fn truncate_dialog_text(text: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_session_path` is never used
[INFO] [stdout]   --> src/tui/runtime/session_cleanup.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) fn empty_session_path(path: &Path) -> Option<PathBuf> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cache_report` is never used
[INFO] [stdout]   --> src/tui/runtime/tests.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn cache_report(actual_cached_tokens: Option<u64>) -> CacheUsageReport {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_context_state` is never used
[INFO] [stdout]   --> src/tui/runtime/tests.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn sample_context_state() -> crate::tui::state::ContextPaneState {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_multi_question_request` is never used
[INFO] [stdout]    --> src/tui/runtime/tests.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn sample_multi_question_request() -> crate::tool::QuestionRequest {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skill_name` is never used
[INFO] [stdout]   --> src/tui/state/mod.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ComposerToken {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn skill_name(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parent_context_for_test`, `set_child_context_for_test`, `replace_session_timeline`, and `try_refresh_child_timeline_from_records_with_runtime_context` are never used
[INFO] [stdout]     --> src/tui/state/mod.rs:1175:12
[INFO] [stdout]      |
[INFO] [stdout] 1029 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1175 |     pub fn set_parent_context_for_test(&mut self, context: ContextPaneState) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1180 |     pub fn set_child_context_for_test(&mut self, context: ContextPaneState) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1664 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1895 |     pub fn try_refresh_child_timeline_from_records_with_runtime_context(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_context` is never used
[INFO] [stdout]     --> src/tui/state/mod.rs:2588:8
[INFO] [stdout]      |
[INFO] [stdout] 2588 |     fn runtime_context(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_update` is never used
[INFO] [stdout]     --> src/tui/state/mod.rs:2612:8
[INFO] [stdout]      |
[INFO] [stdout] 2612 |     fn runtime_update(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 33 |     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:177:10
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 213 |     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:276:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 276 |     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:391:12
[INFO] [stdout]     |
[INFO] [stdout] 390 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 391 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 56s
[INFO] running `Command { std: "docker" "inspect" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3", kill_on_drop: false }`
[INFO] [stdout] 0dea112337f49b799feada49f226ae9b6e7c3c7ae8b8ce8e62c7aa22f3d6faa3
