[INFO] fetching crate raskell-kage 0.1.4...
[INFO] testing raskell-kage-0.1.4 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate raskell-kage 0.1.4 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate raskell-kage 0.1.4
[INFO] finished tweaking crates.io crate raskell-kage 0.1.4
[INFO] tweaked toml for crates.io crate raskell-kage 0.1.4 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate raskell-kage 0.1.4 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate raskell-kage 0.1.4 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zmij v1.0.9
[INFO] [stderr]   Downloaded prost-build v0.12.6
[INFO] [stderr]   Downloaded prost-types v0.12.6
[INFO] [stderr]   Downloaded tonic-build v0.11.0
[INFO] [stderr]   Downloaded tonic v0.11.0
[INFO] [stderr]   Downloaded stability v0.2.1
[INFO] [stderr]   Downloaded serial v0.4.0
[INFO] [stderr]   Downloaded termios v0.2.2
[INFO] [stderr]   Downloaded serial-core v0.4.0
[INFO] [stderr]   Downloaded portable-pty v0.8.1
[INFO] [stderr]   Downloaded serial-windows v0.4.0
[INFO] [stderr]   Downloaded serial-unix v0.4.0
[INFO] [stderr]   Downloaded ioctl-rs v0.1.6
[INFO] [stderr]   Downloaded zvariant_derive v3.15.2
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] [stderr]   Downloaded zvariant_utils v1.0.1
[INFO] [stderr]   Downloaded redb v2.6.3
[INFO] [stderr]   Downloaded zbus_names v2.6.1
[INFO] [stderr]   Downloaded secret-service v3.1.0
[INFO] [stderr]   Downloaded zbus_macros v3.15.2
[INFO] [stderr]   Downloaded keyring v2.3.3
[INFO] [stderr]   Downloaded zvariant v3.15.2
[INFO] [stderr]   Downloaded zbus v3.15.2
[INFO] [stderr]   Downloaded libc v0.2.179
[INFO] [stderr]   Downloaded async-process v1.8.1
[INFO] [stderr]   Downloaded waker-fn v1.2.0
[INFO] [stderr]   Downloaded ratatui v0.26.3
[INFO] [stderr]   Downloaded event-listener v3.1.0
[INFO] [stderr]   Downloaded rustix v0.37.28
[INFO] [stderr]   Downloaded linux-keyutils v0.2.4
[INFO] [stderr]   Downloaded assert_cmd v2.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f97c1856b8ed9a62f433f80a5161045b13f58f227534c5e643f65ad3ffa47eb8
[INFO] running `Command { std: "docker" "start" "-a" "f97c1856b8ed9a62f433f80a5161045b13f58f227534c5e643f65ad3ffa47eb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f97c1856b8ed9a62f433f80a5161045b13f58f227534c5e643f65ad3ffa47eb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f97c1856b8ed9a62f433f80a5161045b13f58f227534c5e643f65ad3ffa47eb8", kill_on_drop: false }`
[INFO] [stdout] f97c1856b8ed9a62f433f80a5161045b13f58f227534c5e643f65ad3ffa47eb8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebc204985332dc01df482982783bcc8fdcb3b8453f01da41b1f4879a708029c2
[INFO] running `Command { std: "docker" "start" "-a" "ebc204985332dc01df482982783bcc8fdcb3b8453f01da41b1f4879a708029c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling zmij v1.0.9
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling async-executor v1.13.3
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling async-broadcast v0.5.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling serial-core v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling termios v0.2.2
[INFO] [stderr]    Compiling xdg-home v1.3.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ioctl-rs v0.1.6
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling serial-unix v0.4.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling redb v2.6.3
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling serial v0.4.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling linux-keyutils v0.2.4
[INFO] [stderr]    Compiling rmp v0.8.15
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling raskell-kage v0.1.4 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling portable-pty v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling rmp-serde v1.3.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling zvariant v3.15.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling zbus_names v2.6.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling zbus v3.15.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling secret-service v3.1.0
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling keyring v2.3.3
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/subscription/pool.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{Context, Result};
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/subscription/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/task/scheduler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             path,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             name,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/cli/commands/secret.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |         SecretCommands::List { scope } => {
[INFO] [stdout]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/daemon/supervisor.rs:399:49
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/secrets/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at` and `max_history` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     started_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     /// Maximum output history lines
[INFO] [stdout] 54 |     max_history: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_agent_approvals` is never used
[INFO] [stdout]    --> src/daemon/supervisor.rs:831:8
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Supervisor {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subscription/pool.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Subcommand`
[INFO] [stdout]  --> src/main.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `claude::ClaudeCodeProvider`
[INFO] [stdout]  --> src/agent/providers/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use claude::ClaudeCodeProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/subscription/pool.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{Context, Result};
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pool::SubscriptionPool`
[INFO] [stdout]   --> src/subscription/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use pool::SubscriptionPool;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/subscription/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/task/scheduler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `display_header` and `display_version`
[INFO] [stdout]   --> src/tui/mod.rs:11:42
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use splash::{display as show_splash, display_header, display_version};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             path,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             name,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/cli/commands/secret.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |         SecretCommands::List { scope } => {
[INFO] [stdout]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/daemon/supervisor.rs:399:49
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/secrets/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentHandle` is never constructed
[INFO] [stdout]   --> src/agent/handle.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AgentHandle {
[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 `AgentOutput` is never constructed
[INFO] [stdout]   --> src/agent/handle.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AgentOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `send`, `recv`, `is_alive`, and `kill` are never used
[INFO] [stdout]   --> src/agent/handle.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl AgentHandle {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 42 |     /// Create a new agent handle
[INFO] [stdout] 43 |     pub fn new(id: AgentId) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn send(&self, input: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub async fn recv(&mut self) -> Option<AgentOutput> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn is_alive(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn kill(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AgentStatus` is never used
[INFO] [stdout]   --> src/agent/provider.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum AgentStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentConfig` is never constructed
[INFO] [stdout]   --> src/agent/provider.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AgentConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AgentProvider` is never used
[INFO] [stdout]   --> src/agent/provider.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub trait AgentProvider: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeCodeProvider` is never constructed
[INFO] [stdout]   --> src/agent/providers/claude.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ClaudeCodeProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_model` are never used
[INFO] [stdout]   --> src/agent/providers/claude.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ClaudeCodeProvider {
[INFO] [stdout]    | ----------------------- associated functions in this implementation
[INFO] [stdout] 29 |     /// Create a new Claude Code provider
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn with_model(model: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `config_dir` is never used
[INFO] [stdout]    --> src/config/mod.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub fn config_dir() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `socket_path` is never used
[INFO] [stdout]   --> src/daemon/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Daemon {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn socket_path(&self) -> &PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_input`, `get_output`, `list_tasks`, `pause_agent`, `resume_agent`, and `cancel_task` are never used
[INFO] [stdout]    --> src/daemon/client.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl DaemonClient {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn send_input(&mut self, id: crate::agent::AgentId, input: String) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub async fn get_output(&mut self, id: crate::agent::AgentId, lines: usize) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn list_tasks(&mut self, status: Option<String>) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn pause_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub async fn resume_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub async fn cancel_task(&mut self, id: crate::task::TaskId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_approval_levels` and `agent_tasks` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Supervisor {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     agent_approval_levels: HashMap<AgentId, ApprovalLevel>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     /// Agent to task mapping
[INFO] [stdout] 34 |     agent_tasks: HashMap<AgentId, TaskId>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at` and `max_history` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     started_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     /// Maximum output history lines
[INFO] [stdout] 54 |     max_history: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/daemon/supervisor.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Supervisor {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn with_subscription_pool(config: Config, pool: Arc<SubscriptionPool>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn set_subscription_pool(&mut self, pool: Arc<SubscriptionPool>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn subscription_pool(&self) -> Option<&Arc<SubscriptionPool>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 589 |     pub fn update_token_usage(&mut self, id: AgentId, tokens: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn set_agent_approval(&mut self, agent_id: AgentId, level: ApprovalLevel, task_id: Option<TaskId>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     pub fn get_agent_approval_level(&self, agent_id: AgentId) -> ApprovalLevel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 |     pub fn is_agent_awaiting_approval(&self, agent_id: AgentId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn check_output_for_approval(&mut self, agent_id: AgentId, line: &str) -> Option<ApprovalRequest> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     fn get_output_context(&self, agent_id: AgentId, lines: usize) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     fn detect_file_write(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     fn detect_git_commit(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 |     fn detect_tool_use(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 783 |     pub fn get_agent_pending_approval(&self, agent_id: AgentId) -> Option<&ApprovalRequest> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn pending_approval_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `subscriptions` is never read
[INFO] [stdout]   --> src/memory/bus.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ContextBus {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     subscriptions: Arc<RwLock<HashMap<AgentId, Vec<ScopeFilter>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Namespace`, `Global`, and `Agent` are never constructed
[INFO] [stdout]   --> src/memory/bus.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ScopeFilter {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 24 |     /// Subscribe to all events in a namespace
[INFO] [stdout] 25 |     Namespace(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Agent(AgentId),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScopeFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subscribe`, `unsubscribe`, `receiver`, and `should_receive` are never used
[INFO] [stdout]   --> src/memory/bus.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ContextBus {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn subscribe(&self, agent: AgentId, filters: Vec<ScopeFilter>) {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn unsubscribe(&self, agent: AgentId) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn receiver(&self) -> broadcast::Receiver<(MemoryEntry, MemoryScope)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn should_receive(&self, agent: AgentId, scope: &MemoryScope) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]   --> src/memory/query.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct MemoryQuery {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub offset: Option<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MemoryQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `get_by_scope`, `evict_expired`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> src/memory/working.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl WorkingMemory {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get(&self, id: MemoryId) -> Option<&MemoryEntry> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_by_scope(&self, scope: &MemoryScope) -> Vec<&MemoryEntry> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn evict_expired(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceId` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct NamespaceId(Ulid);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/namespace/mod.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NamespaceId {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Namespace` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Namespace {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_repository`, `remove_repository`, and `get_repository` are never used
[INFO] [stdout]   --> src/namespace/mod.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Namespace {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 51 |     /// Create a new namespace
[INFO] [stdout] 52 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn add_repository(&mut self, repo: Repository) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn remove_repository(&mut self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_repository(&self, name: &str) -> Option<&Repository> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Repository` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Repository {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_remote` are never used
[INFO] [stdout]    --> src/namespace/mod.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Repository {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  94 |     /// Create a new repository reference
[INFO] [stdout]  95 |     pub fn new(name: &str, path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn with_remote(mut self, remote: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemorySharingMode` is never used
[INFO] [stdout]    --> src/namespace/mod.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum MemorySharingMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceRegistry` is never constructed
[INFO] [stdout]    --> src/namespace/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct NamespaceRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create`, `get`, `get_mut`, `list`, and `delete` are never used
[INFO] [stdout]    --> src/namespace/mod.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl NamespaceRegistry {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 136 |     /// Create a new registry
[INFO] [stdout] 137 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn create(&mut self, name: &str) -> &Namespace {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get(&self, name: &str) -> Option<&Namespace> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Namespace> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn list(&self) -> Vec<&Namespace> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn delete(&mut self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Namespace` and `Repository` are never constructed
[INFO] [stdout]   --> src/secrets/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum SecretScope {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Namespace(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Repository(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecretScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/secrets/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl SecretScope {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 26 |     /// Parse scope from string (e.g., "global", "namespace:backend", "repo:/path/to/repo")
[INFO] [stdout] 27 |     pub fn parse(s: &str) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/secrets/mod.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_fallback` is never used
[INFO] [stdout]    --> src/secrets/mod.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn get_with_fallback(name: &str, repo: Option<&str>, namespace: Option<&str>) -> Result<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGENTS_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const AGENTS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("agents");
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TASKS_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TASKS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("tasks");
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMESPACES_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NAMESPACES_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("namespaces");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CONFIG_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("config");
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Table` is never used
[INFO] [stdout]   --> src/storage/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Table {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `definition` is never used
[INFO] [stdout]   --> src/storage/mod.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 26 |     fn definition(&self) -> TableDefinition<'static, &'static str, &'static [u8]> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Store` is never constructed
[INFO] [stdout]   --> src/storage/mod.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Store {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `put`, `get`, `delete`, and `keys` are never used
[INFO] [stdout]   --> src/storage/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Store {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 42 |     /// Open or create a store at the given path
[INFO] [stdout] 43 |     pub fn open(path: PathBuf) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn put(&self, table: Table, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get(&self, table: Table, key: &str) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn delete(&self, table: Table, key: &str) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn keys(&self, table: Table) -> Result<Vec<String>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Storable` is never used
[INFO] [stdout]    --> src/storage/mod.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Storable: serde::Serialize + serde::de::DeserializeOwned {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_rate_limited` and `cooldown_remaining` are never used
[INFO] [stdout]    --> src/subscription/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SubscriptionStatus {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_rate_limited(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn cooldown_remaining(&self) -> Option<Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reset_daily` and `error_backoff` are never used
[INFO] [stdout]    --> src/subscription/mod.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl RateLimitState {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn reset_daily(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn error_backoff(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_rate_limit` is never used
[INFO] [stdout]    --> src/subscription/mod.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl UsageMetrics {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn record_rate_limit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_rate_limited` and `mark_unhealthy` are never used
[INFO] [stdout]    --> src/subscription/mod.rs:390:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl Subscription {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn mark_rate_limited(&mut self, duration: Duration) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn mark_unhealthy(&mut self, reason: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HealthCheckResult` is never used
[INFO] [stdout]   --> src/subscription/health.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum HealthCheckResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HealthAlert` is never used
[INFO] [stdout]   --> src/subscription/health.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum HealthAlert {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthConfig` is never constructed
[INFO] [stdout]   --> src/subscription/health.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct HealthConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthMonitor` is never constructed
[INFO] [stdout]   --> src/subscription/health.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct HealthMonitor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/subscription/health.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl HealthMonitor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 101 |     /// Create a new health monitor
[INFO] [stdout] 102 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn check(&mut self) -> Result<HealthSummary> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     async fn check_subscription(&self, sub: &Subscription) -> HealthCheckResult {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     async fn detect_state_changes(&mut self, sub: &Subscription, result: &HealthCheckResult) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     async fn check_pool_health(&self, summary: &HealthSummary) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub async fn attempt_recovery(&self) -> Result<Vec<SubscriptionId>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn config(&self) -> &HealthConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn set_config(&mut self, config: HealthConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthSummary` is never constructed
[INFO] [stdout]    --> src/subscription/health.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub struct HealthSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `status` and `score` are never used
[INFO] [stdout]    --> src/subscription/health.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl HealthSummary {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 357 |     /// Get overall health status
[INFO] [stdout] 358 |     pub fn status(&self) -> OverallHealth {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OverallHealth` is never used
[INFO] [stdout]    --> src/subscription/health.rs:384:10
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub enum OverallHealth {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_health_monitor` is never used
[INFO] [stdout]    --> src/subscription/health.rs:407:14
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub async fn run_health_monitor(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_priority`, `with_tag`, and `with_preferred` are never used
[INFO] [stdout]   --> src/subscription/pool.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl RequestContext {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn with_priority(mut self, priority: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn with_tag(mut self, tag: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn with_preferred(mut self, id: SubscriptionId) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_routing_config`, `routing_config`, `mark_rate_limited`, `clear_all_sticky_sessions`, `status`, and `registry` are never used
[INFO] [stdout]    --> src/subscription/pool.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl SubscriptionPool {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn set_routing_config(&self, config: RoutingConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn routing_config(&self) -> RoutingConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn clear_all_sticky_sessions(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn status(&self) -> PoolStatus {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn registry(&self) -> &Arc<SubscriptionRegistry> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolStatus` is never constructed
[INFO] [stdout]    --> src/subscription/pool.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub struct PoolStatus {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pool` is never read
[INFO] [stdout]    --> src/subscription/pool.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct SubscriptionLease<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pool: &'a SubscriptionPool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `success`, `failure`, and `rate_limited` are never used
[INFO] [stdout]    --> src/subscription/pool.rs:361:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl<'a> SubscriptionLease<'a> {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn success(self, tokens_used: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn failure(self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn rate_limited(self, duration: Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/subscription/registry.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl SubscriptionRegistry {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn create(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn remove_by_name(&self, name: &str) -> Result<Option<Subscription>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn list_by_tag(&self, tag: &str) -> Vec<Subscription> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn count_available(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: std::time::Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn mark_unhealthy(&self, id: SubscriptionId, reason: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Custom` is never constructed
[INFO] [stdout]   --> src/subscription/usage.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum UsagePeriod {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Custom { start: NaiveDate, end: NaiveDate },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsagePeriod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/subscription/usage.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl UsageRecord {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  56 |     /// Create a new usage record
[INFO] [stdout]  57 |     pub fn new(subscription_id: SubscriptionId) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn with_tokens(mut self, input: u64, output: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn with_success(mut self, success: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn with_duration(mut self, duration_ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_namespace(mut self, namespace: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn with_agent(mut self, agent_id: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn with_model(mut self, model: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge` is never used
[INFO] [stdout]    --> src/subscription/usage.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl UsageStats {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn merge(&mut self, other: &UsageStats) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_buffer_size` is never read
[INFO] [stdout]    --> src/subscription/usage.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct UsageTracker {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 190 |     max_buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record`, `stats_by_namespace`, `export_json`, `list_logs`, and `prune` are never used
[INFO] [stdout]    --> src/subscription/usage.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl UsageTracker {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn record(&mut self, record: UsageRecord) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn stats_by_namespace(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn export_json(&mut self, period: UsagePeriod) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn list_logs(&self) -> Result<Vec<NaiveDate>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub fn prune(&self, older_than_days: u32) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_guidance`, `increment_iteration`, `is_iteration_limit_reached`, `is_checkpoint_due`, and `unassign` are never used
[INFO] [stdout]    --> src/task/mod.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Task {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn with_guidance(mut self, guidance: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn increment_iteration(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn is_iteration_limit_reached(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn is_checkpoint_due(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn unassign(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `requires_approval` is never used
[INFO] [stdout]    --> src/task/mod.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl ApprovalLevel {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 380 |     /// Check if an action requires approval at this level
[INFO] [stdout] 381 |     pub fn requires_approval(&self, action: &ApprovalAction) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/task/mod.rs:456:12
[INFO] [stdout]     |
[INFO] [stdout] 454 | impl ApprovalRequest {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 455 |     /// Create a new approval request
[INFO] [stdout] 456 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `modified_files` is never read
[INFO] [stdout]    --> src/task/mod.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 585 | pub struct CriteriaContext {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 591 |     pub modified_files: Vec<PathBuf>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CriteriaContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]    --> src/task/mod.rs:826:12
[INFO] [stdout]     |
[INFO] [stdout] 598 | impl Criterion {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_context` are never used
[INFO] [stdout]    --> src/task/mod.rs:865:12
[INFO] [stdout]     |
[INFO] [stdout] 863 | impl Checkpoint {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 864 |     /// Create a new checkpoint
[INFO] [stdout] 865 |     pub fn new(task: &Task) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 877 |     pub fn with_context(mut self, context: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save` and `delete_all` are never used
[INFO] [stdout]    --> src/task/checkpoint.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl CheckpointStore {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub fn save(&self, task: &Task, context: Option<&str>) -> Result<Checkpoint> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn delete_all(&self, task_id: TaskId) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `oldest` are never read
[INFO] [stdout]    --> src/task/checkpoint.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct CheckpointInfo {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 236 |     pub task_id: TaskId,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub oldest: Option<chrono::DateTime<chrono::Utc>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckpointInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update`, `remove`, and `increment_iteration` are never used
[INFO] [stdout]    --> src/task/registry.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl TaskRegistry {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn update(&self, task: Task) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn remove(&self, id: TaskId) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn increment_iteration(&self, task_id: TaskId) -> Result<Task> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `total` is never used
[INFO] [stdout]    --> src/task/registry.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 367 | impl TaskCounts {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 368 |     pub fn total(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Priority` and `FairShare` are never constructed
[INFO] [stdout]   --> src/task/scheduler.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum SchedulingStrategy {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Priority,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     /// Fair scheduling across namespaces
[INFO] [stdout] 26 |     FairShare,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SchedulingStrategy` 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: fields `available_agents`, `agent_affinity`, `strategy`, and `max_concurrent_per_namespace` are never read
[INFO] [stdout]   --> src/task/scheduler.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct TaskScheduler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     available_agents: RwLock<Vec<AgentId>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     /// Agent to namespace affinity
[INFO] [stdout] 36 |     agent_affinity: RwLock<HashMap<AgentId, String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     /// Scheduling strategy
[INFO] [stdout] 38 |     strategy: SchedulingStrategy,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     /// Maximum concurrent tasks per namespace
[INFO] [stdout] 40 |     max_concurrent_per_namespace: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/task/scheduler.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl TaskScheduler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn with_strategy(mut self, strategy: SchedulingStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn with_max_concurrent(mut self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub async fn register_agent(&self, agent_id: AgentId, namespace: Option<&str>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn unregister_agent(&self, agent_id: AgentId) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub async fn mark_agent_busy(&self, agent_id: AgentId) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn mark_agent_available(&self, agent_id: AgentId) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn next_task(&self) -> Option<Task> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn try_assign(&self) -> Option<(Task, AgentId)> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     async fn select_agent_for_task(&self, task: &Task) -> Option<AgentId> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn run(&self, mut shutdown_rx: tokio::sync::broadcast::Receiver<()>) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn status(&self) -> SchedulerStatus {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchedulerStatus` is never constructed
[INFO] [stdout]    --> src/task/scheduler.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct SchedulerStatus {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SchedulerEvent` is never used
[INFO] [stdout]    --> src/task/scheduler.rs:245:10
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub enum SchedulerEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PauseReason` is never used
[INFO] [stdout]    --> src/task/scheduler.rs:260:10
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum PauseReason {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_header` is never used
[INFO] [stdout]    --> src/tui/splash.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn display_header() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_version` is never used
[INFO] [stdout]    --> src/tui/splash.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn display_version() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subscription/pool.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 49s
[INFO] running `Command { std: "docker" "inspect" "ebc204985332dc01df482982783bcc8fdcb3b8453f01da41b1f4879a708029c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebc204985332dc01df482982783bcc8fdcb3b8453f01da41b1f4879a708029c2", kill_on_drop: false }`
[INFO] [stdout] ebc204985332dc01df482982783bcc8fdcb3b8453f01da41b1f4879a708029c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48459800dcf800bda3e83739eae866284dcfefdc9fba872cbea6bae3a674f5b9
[INFO] running `Command { std: "docker" "start" "-a" "48459800dcf800bda3e83739eae866284dcfefdc9fba872cbea6bae3a674f5b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling assert_cmd v2.1.1
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling raskell-kage v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/subscription/pool.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{Context, Result};
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/subscription/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/task/scheduler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/subscription/pool.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{Context, Result};
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/subscription/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/task/scheduler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             path,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             name,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/cli/commands/secret.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |         SecretCommands::List { scope } => {
[INFO] [stdout]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/daemon/supervisor.rs:399:49
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/secrets/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at` and `max_history` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     started_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     /// Maximum output history lines
[INFO] [stdout] 54 |     max_history: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_agent_approvals` is never used
[INFO] [stdout]    --> src/daemon/supervisor.rs:831:8
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Supervisor {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subscription/pool.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             path,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             name,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/cli/commands/secret.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |         SecretCommands::List { scope } => {
[INFO] [stdout]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/daemon/supervisor.rs:399:49
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/secrets/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at` and `max_history` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     started_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     /// Maximum output history lines
[INFO] [stdout] 54 |     max_history: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_agent_approvals` is never used
[INFO] [stdout]    --> src/daemon/supervisor.rs:831:8
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Supervisor {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subscription/pool.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Subcommand`
[INFO] [stdout]  --> src/main.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `claude::ClaudeCodeProvider`
[INFO] [stdout]  --> src/agent/providers/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use claude::ClaudeCodeProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/subscription/pool.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{Context, Result};
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pool::SubscriptionPool`
[INFO] [stdout]   --> src/subscription/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use pool::SubscriptionPool;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/subscription/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/task/scheduler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `display_header` and `display_version`
[INFO] [stdout]   --> src/tui/mod.rs:11:42
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use splash::{display as show_splash, display_header, display_version};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             path,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             name,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/cli/commands/secret.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |         SecretCommands::List { scope } => {
[INFO] [stdout]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/daemon/supervisor.rs:399:49
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> src/secrets/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentHandle` is never constructed
[INFO] [stdout]   --> src/agent/handle.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AgentHandle {
[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 `AgentOutput` is never constructed
[INFO] [stdout]   --> src/agent/handle.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AgentOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `send`, `recv`, `is_alive`, and `kill` are never used
[INFO] [stdout]   --> src/agent/handle.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl AgentHandle {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 42 |     /// Create a new agent handle
[INFO] [stdout] 43 |     pub fn new(id: AgentId) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn send(&self, input: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub async fn recv(&mut self) -> Option<AgentOutput> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn is_alive(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn kill(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AgentStatus` is never used
[INFO] [stdout]   --> src/agent/provider.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum AgentStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentConfig` is never constructed
[INFO] [stdout]   --> src/agent/provider.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AgentConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AgentProvider` is never used
[INFO] [stdout]   --> src/agent/provider.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub trait AgentProvider: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeCodeProvider` is never constructed
[INFO] [stdout]   --> src/agent/providers/claude.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ClaudeCodeProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_model` are never used
[INFO] [stdout]   --> src/agent/providers/claude.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ClaudeCodeProvider {
[INFO] [stdout]    | ----------------------- associated functions in this implementation
[INFO] [stdout] 29 |     /// Create a new Claude Code provider
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn with_model(model: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `config_dir` is never used
[INFO] [stdout]    --> src/config/mod.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub fn config_dir() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `socket_path` is never used
[INFO] [stdout]   --> src/daemon/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Daemon {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn socket_path(&self) -> &PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_input`, `get_output`, `list_tasks`, `pause_agent`, `resume_agent`, and `cancel_task` are never used
[INFO] [stdout]    --> src/daemon/client.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl DaemonClient {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn send_input(&mut self, id: crate::agent::AgentId, input: String) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub async fn get_output(&mut self, id: crate::agent::AgentId, lines: usize) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn list_tasks(&mut self, status: Option<String>) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn pause_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub async fn resume_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub async fn cancel_task(&mut self, id: crate::task::TaskId) -> Result<Response> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_approval_levels` and `agent_tasks` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Supervisor {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     agent_approval_levels: HashMap<AgentId, ApprovalLevel>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     /// Agent to task mapping
[INFO] [stdout] 34 |     agent_tasks: HashMap<AgentId, TaskId>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at` and `max_history` are never read
[INFO] [stdout]   --> src/daemon/supervisor.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     started_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     /// Maximum output history lines
[INFO] [stdout] 54 |     max_history: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/daemon/supervisor.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Supervisor {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn with_subscription_pool(config: Config, pool: Arc<SubscriptionPool>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn set_subscription_pool(&mut self, pool: Arc<SubscriptionPool>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn subscription_pool(&self) -> Option<&Arc<SubscriptionPool>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 589 |     pub fn update_token_usage(&mut self, id: AgentId, tokens: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn set_agent_approval(&mut self, agent_id: AgentId, level: ApprovalLevel, task_id: Option<TaskId>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     pub fn get_agent_approval_level(&self, agent_id: AgentId) -> ApprovalLevel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 |     pub fn is_agent_awaiting_approval(&self, agent_id: AgentId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn check_output_for_approval(&mut self, agent_id: AgentId, line: &str) -> Option<ApprovalRequest> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     fn get_output_context(&self, agent_id: AgentId, lines: usize) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     fn detect_file_write(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     fn detect_git_commit(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 |     fn detect_tool_use(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 783 |     pub fn get_agent_pending_approval(&self, agent_id: AgentId) -> Option<&ApprovalRequest> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn pending_approval_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `subscriptions` is never read
[INFO] [stdout]   --> src/memory/bus.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ContextBus {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     subscriptions: Arc<RwLock<HashMap<AgentId, Vec<ScopeFilter>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Namespace`, `Global`, and `Agent` are never constructed
[INFO] [stdout]   --> src/memory/bus.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ScopeFilter {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 24 |     /// Subscribe to all events in a namespace
[INFO] [stdout] 25 |     Namespace(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Agent(AgentId),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScopeFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subscribe`, `unsubscribe`, `receiver`, and `should_receive` are never used
[INFO] [stdout]   --> src/memory/bus.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ContextBus {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn subscribe(&self, agent: AgentId, filters: Vec<ScopeFilter>) {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn unsubscribe(&self, agent: AgentId) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn receiver(&self) -> broadcast::Receiver<(MemoryEntry, MemoryScope)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn should_receive(&self, agent: AgentId, scope: &MemoryScope) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]   --> src/memory/query.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct MemoryQuery {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub offset: Option<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MemoryQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `get_by_scope`, `evict_expired`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> src/memory/working.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl WorkingMemory {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get(&self, id: MemoryId) -> Option<&MemoryEntry> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_by_scope(&self, scope: &MemoryScope) -> Vec<&MemoryEntry> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn evict_expired(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceId` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct NamespaceId(Ulid);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/namespace/mod.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NamespaceId {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Namespace` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Namespace {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_repository`, `remove_repository`, and `get_repository` are never used
[INFO] [stdout]   --> src/namespace/mod.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Namespace {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 51 |     /// Create a new namespace
[INFO] [stdout] 52 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn add_repository(&mut self, repo: Repository) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn remove_repository(&mut self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_repository(&self, name: &str) -> Option<&Repository> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Repository` is never constructed
[INFO] [stdout]   --> src/namespace/mod.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Repository {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_remote` are never used
[INFO] [stdout]    --> src/namespace/mod.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Repository {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  94 |     /// Create a new repository reference
[INFO] [stdout]  95 |     pub fn new(name: &str, path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn with_remote(mut self, remote: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemorySharingMode` is never used
[INFO] [stdout]    --> src/namespace/mod.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum MemorySharingMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceRegistry` is never constructed
[INFO] [stdout]    --> src/namespace/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct NamespaceRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create`, `get`, `get_mut`, `list`, and `delete` are never used
[INFO] [stdout]    --> src/namespace/mod.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl NamespaceRegistry {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 136 |     /// Create a new registry
[INFO] [stdout] 137 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn create(&mut self, name: &str) -> &Namespace {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get(&self, name: &str) -> Option<&Namespace> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Namespace> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn list(&self) -> Vec<&Namespace> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn delete(&mut self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/secrets/mod.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_with_fallback` is never used
[INFO] [stdout]    --> src/secrets/mod.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn get_with_fallback(name: &str, repo: Option<&str>, namespace: Option<&str>) -> Result<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGENTS_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const AGENTS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("agents");
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TASKS_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TASKS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("tasks");
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMESPACES_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NAMESPACES_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("namespaces");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_TABLE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CONFIG_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("config");
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Table` is never used
[INFO] [stdout]   --> src/storage/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Table {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `definition` is never used
[INFO] [stdout]   --> src/storage/mod.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 26 |     fn definition(&self) -> TableDefinition<'static, &'static str, &'static [u8]> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Store` is never constructed
[INFO] [stdout]   --> src/storage/mod.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Store {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `put`, `get`, `delete`, and `keys` are never used
[INFO] [stdout]   --> src/storage/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Store {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 42 |     /// Open or create a store at the given path
[INFO] [stdout] 43 |     pub fn open(path: PathBuf) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn put(&self, table: Table, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get(&self, table: Table, key: &str) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn delete(&self, table: Table, key: &str) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn keys(&self, table: Table) -> Result<Vec<String>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Storable` is never used
[INFO] [stdout]    --> src/storage/mod.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Storable: serde::Serialize + serde::de::DeserializeOwned {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_rate_limited` and `cooldown_remaining` are never used
[INFO] [stdout]    --> src/subscription/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SubscriptionStatus {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_rate_limited(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn cooldown_remaining(&self) -> Option<Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_daily` is never used
[INFO] [stdout]    --> src/subscription/mod.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl RateLimitState {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn reset_daily(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_rate_limit` is never used
[INFO] [stdout]    --> src/subscription/mod.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl UsageMetrics {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn record_rate_limit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_rate_limited` is never used
[INFO] [stdout]    --> src/subscription/mod.rs:390:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl Subscription {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn mark_rate_limited(&mut self, duration: Duration) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reason` is never read
[INFO] [stdout]   --> src/subscription/health.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Warning { reason: String },
[INFO] [stdout]    |     -------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthCheckResult` 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: fields `subscription_id`, `subscription_name`, and `reason` are never read
[INFO] [stdout]   --> src/subscription/health.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     SubscriptionUnhealthy {
[INFO] [stdout]    |     --------------------- fields in this variant
[INFO] [stdout] 31 |         subscription_id: SubscriptionId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         subscription_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         reason: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthAlert` 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: fields `subscription_id` and `subscription_name` are never read
[INFO] [stdout]   --> src/subscription/health.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     SubscriptionRecovered {
[INFO] [stdout]    |     --------------------- fields in this variant
[INFO] [stdout] 37 |         subscription_id: SubscriptionId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |         subscription_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthAlert` 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: fields `subscription_id`, `subscription_name`, and `resets_at` are never read
[INFO] [stdout]   --> src/subscription/health.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     QuotaExhausted {
[INFO] [stdout]    |     -------------- fields in this variant
[INFO] [stdout] 42 |         subscription_id: SubscriptionId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |         subscription_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |         resets_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthAlert` 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: fields `subscription_id`, `subscription_name`, and `error_rate` are never read
[INFO] [stdout]   --> src/subscription/health.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     HighErrorRate {
[INFO] [stdout]    |     ------------- fields in this variant
[INFO] [stdout] 48 |         subscription_id: SubscriptionId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |         subscription_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |         error_rate: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthAlert` 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: fields `available` and `total` are never read
[INFO] [stdout]   --> src/subscription/health.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PoolHealthDegraded {
[INFO] [stdout]    |     ------------------ fields in this variant
[INFO] [stdout] 56 |         available: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 57 |         total: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthAlert` 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: fields `check_interval`, `auto_recovery`, and `recovery_interval` are never read
[INFO] [stdout]   --> src/subscription/health.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct HealthConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 64 |     /// Check interval
[INFO] [stdout] 65 |     pub check_interval: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub auto_recovery: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 72 |     /// Recovery check interval
[INFO] [stdout] 73 |     pub recovery_interval: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HealthConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `attempt_recovery`, `config`, and `set_config` are never used
[INFO] [stdout]    --> src/subscription/health.rs:295:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl HealthMonitor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub async fn attempt_recovery(&self) -> Result<Vec<SubscriptionId>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn config(&self) -> &HealthConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn set_config(&mut self, config: HealthConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `score` is never used
[INFO] [stdout]    --> src/subscription/health.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl HealthSummary {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_health_monitor` is never used
[INFO] [stdout]    --> src/subscription/health.rs:407:14
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub async fn run_health_monitor(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_priority`, `with_tag`, and `with_preferred` are never used
[INFO] [stdout]   --> src/subscription/pool.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl RequestContext {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn with_priority(mut self, priority: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn with_tag(mut self, tag: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn with_preferred(mut self, id: SubscriptionId) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `routing_config`, `mark_rate_limited`, `clear_all_sticky_sessions`, and `status` are never used
[INFO] [stdout]    --> src/subscription/pool.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl SubscriptionPool {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn routing_config(&self) -> RoutingConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn clear_all_sticky_sessions(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn status(&self) -> PoolStatus {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolStatus` is never constructed
[INFO] [stdout]    --> src/subscription/pool.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub struct PoolStatus {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `failure` and `rate_limited` are never used
[INFO] [stdout]    --> src/subscription/pool.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl<'a> SubscriptionLease<'a> {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn failure(self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn rate_limited(self, duration: Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_by_name`, `list_by_tag`, `count`, `count_available`, `is_empty`, and `mark_rate_limited` are never used
[INFO] [stdout]    --> src/subscription/registry.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl SubscriptionRegistry {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn remove_by_name(&self, name: &str) -> Result<Option<Subscription>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn list_by_tag(&self, tag: &str) -> Vec<Subscription> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn count_available(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: std::time::Duration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Custom` is never constructed
[INFO] [stdout]   --> src/subscription/usage.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum UsagePeriod {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Custom { start: NaiveDate, end: NaiveDate },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsagePeriod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_agent` and `with_model` are never used
[INFO] [stdout]    --> src/subscription/usage.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl UsageRecord {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn with_agent(mut self, agent_id: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn with_model(mut self, model: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge` is never used
[INFO] [stdout]    --> src/subscription/usage.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl UsageStats {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn merge(&mut self, other: &UsageStats) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `stats_by_namespace`, `export_json`, `list_logs`, and `prune` are never used
[INFO] [stdout]    --> src/subscription/usage.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl UsageTracker {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn stats_by_namespace(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn export_json(&mut self, period: UsagePeriod) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn list_logs(&self) -> Result<Vec<NaiveDate>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub fn prune(&self, older_than_days: u32) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_guidance`, `increment_iteration`, `is_iteration_limit_reached`, `is_checkpoint_due`, and `unassign` are never used
[INFO] [stdout]    --> src/task/mod.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Task {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn with_guidance(mut self, guidance: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn increment_iteration(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn is_iteration_limit_reached(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn is_checkpoint_due(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn unassign(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `requires_approval` is never used
[INFO] [stdout]    --> src/task/mod.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl ApprovalLevel {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 380 |     /// Check if an action requires approval at this level
[INFO] [stdout] 381 |     pub fn requires_approval(&self, action: &ApprovalAction) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/task/mod.rs:456:12
[INFO] [stdout]     |
[INFO] [stdout] 454 | impl ApprovalRequest {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 455 |     /// Create a new approval request
[INFO] [stdout] 456 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `modified_files` is never read
[INFO] [stdout]    --> src/task/mod.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 585 | pub struct CriteriaContext {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 591 |     pub modified_files: Vec<PathBuf>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CriteriaContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]    --> src/task/mod.rs:826:12
[INFO] [stdout]     |
[INFO] [stdout] 598 | impl Criterion {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `oldest` are never read
[INFO] [stdout]    --> src/task/checkpoint.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct CheckpointInfo {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 236 |     pub task_id: TaskId,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub oldest: Option<chrono::DateTime<chrono::Utc>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckpointInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove` and `increment_iteration` are never used
[INFO] [stdout]    --> src/task/registry.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl TaskRegistry {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn remove(&self, id: TaskId) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn increment_iteration(&self, task_id: TaskId) -> Result<Task> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `total` is never used
[INFO] [stdout]    --> src/task/registry.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 367 | impl TaskCounts {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 368 |     pub fn total(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Priority` and `FairShare` are never constructed
[INFO] [stdout]   --> src/task/scheduler.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum SchedulingStrategy {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Priority,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     /// Fair scheduling across namespaces
[INFO] [stdout] 26 |     FairShare,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SchedulingStrategy` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `strategy` is never read
[INFO] [stdout]   --> src/task/scheduler.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct TaskScheduler {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     strategy: SchedulingStrategy,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_strategy`, `with_max_concurrent`, `unregister_agent`, `mark_agent_available`, `run`, and `status` are never used
[INFO] [stdout]    --> src/task/scheduler.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl TaskScheduler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn with_strategy(mut self, strategy: SchedulingStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn with_max_concurrent(mut self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn unregister_agent(&self, agent_id: AgentId) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn mark_agent_available(&self, agent_id: AgentId) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn run(&self, mut shutdown_rx: tokio::sync::broadcast::Receiver<()>) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn status(&self) -> SchedulerStatus {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchedulerStatus` is never constructed
[INFO] [stdout]    --> src/task/scheduler.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct SchedulerStatus {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SchedulerEvent` is never used
[INFO] [stdout]    --> src/task/scheduler.rs:245:10
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub enum SchedulerEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PauseReason` is never used
[INFO] [stdout]    --> src/task/scheduler.rs:260:10
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum PauseReason {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_header` is never used
[INFO] [stdout]    --> src/tui/splash.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn display_header() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_version` is never used
[INFO] [stdout]    --> src/tui/splash.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn display_version() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subscription/pool.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "48459800dcf800bda3e83739eae866284dcfefdc9fba872cbea6bae3a674f5b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48459800dcf800bda3e83739eae866284dcfefdc9fba872cbea6bae3a674f5b9", kill_on_drop: false }`
[INFO] [stdout] 48459800dcf800bda3e83739eae866284dcfefdc9fba872cbea6bae3a674f5b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 42fcb68570de361ea5f25a82cb46d6871a7b1ba9432e23e31551b38ad367cbf9
[INFO] running `Command { std: "docker" "start" "-a" "42fcb68570de361ea5f25a82cb46d6871a7b1ba9432e23e31551b38ad367cbf9", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/subscription/pool.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 | use anyhow::{Context, Result};
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Instant`
[INFO] [stderr]   --> src/subscription/mod.rs:23:27
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]   --> src/task/scheduler.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use anyhow::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/cli/commands/namespace.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |             path,
[INFO] [stderr]    |             ^^^^ help: try ignoring the field: `path: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/cli/commands/namespace.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |             name,
[INFO] [stderr]    |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `force`
[INFO] [stderr]   --> src/cli/commands/namespace.rs:38:43
[INFO] [stderr]    |
[INFO] [stderr] 38 |         NamespaceCommands::Delete { name, force } => {
[INFO] [stderr]    |                                           ^^^^^ help: try ignoring the field: `force: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]   --> src/cli/commands/secret.rs:14:32
[INFO] [stderr]    |
[INFO] [stderr] 14 |         SecretCommands::List { scope } => {
[INFO] [stderr]    |                                ^^^^^ help: try ignoring the field: `scope: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/daemon/supervisor.rs:399:49
[INFO] [stderr]     |
[INFO] [stderr] 399 |     pub async fn send_input(&self, id: AgentId, input: &str) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]   --> src/secrets/mod.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `started_at` and `max_history` are never read
[INFO] [stderr]   --> src/daemon/supervisor.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | struct ManagedAgent {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 52 |     started_at: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 53 |     /// Maximum output history lines
[INFO] [stderr] 54 |     max_history: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `cleanup_agent_approvals` is never used
[INFO] [stderr]    --> src/daemon/supervisor.rs:831:8
[INFO] [stderr]     |
[INFO] [stderr]  63 | impl Supervisor {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/subscription/pool.rs:104:20
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease> {
[INFO] [stderr]     |                    ^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn acquire(&self, context: &RequestContext) -> Result<SubscriptionLease<'_>> {
[INFO] [stderr]     |                                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `raskell-kage` (lib) generated 12 warnings (run `cargo fix --lib -p raskell-kage` to apply 10 suggestions)
[INFO] [stderr] warning: unused import: `Subcommand`
[INFO] [stderr]  --> src/main.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 | use clap::{Parser, Subcommand};
[INFO] [stderr]   |                    ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `claude::ClaudeCodeProvider`
[INFO] [stderr]  --> src/agent/providers/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use claude::ClaudeCodeProvider;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/subscription/pool.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 | use anyhow::{Context, Result};
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pool::SubscriptionPool`
[INFO] [stderr]   --> src/subscription/mod.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub use pool::SubscriptionPool;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `display_header` and `display_version`
[INFO] [stderr]   --> src/tui/mod.rs:11:42
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use splash::{display as show_splash, display_header, display_version};
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AgentHandle` is never constructed
[INFO] [stderr]   --> src/agent/handle.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct AgentHandle {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AgentOutput` is never constructed
[INFO] [stderr]   --> src/agent/handle.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct AgentOutput {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `send`, `recv`, `is_alive`, and `kill` are never used
[INFO] [stderr]   --> src/agent/handle.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl AgentHandle {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 42 |     /// Create a new agent handle
[INFO] [stderr] 43 |     pub fn new(id: AgentId) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub async fn send(&self, input: &str) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 64 |     pub async fn recv(&mut self) -> Option<AgentOutput> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub fn is_alive(&mut self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn kill(&mut self) -> anyhow::Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AgentStatus` is never used
[INFO] [stderr]   --> src/agent/provider.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum AgentStatus {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AgentConfig` is never constructed
[INFO] [stderr]   --> src/agent/provider.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct AgentConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `AgentProvider` is never used
[INFO] [stderr]   --> src/agent/provider.rs:72:11
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub trait AgentProvider: Send + Sync {
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ClaudeCodeProvider` is never constructed
[INFO] [stderr]   --> src/agent/providers/claude.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct ClaudeCodeProvider {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `with_model` are never used
[INFO] [stderr]   --> src/agent/providers/claude.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl ClaudeCodeProvider {
[INFO] [stderr]    | ----------------------- associated functions in this implementation
[INFO] [stderr] 29 |     /// Create a new Claude Code provider
[INFO] [stderr] 30 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn with_model(model: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `config_dir` is never used
[INFO] [stderr]    --> src/config/mod.rs:250:8
[INFO] [stderr]     |
[INFO] [stderr] 250 | pub fn config_dir() -> PathBuf {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `socket_path` is never used
[INFO] [stderr]   --> src/daemon/mod.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl Daemon {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn socket_path(&self) -> &PathBuf {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `send_input`, `get_output`, `list_tasks`, `pause_agent`, `resume_agent`, and `cancel_task` are never used
[INFO] [stderr]    --> src/daemon/client.rs:108:18
[INFO] [stderr]     |
[INFO] [stderr]  16 | impl DaemonClient {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 108 |     pub async fn send_input(&mut self, id: crate::agent::AgentId, input: String) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub async fn get_output(&mut self, id: crate::agent::AgentId, lines: usize) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     pub async fn list_tasks(&mut self, status: Option<String>) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     pub async fn pause_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub async fn resume_agent(&mut self, id: crate::agent::AgentId) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub async fn cancel_task(&mut self, id: crate::task::TaskId) -> Result<Response> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `agent_approval_levels` and `agent_tasks` are never read
[INFO] [stderr]   --> src/daemon/supervisor.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Supervisor {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     agent_approval_levels: HashMap<AgentId, ApprovalLevel>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     /// Agent to task mapping
[INFO] [stderr] 34 |     agent_tasks: HashMap<AgentId, TaskId>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `started_at` and `max_history` are never read
[INFO] [stderr]   --> src/daemon/supervisor.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | struct ManagedAgent {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 52 |     started_at: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 53 |     /// Maximum output history lines
[INFO] [stderr] 54 |     max_history: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/daemon/supervisor.rs:78:12
[INFO] [stderr]     |
[INFO] [stderr]  63 | impl Supervisor {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  78 |     pub fn with_subscription_pool(config: Config, pool: Arc<SubscriptionPool>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     pub fn set_subscription_pool(&mut self, pool: Arc<SubscriptionPool>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     pub fn subscription_pool(&self) -> Option<&Arc<SubscriptionPool>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 589 |     pub fn update_token_usage(&mut self, id: AgentId, tokens: u64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 598 |     pub fn set_agent_approval(&mut self, agent_id: AgentId, level: ApprovalLevel, task_id: Option<TaskId>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 606 |     pub fn get_agent_approval_level(&self, agent_id: AgentId) -> ApprovalLevel {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 611 |     pub fn is_agent_awaiting_approval(&self, agent_id: AgentId) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 617 |     pub fn check_output_for_approval(&mut self, agent_id: AgentId, line: &str) -> Option<ApprovalRequest> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 660 |     fn get_output_context(&self, agent_id: AgentId, lines: usize) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 676 |     fn detect_file_write(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 713 |     fn detect_git_commit(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 743 |     fn detect_tool_use(&self, line: &str) -> Option<ApprovalAction> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 783 |     pub fn get_agent_pending_approval(&self, agent_id: AgentId) -> Option<&ApprovalRequest> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 826 |     pub fn pending_approval_count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 831 |     fn cleanup_agent_approvals(&mut self, agent_id: AgentId) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `subscriptions` is never read
[INFO] [stderr]   --> src/memory/bus.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct ContextBus {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     subscriptions: Arc<RwLock<HashMap<AgentId, Vec<ScopeFilter>>>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Namespace`, `Global`, and `Agent` are never constructed
[INFO] [stderr]   --> src/memory/bus.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub enum ScopeFilter {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 24 |     /// Subscribe to all events in a namespace
[INFO] [stderr] 25 |     Namespace(String),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     Global,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     Agent(AgentId),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScopeFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `subscribe`, `unsubscribe`, `receiver`, and `should_receive` are never used
[INFO] [stderr]   --> src/memory/bus.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 34 | impl ContextBus {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub async fn subscribe(&self, agent: AgentId, filters: Vec<ScopeFilter>) {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub async fn unsubscribe(&self, agent: AgentId) {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn receiver(&self) -> broadcast::Receiver<(MemoryEntry, MemoryScope)> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub async fn should_receive(&self, agent: AgentId, scope: &MemoryScope) -> bool {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `offset` is never read
[INFO] [stderr]   --> src/memory/query.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct MemoryQuery {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub offset: Option<usize>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MemoryQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get`, `get_by_scope`, `evict_expired`, `len`, and `is_empty` are never used
[INFO] [stderr]   --> src/memory/working.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl WorkingMemory {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn get(&self, id: MemoryId) -> Option<&MemoryEntry> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn get_by_scope(&self, scope: &MemoryScope) -> Vec<&MemoryEntry> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub fn evict_expired(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub fn len(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NamespaceId` is never constructed
[INFO] [stderr]   --> src/namespace/mod.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct NamespaceId(Ulid);
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/namespace/mod.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl NamespaceId {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] 14 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Namespace` is never constructed
[INFO] [stderr]   --> src/namespace/mod.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct Namespace {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_repository`, `remove_repository`, and `get_repository` are never used
[INFO] [stderr]   --> src/namespace/mod.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | impl Namespace {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 51 |     /// Create a new namespace
[INFO] [stderr] 52 |     pub fn new(name: &str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn add_repository(&mut self, repo: Repository) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub fn remove_repository(&mut self, name: &str) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn get_repository(&self, name: &str) -> Option<&Repository> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Repository` is never constructed
[INFO] [stderr]   --> src/namespace/mod.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct Repository {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_remote` are never used
[INFO] [stderr]    --> src/namespace/mod.rs:95:12
[INFO] [stderr]     |
[INFO] [stderr]  93 | impl Repository {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr]  94 |     /// Create a new repository reference
[INFO] [stderr]  95 |     pub fn new(name: &str, path: PathBuf) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn with_remote(mut self, remote: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MemorySharingMode` is never used
[INFO] [stderr]    --> src/namespace/mod.rs:113:10
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub enum MemorySharingMode {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NamespaceRegistry` is never constructed
[INFO] [stderr]    --> src/namespace/mod.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub struct NamespaceRegistry {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `create`, `get`, `get_mut`, `list`, and `delete` are never used
[INFO] [stderr]    --> src/namespace/mod.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 135 | impl NamespaceRegistry {
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr] 136 |     /// Create a new registry
[INFO] [stderr] 137 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 144 |     pub fn create(&mut self, name: &str) -> &Namespace {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub fn get(&self, name: &str) -> Option<&Namespace> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Namespace> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn list(&self) -> Vec<&Namespace> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub fn delete(&mut self, name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `list` is never used
[INFO] [stderr]   --> src/secrets/mod.rs:89:8
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub fn list(scope: &SecretScope) -> Result<Vec<String>> {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_with_fallback` is never used
[INFO] [stderr]    --> src/secrets/mod.rs:101:8
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub fn get_with_fallback(name: &str, repo: Option<&str>, namespace: Option<&str>) -> Result<Option<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AGENTS_TABLE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const AGENTS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("agents");
[INFO] [stderr]    |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TASKS_TABLE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const TASKS_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("tasks");
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NAMESPACES_TABLE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const NAMESPACES_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("namespaces");
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CONFIG_TABLE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const CONFIG_TABLE: TableDefinition<&str, &[u8]> = TableDefinition::new("config");
[INFO] [stderr]    |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Table` is never used
[INFO] [stderr]   --> src/storage/mod.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub enum Table {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `definition` is never used
[INFO] [stderr]   --> src/storage/mod.rs:26:8
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl Table {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] 26 |     fn definition(&self) -> TableDefinition<'static, &'static str, &'static [u8]> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Store` is never constructed
[INFO] [stderr]   --> src/storage/mod.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct Store {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `open`, `put`, `get`, `delete`, and `keys` are never used
[INFO] [stderr]   --> src/storage/mod.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl Store {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 42 |     /// Open or create a store at the given path
[INFO] [stderr] 43 |     pub fn open(path: PathBuf) -> Result<Self> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn put(&self, table: Table, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn get(&self, table: Table, key: &str) -> Result<Option<Vec<u8>>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn delete(&self, table: Table, key: &str) -> Result<bool> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 99 |     pub fn keys(&self, table: Table) -> Result<Vec<String>> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Storable` is never used
[INFO] [stderr]    --> src/storage/mod.rs:113:11
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub trait Storable: serde::Serialize + serde::de::DeserializeOwned {
[INFO] [stderr]     |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_rate_limited` and `cooldown_remaining` are never used
[INFO] [stderr]    --> src/subscription/mod.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl SubscriptionStatus {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn is_rate_limited(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn cooldown_remaining(&self) -> Option<Duration> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `reset_daily` is never used
[INFO] [stderr]    --> src/subscription/mod.rs:232:12
[INFO] [stderr]     |
[INFO] [stderr] 187 | impl RateLimitState {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 232 |     pub fn reset_daily(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `record_rate_limit` is never used
[INFO] [stderr]    --> src/subscription/mod.rs:285:12
[INFO] [stderr]     |
[INFO] [stderr] 264 | impl UsageMetrics {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 285 |     pub fn record_rate_limit(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `mark_rate_limited` is never used
[INFO] [stderr]    --> src/subscription/mod.rs:390:12
[INFO] [stderr]     |
[INFO] [stderr] 328 | impl Subscription {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 390 |     pub fn mark_rate_limited(&mut self, duration: Duration) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `reason` is never read
[INFO] [stderr]   --> src/subscription/health.rs:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 |     Warning { reason: String },
[INFO] [stderr]    |     -------   ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthCheckResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `subscription_id`, `subscription_name`, and `reason` are never read
[INFO] [stderr]   --> src/subscription/health.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     SubscriptionUnhealthy {
[INFO] [stderr]    |     --------------------- fields in this variant
[INFO] [stderr] 31 |         subscription_id: SubscriptionId,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 32 |         subscription_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |         reason: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthAlert` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `subscription_id` and `subscription_name` are never read
[INFO] [stderr]   --> src/subscription/health.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     SubscriptionRecovered {
[INFO] [stderr]    |     --------------------- fields in this variant
[INFO] [stderr] 37 |         subscription_id: SubscriptionId,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 38 |         subscription_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthAlert` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `subscription_id`, `subscription_name`, and `resets_at` are never read
[INFO] [stderr]   --> src/subscription/health.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     QuotaExhausted {
[INFO] [stderr]    |     -------------- fields in this variant
[INFO] [stderr] 42 |         subscription_id: SubscriptionId,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 43 |         subscription_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 44 |         resets_at: i64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthAlert` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `subscription_id`, `subscription_name`, and `error_rate` are never read
[INFO] [stderr]   --> src/subscription/health.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |     HighErrorRate {
[INFO] [stderr]    |     ------------- fields in this variant
[INFO] [stderr] 48 |         subscription_id: SubscriptionId,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 49 |         subscription_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 50 |         error_rate: f64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthAlert` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `available` and `total` are never read
[INFO] [stderr]   --> src/subscription/health.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |     PoolHealthDegraded {
[INFO] [stderr]    |     ------------------ fields in this variant
[INFO] [stderr] 56 |         available: usize,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 57 |         total: usize,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthAlert` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `check_interval`, `auto_recovery`, and `recovery_interval` are never read
[INFO] [stderr]   --> src/subscription/health.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct HealthConfig {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 64 |     /// Check interval
[INFO] [stderr] 65 |     pub check_interval: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub auto_recovery: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 72 |     /// Recovery check interval
[INFO] [stderr] 73 |     pub recovery_interval: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HealthConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `attempt_recovery`, `config`, and `set_config` are never used
[INFO] [stderr]    --> src/subscription/health.rs:295:18
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl HealthMonitor {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 295 |     pub async fn attempt_recovery(&self) -> Result<Vec<SubscriptionId>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub fn config(&self) -> &HealthConfig {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn set_config(&mut self, config: HealthConfig) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `score` is never used
[INFO] [stderr]    --> src/subscription/health.rs:373:12
[INFO] [stderr]     |
[INFO] [stderr] 356 | impl HealthSummary {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub fn score(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_health_monitor` is never used
[INFO] [stderr]    --> src/subscription/health.rs:407:14
[INFO] [stderr]     |
[INFO] [stderr] 407 | pub async fn run_health_monitor(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_priority`, `with_tag`, and `with_preferred` are never used
[INFO] [stderr]   --> src/subscription/pool.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl RequestContext {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn with_priority(mut self, priority: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn with_tag(mut self, tag: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn with_preferred(mut self, id: SubscriptionId) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `routing_config`, `mark_rate_limited`, `clear_all_sticky_sessions`, and `status` are never used
[INFO] [stderr]    --> src/subscription/pool.rs:99:12
[INFO] [stderr]     |
[INFO] [stderr]  81 | impl SubscriptionPool {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub fn routing_config(&self) -> RoutingConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: Duration) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 298 |     pub fn clear_all_sticky_sessions(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub fn status(&self) -> PoolStatus {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PoolStatus` is never constructed
[INFO] [stderr]    --> src/subscription/pool.rs:325:12
[INFO] [stderr]     |
[INFO] [stderr] 325 | pub struct PoolStatus {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `failure` and `rate_limited` are never used
[INFO] [stderr]    --> src/subscription/pool.rs:366:12
[INFO] [stderr]     |
[INFO] [stderr] 344 | impl<'a> SubscriptionLease<'a> {
[INFO] [stderr]     | ------------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn failure(self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 371 |     pub fn rate_limited(self, duration: Duration) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_by_name`, `list_by_tag`, `count`, `count_available`, `is_empty`, and `mark_rate_limited` are never used
[INFO] [stderr]    --> src/subscription/registry.rs:168:12
[INFO] [stderr]     |
[INFO] [stderr]  24 | impl SubscriptionRegistry {
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn remove_by_name(&self, name: &str) -> Result<Option<Subscription>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 214 |     pub fn list_by_tag(&self, tag: &str) -> Vec<Subscription> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub fn count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub fn count_available(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 283 |     pub fn mark_rate_limited(&self, id: SubscriptionId, duration: std::time::Duration) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Custom` is never constructed
[INFO] [stderr]   --> src/subscription/usage.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum UsagePeriod {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 27 |     Custom { start: NaiveDate, end: NaiveDate },
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UsagePeriod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_agent` and `with_model` are never used
[INFO] [stderr]    --> src/subscription/usage.rs:99:12
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl UsageRecord {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub fn with_agent(mut self, agent_id: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 |     pub fn with_model(mut self, model: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `merge` is never used
[INFO] [stderr]    --> src/subscription/usage.rs:166:12
[INFO] [stderr]     |
[INFO] [stderr] 136 | impl UsageStats {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub fn merge(&mut self, other: &UsageStats) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `stats_by_namespace`, `export_json`, `list_logs`, and `prune` are never used
[INFO] [stderr]    --> src/subscription/usage.rs:373:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | impl UsageTracker {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub fn stats_by_namespace(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 416 |     pub fn export_json(&mut self, period: UsagePeriod) -> Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 449 |     pub fn list_logs(&self) -> Result<Vec<NaiveDate>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 472 |     pub fn prune(&self, older_than_days: u32) -> Result<usize> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_guidance`, `increment_iteration`, `is_iteration_limit_reached`, `is_checkpoint_due`, and `unassign` are never used
[INFO] [stderr]    --> src/task/mod.rs:183:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl Task {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 183 |     pub fn with_guidance(mut self, guidance: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn increment_iteration(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     pub fn is_iteration_limit_reached(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 209 |     pub fn is_checkpoint_due(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn unassign(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `requires_approval` is never used
[INFO] [stderr]    --> src/task/mod.rs:381:12
[INFO] [stderr]     |
[INFO] [stderr] 379 | impl ApprovalLevel {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] 380 |     /// Check if an action requires approval at this level
[INFO] [stderr] 381 |     pub fn requires_approval(&self, action: &ApprovalAction) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/task/mod.rs:456:12
[INFO] [stderr]     |
[INFO] [stderr] 454 | impl ApprovalRequest {
[INFO] [stderr]     | -------------------- associated function in this implementation
[INFO] [stderr] 455 |     /// Create a new approval request
[INFO] [stderr] 456 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `modified_files` is never read
[INFO] [stderr]    --> src/task/mod.rs:591:9
[INFO] [stderr]     |
[INFO] [stderr] 585 | pub struct CriteriaContext {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 591 |     pub modified_files: Vec<PathBuf>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CriteriaContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `description` is never used
[INFO] [stderr]    --> src/task/mod.rs:826:12
[INFO] [stderr]     |
[INFO] [stderr] 598 | impl Criterion {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 826 |     pub fn description(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `task_id` and `oldest` are never read
[INFO] [stderr]    --> src/task/checkpoint.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub struct CheckpointInfo {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 236 |     pub task_id: TaskId,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 239 |     pub oldest: Option<chrono::DateTime<chrono::Utc>>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CheckpointInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove` and `increment_iteration` are never used
[INFO] [stderr]    --> src/task/registry.rs:115:12
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl TaskRegistry {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn remove(&self, id: TaskId) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 341 |     pub fn increment_iteration(&self, task_id: TaskId) -> Result<Task> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `total` is never used
[INFO] [stderr]    --> src/task/registry.rs:368:12
[INFO] [stderr]     |
[INFO] [stderr] 367 | impl TaskCounts {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 368 |     pub fn total(&self) -> usize {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Priority` and `FairShare` are never constructed
[INFO] [stderr]   --> src/task/scheduler.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum SchedulingStrategy {
[INFO] [stderr]    |          ------------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Priority,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 25 |     /// Fair scheduling across namespaces
[INFO] [stderr] 26 |     FairShare,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SchedulingStrategy` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `strategy` is never read
[INFO] [stderr]   --> src/task/scheduler.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct TaskScheduler {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     strategy: SchedulingStrategy,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_strategy`, `with_max_concurrent`, `unregister_agent`, `mark_agent_available`, `run`, and `status` are never used
[INFO] [stderr]    --> src/task/scheduler.rs:56:12
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl TaskScheduler {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  56 |     pub fn with_strategy(mut self, strategy: SchedulingStrategy) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  62 |     pub fn with_max_concurrent(mut self, max: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  83 |     pub async fn unregister_agent(&self, agent_id: AgentId) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub async fn mark_agent_available(&self, agent_id: AgentId) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     pub async fn run(&self, mut shutdown_rx: tokio::sync::broadcast::Receiver<()>) {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn status(&self) -> SchedulerStatus {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SchedulerStatus` is never constructed
[INFO] [stderr]    --> src/task/scheduler.rs:235:12
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub struct SchedulerStatus {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SchedulerEvent` is never used
[INFO] [stderr]    --> src/task/scheduler.rs:245:10
[INFO] [stderr]     |
[INFO] [stderr] 245 | pub enum SchedulerEvent {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PauseReason` is never used
[INFO] [stderr]    --> src/task/scheduler.rs:260:10
[INFO] [stderr]     |
[INFO] [stderr] 260 | pub enum PauseReason {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `display_header` is never used
[INFO] [stderr]    --> src/tui/splash.rs:238:8
[INFO] [stderr]     |
[INFO] [stderr] 238 | pub fn display_header() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `display_version` is never used
[INFO] [stderr]    --> src/tui/splash.rs:251:8
[INFO] [stderr]     |
[INFO] [stderr] 251 | pub fn display_version() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `raskell-kage` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr] warning: `raskell-kage` (bin "kage" test) generated 92 warnings (9 duplicates) (run `cargo fix --bin "kage" -p raskell-kage --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.84s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/raskell_kage-134a642143470a70)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test daemon::protocol::tests::test_encode_decode_request ... ok
[INFO] [stdout] test secrets::tests::test_scope_parse ... ok
[INFO] [stdout] test secrets::tests::test_scope_to_key ... ok
[INFO] [stdout] test daemon::protocol::tests::test_encode_decode_response ... ok
[INFO] [stdout] test subscription::tests::test_usage_metrics ... ok
[INFO] [stdout] test subscription::usage::tests::test_stats_period ... ok
[INFO] [stdout] test subscription::usage::tests::test_tracker_record_and_read ... ok
[INFO] [stdout] test subscription::tests::test_subscription_status ... ok
[INFO] [stdout] test subscription::usage::tests::test_usage_record ... ok
[INFO] [stdout] test task::checkpoint::tests::test_delete_all ... ok
[INFO] [stdout] test subscription::usage::tests::test_usage_stats ... ok
[INFO] [stdout] test subscription::tests::test_error_backoff ... ok
[INFO] [stdout] test task::checkpoint::tests::test_prune ... ok
[INFO] [stdout] test task::checkpoint::tests::test_save_and_load ... ok
[INFO] [stdout] test subscription::tests::test_subscription_creation ... ok
[INFO] [stdout] test task::checkpoint::tests::test_list ... ok
[INFO] [stdout] test subscription::tests::test_rate_limit_state ... ok
[INFO] [stdout] test task::checkpoint::tests::test_load_latest ... ok
[INFO] [stdout] test subscription::pool::tests::test_namespace_routing ... ok
[INFO] [stdout] test task::registry::tests::test_update ... ok
[INFO] [stdout] test subscription::pool::tests::test_acquire_release ... ok
[INFO] [stdout] test subscription::pool::tests::test_round_robin ... ok
[INFO] [stdout] test task::scheduler::tests::test_namespace_affinity ... ok
[INFO] [stdout] test subscription::registry::tests::test_registry_crud ... ok
[INFO] [stdout] test subscription::pool::tests::test_no_available_subscriptions ... ok
[INFO] [stdout] test task::registry::tests::test_add_and_get ... ok
[INFO] [stdout] test subscription::health::tests::test_health_check_healthy ... ok
[INFO] [stdout] test task::registry::tests::test_ready_tasks_with_dependencies ... ok
[INFO] [stdout] test task::registry::tests::test_priority_ordering ... ok
[INFO] [stdout] test task::scheduler::tests::test_try_assign ... ok
[INFO] [stdout] test subscription::pool::tests::test_sticky_sessions ... ok
[INFO] [stdout] test subscription::registry::tests::test_duplicate_name_rejected ... ok
[INFO] [stdout] test subscription::registry::tests::test_list_available ... ok
[INFO] [stdout] test task::scheduler::tests::test_next_task ... ok
[INFO] [stdout] test subscription::health::tests::test_health_check_disabled ... ok
[INFO] [stdout] test task::registry::tests::test_list_by_status ... ok
[INFO] [stdout] test subscription::health::tests::test_health_alert_on_unhealthy ... ok
[INFO] [stdout] test task::scheduler::tests::test_register_agent ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kage-05f9ff95d48b14a6)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.68s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test daemon::protocol::tests::test_encode_decode_request ... ok
[INFO] [stdout] test daemon::protocol::tests::test_encode_decode_response ... ok
[INFO] [stdout] test secrets::tests::test_scope_to_key ... ok
[INFO] [stdout] test secrets::tests::test_scope_parse ... ok
[INFO] [stdout] test subscription::tests::test_error_backoff ... ok
[INFO] [stdout] test subscription::tests::test_rate_limit_state ... ok
[INFO] [stdout] test subscription::usage::tests::test_stats_period ... ok
[INFO] [stdout] test subscription::usage::tests::test_tracker_record_and_read ... ok
[INFO] [stdout] test subscription::usage::tests::test_usage_stats ... ok
[INFO] [stdout] test task::checkpoint::tests::test_delete_all ... ok
[INFO] [stdout] test subscription::tests::test_subscription_creation ... ok
[INFO] [stdout] test subscription::usage::tests::test_usage_record ... ok
[INFO] [stdout] test task::checkpoint::tests::test_prune ... ok
[INFO] [stdout] test subscription::tests::test_subscription_status ... ok
[INFO] [stdout] test task::checkpoint::tests::test_save_and_load ... ok
[INFO] [stdout] test task::checkpoint::tests::test_list ... ok
[INFO] [stdout] test subscription::tests::test_usage_metrics ... ok
[INFO] [stdout] test task::checkpoint::tests::test_load_latest ... FAILED
[INFO] [stdout] test subscription::health::tests::test_health_check_disabled ... ok
[INFO] [stdout] test task::registry::tests::test_priority_ordering ... ok
[INFO] [stdout] test subscription::pool::tests::test_namespace_routing ... ok
[INFO] [stdout] test task::registry::tests::test_add_and_get ... ok
[INFO] [stdout] test task::registry::tests::test_ready_tasks_with_dependencies ... ok
[INFO] [stdout] test tui::splash::tests::test_colorize_mascot_line ... ok
[INFO] [stdout] test tui::splash::tests::test_display_to_buffer ... FAILED
[INFO] [stdout] test subscription::health::tests::test_health_check_healthy ... ok
[INFO] [stdout] test task::registry::tests::test_update ... ok
[INFO] [stdout] test subscription::pool::tests::test_round_robin ... ok
[INFO] [stdout] test subscription::registry::tests::test_duplicate_name_rejected ... ok
[INFO] [stdout] test subscription::registry::tests::test_registry_crud ... ok
[INFO] [stdout] test subscription::pool::tests::test_no_available_subscriptions ... ok
[INFO] [stdout] test subscription::pool::tests::test_acquire_release ... ok
[INFO] [stdout] test subscription::health::tests::test_health_alert_on_unhealthy ... ok
[INFO] [stdout] test task::registry::tests::test_list_by_status ... ok
[INFO] [stdout] test subscription::pool::tests::test_sticky_sessions ... ok
[INFO] [stdout] test subscription::registry::tests::test_list_available ... ok
[INFO] [stdout] test task::scheduler::tests::test_try_assign ... ok
[INFO] [stdout] test task::scheduler::tests::test_namespace_affinity ... ok
[INFO] [stdout] test task::scheduler::tests::test_register_agent ... ok
[INFO] [stdout] test task::scheduler::tests::test_next_task ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- task::checkpoint::tests::test_load_latest stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'task::checkpoint::tests::test_load_latest' (82) panicked at src/task/checkpoint.rs:287:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 2
[INFO] [stdout]  right: 3
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f82beff47aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f82beff47aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f82beff47aa - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f82beff47aa - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f82bf00a56a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f82bf00a56a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5f82beff99f2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5f82beff99f2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5f82befd0b4f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f82befd0b4f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f82befeba89 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f82bed0a38c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5f82bed0a38c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f82befebd02 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5f82befebd02 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f82befd0c08 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5f82befc5749 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f82befd1a0d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f82bf00ad2c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f82bf00abe3 - core[e929cb53b82a81ca]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5f82befc56fa - core[e929cb53b82a81ca]::panicking::assert_failed::<u32, u32>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5f82beced5b2 - kage[634e4066ef56cc3c]::task::checkpoint::tests::test_load_latest
[INFO] [stdout]                                at /opt/rustwide/workdir/src/task/checkpoint.rs:287:9
[INFO] [stdout]   22:     0x5f82becdf937 - kage[634e4066ef56cc3c]::task::checkpoint::tests::test_load_latest::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/task/checkpoint.rs:270:26
[INFO] [stdout]   23:     0x5f82bec71426 - <kage[634e4066ef56cc3c]::task::checkpoint::tests::test_load_latest::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f82becfd66b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f82becfd66b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5f82bed0ae5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5f82bed04574 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5f82bed04574 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f82bed0da62 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f82bed0da62 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f82bed0da62 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5f82bed0da62 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f82bed0da62 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f82bed0da62 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f82bed0da62 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f82beff3fff - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5f82beff3fff - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x74dcff86daa4 - <unknown>
[INFO] [stdout]   45:     0x74dcff8faa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tui::splash::tests::test_display_to_buffer stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tui::splash::tests::test_display_to_buffer' (95) panicked at src/tui/splash.rs:271:9:
[INFO] [stdout] assertion failed: output.contains("KAGE") || output.contains("┃┫┣┫")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f82beff47aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f82beff47aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f82beff47aa - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f82beff47aa - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f82bf00a56a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f82bf00a56a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5f82beff99f2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5f82beff99f2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5f82befd0b4f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f82befd0b4f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f82befeba89 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f82bed0a38c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5f82bed0a38c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f82befebd02 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5f82befebd02 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f82befd0c3a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5f82befc5749 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f82befd1a0d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f82bf00ad2c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f82bf00acf2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5f82bec2797a - kage[634e4066ef56cc3c]::tui::splash::tests::test_display_to_buffer
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tui/splash.rs:271:9
[INFO] [stdout]   21:     0x5f82bec15397 - kage[634e4066ef56cc3c]::tui::splash::tests::test_display_to_buffer::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tui/splash.rs:265:32
[INFO] [stdout]   22:     0x5f82bec71326 - <kage[634e4066ef56cc3c]::tui::splash::tests::test_display_to_buffer::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5f82becfd66b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f82becfd66b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5f82bed0ae5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5f82bed0ae5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5f82bed0ae5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5f82bed04574 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5f82bed04574 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5f82bed0da62 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5f82bed0da62 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5f82bed0da62 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5f82bed0da62 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5f82bed0da62 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5f82bed0da62 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5f82bed0da62 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5f82beff3fff - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5f82beff3fff - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x74dcff86daa4 - <unknown>
[INFO] [stdout]   44:     0x74dcff8faa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     task::checkpoint::tests::test_load_latest
[INFO] [stdout]     tui::splash::tests::test_display_to_buffer
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 38 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin kage`
[INFO] running `Command { std: "docker" "inspect" "42fcb68570de361ea5f25a82cb46d6871a7b1ba9432e23e31551b38ad367cbf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42fcb68570de361ea5f25a82cb46d6871a7b1ba9432e23e31551b38ad367cbf9", kill_on_drop: false }`
[INFO] [stdout] 42fcb68570de361ea5f25a82cb46d6871a7b1ba9432e23e31551b38ad367cbf9
