[INFO] cloning repository https://github.com/winoooops/herdr-agent-watcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/winoooops/herdr-agent-watcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwinoooops%2Fherdr-agent-watcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwinoooops%2Fherdr-agent-watcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 49ab194f027f55016960be8ae69740612c0a0c5a
[INFO] checking winoooops/herdr-agent-watcher against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwinoooops%2Fherdr-agent-watcher" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/winoooops/herdr-agent-watcher
[INFO] finished tweaking git repo https://github.com/winoooops/herdr-agent-watcher
[INFO] tweaked toml for git repo https://github.com/winoooops/herdr-agent-watcher written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/winoooops/herdr-agent-watcher on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/winoooops/herdr-agent-watcher 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded portable-pty v0.8.1
[INFO] [stderr]   Downloaded ts-rs v10.1.0
[INFO] [stderr]   Downloaded ts-rs-macros v10.1.0
[INFO] [stderr]   Downloaded env_logger v0.11.5
[INFO] [stderr]   Downloaded kqueue v1.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299
[INFO] running `Command { std: "docker" "start" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299", 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" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299", 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" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking icu_properties_data v2.2.0
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking lru v0.18.2
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]     Checking line-clipping v0.3.8
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking humantime v2.4.0
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling ts-rs-macros v10.1.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking portable-pty v0.8.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking ts-rs v10.1.0
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking ratatui-core v0.1.2
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.2
[INFO] [stderr]     Checking ratatui-widgets v0.3.2
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking ratatui v0.30.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking herdr-agent-watcher v0.2.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated functions `start` and `start_with_heartbeat` are never used
[INFO] [stdout]   --> src/daemon/state_server.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl StateServer {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 22 |     pub(crate) fn start(
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn start_with_heartbeat(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transcript_path` and `streamer` are never read
[INFO] [stdout]    --> src/agent/adapter/base/transcript_state.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | struct TranscriptRecoverySource {
[INFO] [stdout]     |        ------------------------ fields in this struct
[INFO] [stdout] 252 |     transcript_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 253 |     streamer: Arc<dyn TranscriptStreamer>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TranscriptRecoverySource` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recover_replies`, `recover_reviews`, `recover`, and `forget_recovery_source` are never used
[INFO] [stdout]    --> src/agent/adapter/base/transcript_state.rs:494:19
[INFO] [stdout]     |
[INFO] [stdout] 280 | impl TranscriptState {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub(crate) fn recover_replies(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     pub(crate) fn recover_reviews(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     fn recover<T>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     pub(crate) fn forget_recovery_source(&self, session_id: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote_path` is never used
[INFO] [stdout]   --> src/agent/adapter/claude_code/bridge.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn shell_quote_path(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_executable_script` is never used
[INFO] [stdout]    --> src/agent/adapter/claude_code/bridge.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn write_executable_script(path: &Path, content: &str) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_bridge_files` is never used
[INFO] [stdout]    --> src/agent/adapter/claude_code/bridge.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn generate_bridge_files(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_bridge_files` is never used
[INFO] [stdout]    --> src/agent/adapter/claude_code/bridge.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn cleanup_bridge_files(agent_status_dir: &str, shim_dir: Option<&str>) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_replies` is never used
[INFO] [stdout]    --> src/agent/adapter/claude_code/transcript.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub(super) fn recover_replies(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_reviews` is never used
[INFO] [stdout]    --> src/agent/adapter/claude_code/transcript.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(super) fn recover_reviews(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_replies` is never used
[INFO] [stdout]    --> src/agent/adapter/codex/transcript.rs:677:15
[INFO] [stdout]     |
[INFO] [stdout] 677 | pub(super) fn recover_replies(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_reviews` is never used
[INFO] [stdout]    --> src/agent/adapter/codex/transcript.rs:726:15
[INFO] [stdout]     |
[INFO] [stdout] 726 | pub(super) fn recover_reviews(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PENDING_RENAME_TTL` is never used
[INFO] [stdout]   --> src/agent/adapter/codex/session_index.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const PENDING_RENAME_TTL: Duration = Duration::from_secs(30);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NEXT_PENDING_RENAME_ID` is never used
[INFO] [stdout]   --> src/agent/adapter/codex/session_index.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | static NEXT_PENDING_RENAME_ID: AtomicU64 = AtomicU64::new(1);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_user_rename` is never used
[INFO] [stdout]   --> src/agent/adapter/codex/session_index.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) fn record_user_rename(session_id: &str, title: &str) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recovery_paths` is never used
[INFO] [stdout]   --> src/agent/adapter/kimi/mod.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl KimiAdapter {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn recovery_paths(&self, current: &Path) -> Vec<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recovery_paths` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/locator.rs:222:19
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl KimiLocator {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub(crate) fn recovery_paths(&self) -> Vec<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_second_granularity` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/locator.rs:793:8
[INFO] [stdout]     |
[INFO] [stdout] 792 | impl ProcessStartEvidence {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 793 |     fn from_second_granularity(at: SystemTime) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_start_from_elapsed` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/locator.rs:953:4
[INFO] [stdout]     |
[INFO] [stdout] 953 | fn process_start_from_elapsed(raw: &str, now: SystemTime) -> Option<SystemTime> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RECOVERY_BYTES_PER_PATH` is never used
[INFO] [stdout]   --> src/agent/adapter/kimi/transcript.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const MAX_RECOVERY_BYTES_PER_PATH: u64 = 128 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RECOVERY_COMPLETED_TURNS` is never used
[INFO] [stdout]   --> src/agent/adapter/kimi/transcript.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const MAX_RECOVERY_COMPLETED_TURNS: usize = 512;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RECOVERED_REPLY_EVENTS` is never used
[INFO] [stdout]   --> src/agent/adapter/kimi/transcript.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const MAX_RECOVERED_REPLY_EVENTS: usize = 128;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_recovery_file` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn open_recovery_file(path: &Path, kimi_root: &Path) -> Result<Option<(PathBuf, File)>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecoveredTurn` is never constructed
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:321:8
[INFO] [stdout]     |
[INFO] [stdout] 321 | struct RecoveredTurn {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retain_recovered_turn` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:346:4
[INFO] [stdout]     |
[INFO] [stdout] 346 | fn retain_recovered_turn(turns: &mut BinaryHeap<Reverse<RecoveredTurn>>, turn: RecoveredTurn) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_path_turns` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn recover_path_turns(mut file: File, path_ordinal: usize) -> Result<Vec<RecoveredTurn>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_turn_texts` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:449:4
[INFO] [stdout]     |
[INFO] [stdout] 449 | fn recover_turn_texts(paths: &[PathBuf], kimi_root: &Path) -> Result<VecDeque<String>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_replies` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 | pub(super) fn recover_replies(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_reviews` is never used
[INFO] [stdout]    --> src/agent/adapter/kimi/transcript.rs:503:15
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub(super) fn recover_reviews(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recover_replies` and `recover_reviews` are never used
[INFO] [stdout]    --> src/agent/adapter/traits.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) trait TranscriptStreamer: Send + Sync {
[INFO] [stdout]     |                  ------------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn recover_replies(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn recover_reviews(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationDiagnostics` is never constructed
[INFO] [stdout]   --> src/agent/notification.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub(crate) struct NotificationDiagnostics {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `snapshot` is never used
[INFO] [stdout]   --> src/agent/notification.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl MutableDiagnostics {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 93 |     fn snapshot(&self) -> NotificationDiagnostics {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diagnostics` is never used
[INFO] [stdout]    --> src/agent/notification.rs:316:19
[INFO] [stdout]     |
[INFO] [stdout] 215 | impl NotificationWatcherService {
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub(crate) fn diagnostics(&self) -> NotificationDiagnostics {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_rss_bytes` is never used
[INFO] [stdout]     --> src/agent/notification.rs:1665:4
[INFO] [stdout]      |
[INFO] [stdout] 1665 | fn process_rss_bytes() -> Option<u64> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `statusline` and `attention` are never read
[INFO] [stdout]  --> src/agents/bridge_scripts.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Scripts {
[INFO] [stdout]   |                   ------- fields in this struct
[INFO] [stdout] 6 |     pub statusline: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 7 |     pub attention: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `statusline_path`, `attention_path`, `status_path`, and `attention_file` are never read
[INFO] [stdout]   --> src/agents/claude_bridge.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct Generated {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 77 |     pub settings_path: PathBuf,
[INFO] [stdout] 78 |     pub statusline_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     pub attention_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub status_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 81 |     pub attention_file: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/agents/doctor.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) struct Check {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] 53 |     pub id: CheckId,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Check` 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 `expand_home` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn expand_home(path: &str) -> PathBuf {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `home_canonical` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) fn home_canonical() -> Result<PathBuf, String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reject_parent_refs` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub(crate) fn reject_parent_refs(path: &Path) -> Result<(), String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_within_home` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn ensure_within_home(canonical: &Path, home_canonical: &Path) -> Result<(), String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `canonicalize_within_home` is never used
[INFO] [stdout]    --> src/filesystem/scope.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(super) fn canonicalize_within_home(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_nofollow` is never used
[INFO] [stdout]    --> src/filesystem/scope.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub(crate) fn open_nofollow(path: &Path, mut options: OpenOptions) -> Result<File, String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `recorded` and `shell_pid` are never read
[INFO] [stdout]   --> tests/support/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FakeHerdr {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 14 |     pub socket_path: PathBuf,
[INFO] [stdout] 15 |     recorded: Arc<Mutex<Vec<serde_json::Value>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     panes: Arc<Mutex<serde_json::Value>>,
[INFO] [stdout] 17 |     shell_pid: Arc<Mutex<u64>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_shell_pid` and `calls_named` are never used
[INFO] [stdout]    --> tests/support/mod.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl FakeHerdr {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn set_shell_pid(&self, pid: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn calls_named(&self, method: &str) -> Vec<serde_json::Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for` is never used
[INFO] [stdout]    --> tests/support/mod.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn wait_for(mut check: impl FnMut() -> bool, timeout: Duration) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_snapshot` is never used
[INFO] [stdout]    --> tests/support/mod.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn state_snapshot(socket: &Path) -> Option<serde_json::Value> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_claude_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn write_claude_fixture(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_codex_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn write_codex_fixture(home: &Path, cwd: &Path, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_kimi_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn write_kimi_fixture(kimi_home: &Path, cwd: &Path, session_id: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_opencode_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn write_opencode_fixture(bridge_dir: &Path, cwd: &Path, session_id: &str, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeHerdr` is never constructed
[INFO] [stdout]  --> tests/support/fake_herdr.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FakeHerdr {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn install(dir: &Path, default_config: &str, check: &str) -> FakeHerdr {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_with_owners` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn install_with_owners(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn shell_quote(value: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `argv`, `fail`, and `reload_diagnostics` are never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl FakeHerdr {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 66 |     pub fn argv(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn fail(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn reload_diagnostics(&self, diagnostics: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeHerdr` is never constructed
[INFO] [stdout]   --> tests/support/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FakeHerdr {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `start`, `set_panes`, `set_shell_pid`, `calls_named`, and `stop` are never used
[INFO] [stdout]    --> tests/support/mod.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl FakeHerdr {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn start(dir: &Path) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn set_panes(&self, panes: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn set_shell_pid(&self, pid: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn calls_named(&self, method: &str) -> Vec<serde_json::Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn stop(mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for` is never used
[INFO] [stdout]    --> tests/support/mod.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn wait_for(mut check: impl FnMut() -> bool, timeout: Duration) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_snapshot` is never used
[INFO] [stdout]    --> tests/support/mod.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn state_snapshot(socket: &Path) -> Option<serde_json::Value> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_claude_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn write_claude_fixture(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_codex_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn write_codex_fixture(home: &Path, cwd: &Path, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_kimi_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn write_kimi_fixture(kimi_home: &Path, cwd: &Path, session_id: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_opencode_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn write_opencode_fixture(bridge_dir: &Path, cwd: &Path, session_id: &str, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeHerdr` is never constructed
[INFO] [stdout]   --> tests/support/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FakeHerdr {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `start`, `set_panes`, `set_shell_pid`, `calls_named`, and `stop` are never used
[INFO] [stdout]    --> tests/support/mod.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl FakeHerdr {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn start(dir: &Path) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn set_panes(&self, panes: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn set_shell_pid(&self, pid: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn calls_named(&self, method: &str) -> Vec<serde_json::Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn stop(mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_snapshot` is never used
[INFO] [stdout]    --> tests/support/mod.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn state_snapshot(socket: &Path) -> Option<serde_json::Value> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_claude_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn write_claude_fixture(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_codex_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn write_codex_fixture(home: &Path, cwd: &Path, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_kimi_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn write_kimi_fixture(kimi_home: &Path, cwd: &Path, session_id: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_opencode_fixture` is never used
[INFO] [stdout]    --> tests/support/mod.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn write_opencode_fixture(bridge_dir: &Path, cwd: &Path, session_id: &str, pid: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeHerdr` is never constructed
[INFO] [stdout]  --> tests/support/fake_herdr.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FakeHerdr {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn install(dir: &Path, default_config: &str, check: &str) -> FakeHerdr {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_with_owners` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn install_with_owners(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn shell_quote(value: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `argv`, `fail`, and `reload_diagnostics` are never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl FakeHerdr {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 66 |     pub fn argv(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn fail(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn reload_diagnostics(&self, diagnostics: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeHerdr` is never constructed
[INFO] [stdout]  --> tests/support/fake_herdr.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FakeHerdr {
[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 `install` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn install(dir: &Path, default_config: &str, check: &str) -> FakeHerdr {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_with_owners` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn install_with_owners(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote` is never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn shell_quote(value: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `argv`, `fail`, and `reload_diagnostics` are never used
[INFO] [stdout]   --> tests/support/fake_herdr.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl FakeHerdr {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 66 |     pub fn argv(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn fail(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn reload_diagnostics(&self, diagnostics: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_data`
[INFO] [stdout]    --> src/agent/adapter/claude_code/bridge.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |         let app_data = PathBuf::from("/tmp/vimeflow-data");
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_agent_type_for_test` is never used
[INFO] [stdout]    --> src/agent/adapter/base/watcher_runtime.rs:639:19
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl AgentWatcherState {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub(crate) fn insert_agent_type_for_test(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationDiagnostics` is never constructed
[INFO] [stdout]   --> src/agent/notification.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub(crate) struct NotificationDiagnostics {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `snapshot` is never used
[INFO] [stdout]   --> src/agent/notification.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl MutableDiagnostics {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 93 |     fn snapshot(&self) -> NotificationDiagnostics {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diagnostics` is never used
[INFO] [stdout]    --> src/agent/notification.rs:316:19
[INFO] [stdout]     |
[INFO] [stdout] 215 | impl NotificationWatcherService {
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub(crate) fn diagnostics(&self) -> NotificationDiagnostics {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_rss_bytes` is never used
[INFO] [stdout]     --> src/agent/notification.rs:1665:4
[INFO] [stdout]      |
[INFO] [stdout] 1665 | fn process_rss_bytes() -> Option<u64> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `statusline` and `attention` are never read
[INFO] [stdout]  --> src/agents/bridge_scripts.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Scripts {
[INFO] [stdout]   |                   ------- fields in this struct
[INFO] [stdout] 6 |     pub statusline: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 7 |     pub attention: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_home` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) fn expand_home(path: &str) -> PathBuf {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `home_canonical` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) fn home_canonical() -> Result<PathBuf, String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reject_parent_refs` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub(crate) fn reject_parent_refs(path: &Path) -> Result<(), String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_within_home` is never used
[INFO] [stdout]   --> src/filesystem/scope.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn ensure_within_home(canonical: &Path, home_canonical: &Path) -> Result<(), String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `canonicalize_within_home` is never used
[INFO] [stdout]    --> src/filesystem/scope.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(super) fn canonicalize_within_home(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]   --> src/terminal/state.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RingBuffer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 22 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `tokio-util`
[INFO] [stderr]   --> Cargo.toml:82:15
[INFO] [stderr]    |
[INFO] [stderr] 82 | [dependencies.tokio-util]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tokio-util`
[INFO] [stderr] warning: `herdr-agent-watcher` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.50s
[INFO] running `Command { std: "docker" "inspect" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299", kill_on_drop: false }`
[INFO] [stdout] 6224b66611419f5d35705e0d0cc3d18d382ac3f668798c793e3f9b836884f299
