[INFO] cloning repository https://github.com/jmagar/rustarr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmagar/rustarr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagar%2Frustarr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagar%2Frustarr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5cfc7d6d86e6f0ffde63b50827d058fb079cf334
[INFO] testing jmagar/rustarr against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagar%2Frustarr" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/jmagar/rustarr
[INFO] finished tweaking git repo https://github.com/jmagar/rustarr
[INFO] tweaked toml for git repo https://github.com/jmagar/rustarr written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jmagar/rustarr on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jmagar/rustarr 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/jmagar/lab.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rquickjs v0.12.0
[INFO] [stderr]   Downloaded tower-http v0.7.0
[INFO] [stderr]   Downloaded rmcp-macros v2.1.0
[INFO] [stderr]   Downloaded rquickjs-core v0.12.0
[INFO] [stderr]   Downloaded spki v0.8.0
[INFO] [stderr]   Downloaded pkcs8 v0.11.0
[INFO] [stderr]   Downloaded jsonwebtoken v10.4.0
[INFO] [stderr]   Downloaded rmcp v2.1.0
[INFO] [stderr]   Downloaded rsa v0.10.0-rc.18
[INFO] [stderr]   Downloaded axum-prometheus v0.10.0
[INFO] [stderr]   Downloaded metrics-exporter-prometheus v0.18.3
[INFO] [stderr]   Downloaded hashbag v0.1.13
[INFO] [stderr]   Downloaded crypto-primes v0.7.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.20
[INFO] [stderr]   Downloaded evmap v11.0.0
[INFO] [stderr]   Downloaded left-right v0.11.7
[INFO] [stderr]   Downloaded jsonschema-regex v0.46.10
[INFO] [stderr]   Downloaded referencing v0.46.10
[INFO] [stderr]   Downloaded crypto-bigint v0.7.5
[INFO] [stderr]   Downloaded jsonschema v0.46.10
[INFO] [stderr]   Downloaded rquickjs-sys v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61
[INFO] running `Command { std: "docker" "start" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling pem-rfc7468 v1.0.0
[INFO] [stderr]    Compiling compression-core v0.4.32
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling compression-codecs v0.4.38
[INFO] [stderr]    Compiling der v0.8.0
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling cmov v0.5.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling rquickjs-sys v0.12.0
[INFO] [stderr]    Compiling rapidhash v4.4.1
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling spki v0.8.0
[INFO] [stderr]    Compiling cpubits v0.1.1
[INFO] [stderr]    Compiling crypto-bigint v0.7.5
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling metrics v0.24.6
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling left-right v0.11.7
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling sketches-ddsketch v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling hashbag v0.1.13
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling async-compression v0.4.42
[INFO] [stderr]    Compiling evmap v11.0.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling cookie_store v0.22.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling crypto-primes v0.7.0
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling metrics-util v0.20.4
[INFO] [stderr]    Compiling simple_asn1 v0.6.4
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling pkcs1 v0.8.0-rc.4
[INFO] [stderr]    Compiling pkcs8 v0.11.0
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling signature v3.0.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling rmcp v2.1.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling rsa v0.10.0-rc.18
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling rmcp-macros v2.1.0
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling sse-stream v0.2.3
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling pastey v0.2.2
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tower-http v0.7.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling axum-prometheus v0.10.0
[INFO] [stderr]    Compiling rquickjs-core v0.12.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling rquickjs v0.12.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling lab-auth v0.15.0 (https://github.com/jmagar/lab.git?rev=87cec3241f9baef22335de9cc8629ebbcd8ba047#87cec324)
[INFO] [stderr]    Compiling yarr v1.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 00s
[INFO] running `Command { std: "docker" "inspect" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling rmcp v2.1.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling tower-http v0.7.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling rquickjs-sys v0.12.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling metrics-util v0.20.4
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling async-compression v0.4.42
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling process-wrap v9.1.0
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling rquickjs-core v0.12.0
[INFO] [stderr]    Compiling lab-auth v0.15.0 (https://github.com/jmagar/lab.git?rev=87cec3241f9baef22335de9cc8629ebbcd8ba047#87cec324)
[INFO] [stderr]    Compiling axum-prometheus v0.10.0
[INFO] [stderr]    Compiling rquickjs v0.12.0
[INFO] [stderr]    Compiling yarr v1.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 55s
[INFO] running `Command { std: "docker" "inspect" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.97s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/yarr-a7273339d806f291)
[INFO] [stdout] 
[INFO] [stdout] running 549 tests
[INFO] [stdout] test actions::commands::download::tests::add_and_remove_declare_required_params ... ok
[INFO] [stdout] test actions::commands::download::tests::all_commands_are_download_capability ... ok
[INFO] [stdout] test actions::commands::download::tests::registers_all_download_commands ... ok
[INFO] [stdout] test actions::commands::download::tests::action_names_are_capability_prefixed_for_global_uniqueness ... ok
[INFO] [stdout] test actions::commands::download::tests::write_commands_are_write_scope_mutate_and_only_remove_is_destructive ... ok
[INFO] [stdout] test actions::commands::download::tests::queue_is_read_scope_and_non_mutating ... ok
[INFO] [stdout] test actions::commands::stats::tests::all_commands_are_stats_capability ... ok
[INFO] [stdout] test actions::commands::stats::tests::commands_are_visible_in_global_registry ... ok
[INFO] [stdout] test actions::commands::stats::tests::action_names_are_stats_prefixed_avoiding_global_collisions ... ok
[INFO] [stdout] test actions::commands::stats::tests::mcp_dispatch_parses_stats_activity_to_curated_variant ... ok
[INFO] [stdout] test actions::commands::stats::tests::mcp_dispatch_parses_stats_history_with_pagination ... ok
[INFO] [stdout] test actions::commands::stats::tests::mcp_dispatch_parses_stats_delete_image_cache ... ok
[INFO] [stdout] test actions::commands::stats::tests::mcp_dispatch_parses_stats_users_and_libraries ... ok
[INFO] [stdout] test actions::commands::stats::tests::names_are_unique_within_slice ... ok
[INFO] [stdout] test actions::commands::stats::tests::read_commands_are_read_scope_and_non_mutating ... ok
[INFO] [stdout] test actions::commands::stats::tests::registers_all_stats_commands ... ok
[INFO] [stdout] test actions::commands::stats::tests::registry_scopes_match_descriptors ... ok
[INFO] [stdout] test actions::commands::subtitles::tests::subtitles_commands_are_registered_to_subtitles_capability ... ok
[INFO] [stdout] test actions::commands::tests::aggregated_curated_commands_is_non_empty ... ok
[INFO] [stdout] test actions::commands::trace::tests::terminate_stream_is_the_only_destructive_trace_command ... ok
[INFO] [stdout] test actions::commands::tests::per_capability_slices_are_reachable ... ok
[INFO] [stdout] test actions::commands::subtitles::tests::paged_subtitles_commands_declare_integer_pagination ... ok
[INFO] [stdout] test actions::commands::trace::tests::trace_commands_are_registered_to_trace_capability ... ok
[INFO] [stdout] test actions::commands::stats::tests::write_commands_are_write_scope_mutating_and_only_delete_is_destructive ... ok
[INFO] [stdout] test actions::dispatch::tests::shared_guard_allows_curated_write_command_for_matching_kind ... ok
[INFO] [stdout] test actions::model::tests::scopes_satisfy_write_covers_read ... ok
[INFO] [stdout] test actions::help::tests::rest_help_lists_actions_and_examples ... ok
[INFO] [stdout] test actions::parse::tests::optional_string_and_bool_arg ... ok
[INFO] [stdout] test actions::help::tests::help_text_shows_capability_digest_and_curated_commands ... ok
[INFO] [stdout] test actions::model::tests::yarr_action_name_round_trip ... ok
[INFO] [stdout] test actions::parse::tests::optional_i64_errors_when_present_but_invalid ... ok
[INFO] [stdout] test actions::help::tests::help_text_has_header_and_credentials_note ... ok
[INFO] [stdout] test actions::help::tests::help_text_lists_every_action ... ok
[INFO] [stdout] test actions::commands::stats::tests::history_declares_optional_pagination_and_user ... ok
[INFO] [stdout] test actions::parse::tests::parses_mcp_actions ... ok
[INFO] [stdout] test actions::registry::tests::action_allowed_for_kind_allows_infra_for_all_kinds ... ok
[INFO] [stdout] test actions::parse::tests::parses_put_and_delete_actions ... ok
[INFO] [stdout] test actions::parse::tests::rejects_missing_required_fields ... ok
[INFO] [stdout] test actions::help::tests::help_text_write_commands_present ... ok
[INFO] [stdout] test actions::parse::tests::string_arg_trims_and_rejects_empty ... ok
[INFO] [stdout] test actions::registry::tests::action_is_destructive_covers_exactly_the_gated_set ... ok
[INFO] [stdout] test actions::help::tests::help_text_marks_write_actions ... ok
[INFO] [stdout] test actions::registry::tests::capability_digest_lists_doc_based_commands ... ok
[INFO] [stdout] test actions::registry::tests::download_commands_valid_only_for_download_kinds ... ok
[INFO] [stdout] test actions::parse::tests::rejects_unknown_action ... ok
[INFO] [stdout] test actions::model::tests::action_not_valid_for_kind_display_includes_valid_list ... ok
[INFO] [stdout] test actions::registry::tests::action_metadata_matches_yarr_surface ... ok
[INFO] [stdout] test actions::registry::tests::promoted_doc_based_kinds_accept_only_their_curated_capability ... ok
[INFO] [stdout] test actions::registry::tests::required_params_mirror_parser_contract ... ok
[INFO] [stdout] test actions::registry::tests::no_read_only_curated_command_carries_write_scope ... ok
[INFO] [stdout] test actions::registry::tests::all_action_names_unions_generic_and_curated ... ok
[INFO] [stdout] test actions::registry::tests::typed_params_cover_every_declared_param ... ok
[INFO] [stdout] test actions::registry::tests::typed_params_are_consistent_across_commands ... ok
[INFO] [stdout] test actions::registry::tests::allowed_kind_names_covers_all_kinds_for_infra ... ok
[INFO] [stdout] test actions::registry::tests::unknown_action_denies ... ok
[INFO] [stdout] test actions::registry::tests::curated_registry_populated_with_doc_based_commands ... ok
[INFO] [stdout] test actions::tests::action_names_is_non_empty ... ok
[INFO] [stdout] test actions::tests::is_known_action_recognizes_api_get ... ok
[INFO] [stdout] test actions::tests::rest_help_returns_a_value ... ok
[INFO] [stdout] test actions::tests::scope_constants_are_distinct ... ok
[INFO] [stdout] test actions::registry::tests::valid_actions_for_kind_includes_infra ... ok
[INFO] [stdout] test actions::dispatch::tests::help_action_dispatches ... ok
[INFO] [stdout] test app::codemode::tests::codemode_concurrent_runs_get_isolated_artifact_dirs ... ok
[INFO] [stdout] test actions::dispatch::tests::shared_guard_skips_unknown_service_name ... ok
[INFO] [stdout] test app::codemode::tests::codemode_rejects_empty_code ... ok
[INFO] [stdout] test actions::dispatch::tests::help_action_dispatches_to_generated_help ... ok
[INFO] [stdout] test actions::dispatch::tests::shared_guard_allows_infra_actions_for_configured_kind ... ok
[INFO] [stdout] test app::codemode::tests::codemode_describe_surfaces_response_types_on_demand ... ok
[INFO] [stdout] test app::codemode::tests::codemode_records_per_call_elapsed_ms ... ok
[INFO] [stdout] test app::codemode::tests::codemode_api_client_delete_dispatches ... ok
[INFO] [stdout] test app::codemode::tests::codemode_allows_destructive_actions_to_dispatch ... ok
[INFO] [stdout] test app::codemode::tests::codemode_roundtrips_a_local_action ... ok
[INFO] [stdout] test app::download::qbit::tests::qbit_path_uses_v2_prefix ... ok
[INFO] [stdout] test app::download::qbit::tests::qbit_pause_resume_paths_are_v5_stop_start_not_pause_resume ... ok
[INFO] [stdout] test app::download::qbit::tests::queue_slim_keeps_torrent_fields ... ok
[INFO] [stdout] test actions::dispatch::tests::shared_guard_rejects_action_invalid_for_kind_with_valid_actions ... ok
[INFO] [stdout] test app::codemode::tests::codemode_describe_ambiguous_bare_type_is_null ... ok
[INFO] [stdout] test app::download::sab::tests::add_uses_addurl_mode_with_percent_encoded_name ... ok
[INFO] [stdout] test app::download::sab::tests::queue_slim_keeps_expected_fields ... ok
[INFO] [stdout] test app::download::sab::tests::queue_uses_mode_query_and_json_output ... ok
[INFO] [stdout] test app::codemode::tests::codemode_discovery_search_and_describe_run ... ok
[INFO] [stdout] test app::codemode::tests::codemode_run_invokes_saved_snippet ... ok
[INFO] [stdout] test app::codemode::tests::snippets_disabled_without_data_dir ... ok
[INFO] [stdout] test app::codemode::tests::codemode_self_invocation_is_blocked ... ok
[INFO] [stdout] test app::codemode::tests::codemode_write_artifact_disabled_without_root ... ok
[INFO] [stdout] test app::codemode::tests::per_service_callable_bakes_in_the_service ... ok
[INFO] [stdout] test app::openapi_ops::tests::http_method_maps_to_reqwest_method ... ok
[INFO] [stdout] test app::openapi_ops::tests::query_arg_values_reject_nested_arrays_objects_and_null ... ok
[INFO] [stdout] test app::openapi_ops::tests::query_arg_values_support_scalars_and_arrays ... ok
[INFO] [stdout] test app::stats::tests::activity_uses_cmd_query_on_api_v2 ... ok
[INFO] [stdout] test app::stats::tests::history_params_are_percent_encoded_no_cmd_injection ... ok
[INFO] [stdout] test app::stats::tests::history_slim_keeps_expected_fields ... ok
[INFO] [stdout] test app::stats::tests::libraries_use_inventory_command_not_analytics_datatable ... ok
[INFO] [stdout] test app::stats::tests::query_get_injects_apikey_exactly_once ... ok
[INFO] [stdout] test app::codemode::tests::codemode_write_artifact_partial_failure_does_not_drop_writes ... ok
[INFO] [stdout] test app::stats::tests::session_slim_keeps_expected_fields ... ok
[INFO] [stdout] test app::codemode::tests::snippet_input_binding_is_injection_safe ... ok
[INFO] [stdout] test app::download::qbit::tests::resume_hits_torrents_start_on_the_wire ... ok
[INFO] [stdout] test app::download::qbit::tests::pause_hits_torrents_stop_on_the_wire ... ok
[INFO] [stdout] test app::stats::tests::unwrap_errors_on_failure_result_surfacing_message ... ok
[INFO] [stdout] test app::stats::tests::unwrap_errors_on_missing_envelope ... ok
[INFO] [stdout] test app::stats::tests::user_and_library_slim_keep_expected_fields ... ok
[INFO] [stdout] test app::subtitles::tests::paging_query_omits_absent_values_and_stringifies_present_values ... ok
[INFO] [stdout] test app::stats::tests::unwrap_returns_data_on_success ... ok
[INFO] [stdout] test app::codemode::tests::snippet_save_list_run_delete_roundtrip ... ok
[INFO] [stdout] test app::trace::tests::optional_query_omits_empty_values ... ok
[INFO] [stdout] test app::trace::tests::paging_query_uses_tracearr_page_size_wire_name ... ok
[INFO] [stdout] test capability::tests::arr_version_and_resource_table_is_correct ... ok
[INFO] [stdout] test capability::tests::auth_style_table ... ok
[INFO] [stdout] test capability::tests::capability_classes_match_kinds ... ok
[INFO] [stdout] test capability::tests::every_kind_has_descriptor_and_capability ... ok
[INFO] [stdout] test capability::tests::generic_only_kinds ... ok
[INFO] [stdout] test capability::tests::metadata_profile_axis_is_typed_per_kind_not_a_deny_list ... ok
[INFO] [stdout] test cli::command::tests::command_variants_construct_and_compare ... ok
[INFO] [stdout] test cli::command::tests::curated_carries_action_and_params ... ok
[INFO] [stdout] test cli::command::tests::distinct_variants_are_not_equal ... ok
[INFO] [stdout] test cli::commands::download::tests::add_requires_url ... ok
[INFO] [stdout] test cli::commands::download::tests::plex_queue_is_rejected_wrong_kind ... ok
[INFO] [stdout] test cli::commands::download::tests::qbittorrent_pause_with_hash ... ok
[INFO] [stdout] test cli::commands::download::tests::qbittorrent_queue_maps_kebab_to_download_queue ... ok
[INFO] [stdout] test cli::commands::download::tests::qbittorrent_remove_with_hash_and_delete_files ... ok
[INFO] [stdout] test cli::commands::download::tests::qbittorrent_resume_all_when_no_id ... ok
[INFO] [stdout] test cli::commands::download::tests::remove_requires_id_or_hash ... ok
[INFO] [stdout] test cli::commands::download::tests::sabnzbd_add_parses_url ... ok
[INFO] [stdout] test cli::commands::download::tests::sabnzbd_queue_maps_kebab_to_download_queue ... ok
[INFO] [stdout] test cli::commands::download::tests::sabnzbd_remove_with_nzo_id ... ok
[INFO] [stdout] test app::codemode::tests::codemode_write_artifact_persists_file_and_returns_receipt ... ok
[INFO] [stdout] test cli::commands::stats::tests::history_rejects_unknown_flag ... ok
[INFO] [stdout] test cli::commands::stats::tests::sonarr_activity_rejected_wrong_kind ... ok
[INFO] [stdout] test cli::commands::stats::tests::tautulli_activity_maps_kebab_to_stats_activity ... ok
[INFO] [stdout] test cli::commands::stats::tests::tautulli_history_parses_start_and_length ... ok
[INFO] [stdout] test cli::commands::stats::tests::activity_rejects_unexpected_flags ... ok
[INFO] [stdout] test cli::commands::stats::tests::tautulli_users_and_libraries_map_to_stats_actions ... ok
[INFO] [stdout] test cli::commands::stats::tests::tautulli_write_verbs_run_immediately ... ok
[INFO] [stdout] test cli::commands::stats::tests::write_verb_rejects_unknown_flag ... ok
[INFO] [stdout] test cli::commands::subtitles::tests::providers_rejects_extra_args ... ok
[INFO] [stdout] test cli::commands::stats::tests::tautulli_history_parses_user_filter ... ok
[INFO] [stdout] test cli::commands::subtitles::tests::wanted_movies_parses_pagination ... ok
[INFO] [stdout] test cli::commands::tests::cli_verb_for_action_returns_none_for_unknown ... ok
[INFO] [stdout] test cli::commands::tests::capability_verb_tables_cover_all_capabilities ... ok
[INFO] [stdout] test cli::commands::trace::tests::streams_summary_flag_maps_to_boolean_param ... ok
[INFO] [stdout] test cli::commands::trace::tests::terminate_stream_parses_id_and_reason ... ok
[INFO] [stdout] test cli::doctor::checks::tests::auth_config_passes_loopback_no_auth ... ok
[INFO] [stdout] test cli::doctor::checks::tests::auth_config_passes_typed_trusted_gateway ... ok
[INFO] [stdout] test cli::commands::tests::cli_verb_for_action_round_trips_a_known_mapping ... ok
[INFO] [stdout] test cli::doctor::checks::tests::auth_config_rejects_non_loopback_without_auth ... ok
[INFO] [stdout] test cli::doctor::checks::tests::binary_in_path_passes_for_sh ... ok
[INFO] [stdout] test cli::doctor::checks::tests::binary_in_path_fails_for_nonexistent ... ok
[INFO] [stdout] test cli::doctor::checks::tests::config_file_passes_when_present ... ok
[INFO] [stdout] test cli::doctor::checks::tests::config_file_passes_gracefully_when_absent ... ok
[INFO] [stdout] test cli::doctor::checks::tests::dir_writable_does_not_recurse_into_symlinked_children ... ok
[INFO] [stdout] test cli::doctor::checks::tests::config_file_reports_legacy_candidate_when_present ... ok
[INFO] [stdout] test app::codemode::tests::snippet_cannot_run_another_snippet ... ok
[INFO] [stdout] test cli::doctor::checks::tests::dir_writable_passes_for_writable_dir ... ok
[INFO] [stdout] test cli::doctor::checks::tests::port_available_passes_for_free_port ... ok
[INFO] [stdout] test cli::doctor::checks::tests::required_var_fails_when_empty ... ok
[INFO] [stdout] test cli::doctor::checks::tests::required_var_passes_when_set ... ok
[INFO] [stdout] test cli::doctor::checks::tests::required_var_redacts_long_secrets ... ok
[INFO] [stdout] test cli::doctor::checks::tests::required_var_redacts_short_secrets ... ok
[INFO] [stdout] test cli::doctor::checks::tests::service_url_fails_when_empty ... ok
[INFO] [stdout] test cli::doctor::checks::tests::service_url_passes_when_set ... ok
[INFO] [stdout] test cli::doctor::checks::tests::service_url_shows_only_origin_not_credentials ... ok
[INFO] [stdout] test app::download::tests::queue_rejects_non_download_kind ... ok
[INFO] [stdout] test app::openapi_ops::tests::execute_operation_requires_each_path_param_before_dispatch ... ok
[INFO] [stdout] test cli::doctor::tests::check_port_available_passes_for_unused_high_port ... ok
[INFO] [stdout] test cli::doctor::tests::check_required_var_fails_when_value_is_empty ... ok
[INFO] [stdout] test cli::doctor::tests::check_required_var_passes_when_value_is_set ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_no_longer_recognizes_confirm_or_yes ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_parses_body ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_rejects_duplicate_body ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_rejects_duplicate_path ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_rejects_flag_like_path_and_body_values ... ok
[INFO] [stdout] test cli::parse::tests::passthrough_requires_path ... ok
[INFO] [stdout] test cli::parse::tests::reject_args_rejects_extra ... ok
[INFO] [stdout] test cli::parse::tests::selectors_parse_all_four ... ok
[INFO] [stdout] test cli::parse::tests::selectors_reject_unknown ... ok
[INFO] [stdout] test cli::parse::tests::watch_flags_parsed ... ok
[INFO] [stdout] test cli::router::tests::capability_hook_rejects_unknown_verb ... ok
[INFO] [stdout] test cli::router::tests::empty_routes_to_none ... ok
[INFO] [stdout] test cli::router::tests::get_rejects_body ... ok
[INFO] [stdout] test cli::router::tests::infra_verb_recognised ... ok
[INFO] [stdout] test cli::parse::tests::bool_flag_detects_and_dedups ... ok
[INFO] [stdout] test cli::router::tests::infra_verbs_disjoint_from_service_kinds ... ok
[INFO] [stdout] test cli::router::tests::qbittorrent_alias_resolves ... ok
[INFO] [stdout] test cli::router::tests::serve_and_mcp_are_reserved_but_unreachable ... ok
[INFO] [stdout] test cli::router::tests::service_token_resolves_through_capability_hook ... ok
[INFO] [stdout] test cli::setup::plugin::tests::plugin_option_map_is_non_empty_and_well_formed ... ok
[INFO] [stdout] test cli::router::tests::unknown_token_lists_both_sets ... ok
[INFO] [stdout] test cli::setup::plugin::tests::plugin_option_map_targets_are_unique ... ok
[INFO] [stdout] test cli::setup::plugin::tests::skill_fallback_groups_by_service_escapes_and_skips_non_services ... ok
[INFO] [stdout] test cli::setup::tests::all_variants_are_distinct ... ok
[INFO] [stdout] test cli::setup::tests::dotenv_values_reject_newlines ... ok
[INFO] [stdout] test cli::setup::tests::finish_prefers_blocking_over_advisory ... ok
[INFO] [stdout] test cli::setup::tests::finish_sets_advisory_failure_when_only_advisory_present ... ok
[INFO] [stdout] test cli::setup::tests::finish_sets_blocking_failure_when_blocking_present ... ok
[INFO] [stdout] test cli::setup::tests::dotenv_values_quote_special_characters_and_escape_quotes ... ok
[INFO] [stdout] test cli::setup::tests::finish_sets_success_when_no_failures ... ok
[INFO] [stdout] test cli::setup::tests::new_report_has_no_failures ... ok
[INFO] [stdout] test cli::setup::tests::setup_check_blocks_when_port_is_already_bound ... ok
[INFO] [stdout] test cli::setup::tests::setup_check_reports_missing_env_as_advisory ... ok
[INFO] [stdout] test cli::setup::tests::setup_command_copy ... ok
[INFO] [stdout] test cli::setup::wizard::tests::dotenv_assignment_leaves_safe_values_bare ... ok
[INFO] [stdout] test cli::setup::wizard::tests::dotenv_assignment_quotes_values_with_spaces ... ok
[INFO] [stdout] test cli::setup::wizard::tests::dotenv_assignment_rejects_newlines ... ok
[INFO] [stdout] test cli::setup::wizard::tests::setup_command_equality ... ok
[INFO] [stdout] test cli::tests::delete_no_longer_recognizes_confirm_or_yes ... ok
[INFO] [stdout] test cli::setup::tests::setup_repair_creates_env_file ... ok
[INFO] [stdout] test cli::tests::doctor_and_setup_subcommands ... ok
[INFO] [stdout] test cli::tests::delete_subcommand_allows_missing_body ... ok
[INFO] [stdout] test app::download::sab::tests::remove_with_delete_files_sends_del_files_on_the_wire ... ok
[INFO] [stdout] test cli::tests::empty_args_returns_none ... ok
[INFO] [stdout] test cli::tests::get_and_post_subcommands ... ok
[INFO] [stdout] test cli::tests::help_subcommand ... ok
[INFO] [stdout] test cli::tests::put_subcommand ... ok
[INFO] [stdout] test cli::tests::service_status_subcommand ... ok
[INFO] [stdout] test cli::tests::unknown_command_for_service_errors ... ok
[INFO] [stdout] test cli::tests::usage_lists_grammar_and_services ... ok
[INFO] [stdout] test cli::tests::service_without_command_errors ... ok
[INFO] [stdout] test cli::usage::tests::usage_is_stable_across_calls ... ok
[INFO] [stdout] test cli::tests::unknown_token1_errors_with_inventory ... ok
[INFO] [stdout] test cli::usage::tests::usage_lists_every_configured_curated_command ... ok
[INFO] [stdout] test cli::usage::tests::usage_lists_infra_and_service_grammar ... ok
[INFO] [stdout] test cli::usage::tests::usage_lists_every_service_name ... ok
[INFO] [stdout] test cli::usage::tests::usage_shows_friendly_verbs_not_prefixed_action_names ... ok
[INFO] [stdout] test cli::watch::tests::format_event_down ... ok
[INFO] [stdout] test cli::watch::tests::format_event_initial_up ... ok
[INFO] [stdout] test cli::watch::tests::format_event_recovery_from_degraded ... ok
[INFO] [stdout] test cli::watch::tests::format_event_recovery_from_down ... ok
[INFO] [stdout] test cli::watch::tests::health_url_for_accepts_direct_health_url ... ok
[INFO] [stdout] test cli::watch::tests::health_url_for_appends_health_to_base_url ... ok
[INFO] [stdout] test cli::watch::tests::server_state_display_degraded ... ok
[INFO] [stdout] test cli::watch::tests::server_state_display_degraded_404 ... ok
[INFO] [stdout] test cli::watch::tests::server_state_display_down ... ok
[INFO] [stdout] test cli::watch::tests::server_state_display_up ... ok
[INFO] [stdout] test codemode::artifact::tests::accepts_plain_relative_paths ... ok
[INFO] [stdout] test codemode::artifact::tests::content_type_inference_and_override ... ok
[INFO] [stdout] test codemode::artifact::tests::rejects_traversal_and_absolute_and_encoded ... ok
[INFO] [stdout] test codemode::artifact::tests::resolve_under_root_keeps_inside ... ok
[INFO] [stdout] test codemode::artifact::tests::resolve_under_root_rejects_traversal_directly ... ok
[INFO] [stdout] test app::download::sab::tests::remove_without_delete_files_omits_del_files_on_the_wire ... ok
[INFO] [stdout] test codemode::catalog::tests::catalog_paths_are_fully_qualified_per_service ... ok
[INFO] [stdout] test codemode::catalog::tests::catalog_paths_are_unique ... ok
[INFO] [stdout] test codemode::catalog::tests::each_entry_carries_its_service ... ok
[INFO] [stdout] test codemode::catalog::tests::empty_services_yields_only_raw_api_docs ... ok
[INFO] [stdout] test codemode::catalog::tests::raw_api_client_is_documented_service_agnostically ... ok
[INFO] [stdout] test codemode::dts::tests::converter_handles_optionals_enums_and_arrays ... ok
[INFO] [stdout] test cli::watch::tests::format_event_degraded ... ok
[INFO] [stdout] test codemode::artifact::tests::rejects_windows_drive_and_unc ... ok
[INFO] [stdout] test codemode::dts::tests::each_entry_carries_a_ts_declaration ... ok
[INFO] [stdout] test codemode::dts::tests::type_entries_are_service_qualified_and_cover_services ... ok
[INFO] [stdout] test cli::doctor::checks::tests::port_available_passes_when_running_server_is_healthy ... ok
[INFO] [stdout] test codemode::engine::tests::calltool_round_trips_through_on_call ... ok
[INFO] [stdout] test codemode::engine::tests::memory_limit_is_enforced ... ok
[INFO] [stdout] test codemode::engine::tests::console_output_is_captured ... ok
[INFO] [stdout] test codemode::engine::tests::plain_expression_returns_value ... ok
[INFO] [stdout] test codemode::dts::tests::type_catalog_json_for_merges_generated_and_doc_based ... ok
[INFO] [stdout] test codemode::catalog::tests::catalog_json_is_valid_json_array ... ok
[INFO] [stdout] test codemode::engine::tests::search_blends_in_a_high_semantic_score_for_zero_lexical_overlap_query ... ok
[INFO] [stdout] test codemode::engine::tests::script_throw_surfaces_as_err ... ok
[INFO] [stdout] test app::download::qbit::tests::remove_hits_torrents_delete_with_delete_files_flag ... ok
[INFO] [stdout] test codemode::engine::tests::search_embed_bridge_is_not_called_for_an_empty_query ... ok
[INFO] [stdout] test codemode::engine::tests::write_artifact_error_surfaces_as_throw ... ok
[INFO] [stdout] test codemode::engine::tests::search_with_no_lexical_overlap_and_no_semantic_score_finds_nothing ... ok
[INFO] [stdout] test app::stats::tests::refresh_and_delete_image_cache_reject_non_stats_kind ... ok
[INFO] [stdout] test codemode::engine::tests::thrown_tool_error_surfaces_as_err ... ok
[INFO] [stdout] test codemode::engine::tests::write_artifact_round_trips_through_on_write ... ok
[INFO] [stdout] test app::download::tests::add_pause_resume_remove_reject_non_download_kind ... ok
[INFO] [stdout] test app::openapi_ops::tests::execute_operation_rejects_unknown_op ... ok
[INFO] [stdout] test codemode::proxy::tests::preamble_defines_calltool_and_runner ... ok
[INFO] [stdout] test codemode::engine::tests::infinite_loop_is_interrupted_by_deadline ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_empty_vectors_is_zero ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_identical_vectors_is_one ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_mismatched_lengths_is_zero ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_opposite_vectors_is_negative_one ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_orthogonal_vectors_is_zero ... ok
[INFO] [stdout] test codemode::semantic::tests::cosine_similarity_zero_vector_is_zero_not_nan ... ok
[INFO] [stdout] test codemode::proxy::tests::api_namespace_empty_when_no_services ... ok
[INFO] [stdout] test codemode::proxy::tests::reserved_global_name_is_not_clobbered ... ok
[INFO] [stdout] test codemode::proxy::tests::api_namespace_generated_per_configured_service ... ok
[INFO] [stdout] test codemode::proxy::tests::per_service_namespaces_bake_in_the_service ... ok
[INFO] [stdout] test codemode::engine::tests::stalled_calltool_is_bounded_by_deadline ... ok
[INFO] [stdout] test codemode::semantic::tests::tei_url_set_is_trimmed_and_returned ... ok
[INFO] [stdout] test codemode::semantic::tests::tei_url_unset_is_none ... ok
[INFO] [stdout] test app::tests::unknown_service_is_actionable ... ok
[INFO] [stdout] test codemode::store::tests::list_empty_when_dir_absent ... ok
[INFO] [stdout] test codemode::store::tests::load_missing_errors ... ok
[INFO] [stdout] test codemode::store::tests::save_list_load_delete_roundtrip ... ok
[INFO] [stdout] test codemode::semantic::tests::tei_url_whitespace_only_is_none ... ok
[INFO] [stdout] test codemode::store::tests::validate_accepts_good_names ... ok
[INFO] [stdout] test codemode::store::tests::validate_rejects_bad_names ... ok
[INFO] [stdout] test codemode::store::tests::save_overwrites_existing ... ok
[INFO] [stdout] test codemode::tests::engine_limits_build_from_the_constants ... ok
[INFO] [stdout] test codemode::tests::artifact_and_snippet_subdirs_are_distinct_relative_paths ... ok
[INFO] [stdout] test codemode::proxy::tests::no_flat_tools_namespace ... ok
[INFO] [stdout] test codemode::proxy::tests::snippet_verbs_are_not_callable_namespaces ... ok
[INFO] [stdout] test codemode::truncate::tests::small_envelope_is_left_untouched ... ok
[INFO] [stdout] test codemode::truncate::tests::utf8_prefix_never_splits_a_codepoint ... ok
[INFO] [stdout] test config::auth::tests::auth_config_defaults ... ok
[INFO] [stdout] test config::auth::tests::auth_mode_defaults_to_bearer ... ok
[INFO] [stdout] test config::mcp::tests::bind_addr_brackets_ipv6_host ... ok
[INFO] [stdout] test config::mcp::tests::bind_addr_joins_host_and_port ... ok
[INFO] [stdout] test config::mcp::tests::is_loopback_detection ... ok
[INFO] [stdout] test config::mcp::tests::mcp_config_defaults ... ok
[INFO] [stdout] test config::services::tests::all_kinds_match_kind_rows_table ... ok
[INFO] [stdout] test config::services::tests::default_data_dir_is_non_empty ... ok
[INFO] [stdout] test config::services::tests::kind_rows_pin_exact_values ... ok
[INFO] [stdout] test config::services::tests::load_services_bails_when_url_missing ... ok
[INFO] [stdout] test config::services::tests::qbittorrent_aliases_parse ... ok
[INFO] [stdout] test codemode::proxy::tests::preamble_injects_discovery_catalog_and_helpers ... ok
[INFO] [stdout] test config::services::tests::resolve_data_dir_uses_legacy_rustarr_home_when_yarr_home_is_absent ... ok
[INFO] [stdout] test config::services::tests::service_kind_as_str_round_trips ... ok
[INFO] [stdout] test codemode::semantic::tests::empty_query_returns_empty ... ok
[INFO] [stdout] test config::services::tests::unknown_kind_errors ... ok
[INFO] [stdout] test config::tests::auth_mode_deserializes_bearer ... ok
[INFO] [stdout] test config::tests::auth_mode_deserializes_oauth ... ok
[INFO] [stdout] test config::services::tests::service_kind_all_has_11_entries ... ok
[INFO] [stdout] test config::services::tests::underscore_normalizes_to_kebab ... ok
[INFO] [stdout] test config::tests::auth_mode_rejects_bad_value ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_false ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_no ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_true ... ok
[INFO] [stdout] test codemode::semantic::tests::failed_call_starts_a_cooldown_that_skips_the_next_network_attempt ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_1 ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_yes ... ok
[INFO] [stdout] test config::tests::env_bool_rejects_invalid ... ok
[INFO] [stdout] test config::tests::env_list_empty_string_leaves_target_unchanged ... ok
[INFO] [stdout] test config::tests::env_list_splits_comma_separated ... ok
[INFO] [stdout] test config::tests::env_list_trims_spaces_around_commas ... ok
[INFO] [stdout] test app::stats::tests::stats_activity_rejects_non_stats_kind ... ok
[INFO] [stdout] test config::tests::is_loopback_127_0_0_2 ... ok
[INFO] [stdout] test config::tests::is_loopback_ipv6_bare ... ok
[INFO] [stdout] test config::tests::is_loopback_ipv6_bracketed ... ok
[INFO] [stdout] test config::tests::is_loopback_subdomain_is_false ... ok
[INFO] [stdout] test config::tests::injectable_env_key_allows_yarr_namespace_and_rust_log ... ok
[INFO] [stdout] test config::tests::is_loopback_0_0_0_0_is_false ... ok
[INFO] [stdout] test config::tests::legacy_dotenv_migration_writes_private_env_file ... ok
[INFO] [stdout] test config::tests::load_dotenv_ignores_legacy_and_dangerous_keys ... ok
[INFO] [stdout] test config::tests::env_bool_accepts_0 ... ok
[INFO] [stdout] test config::tests::load_accepts_yarr_service_env ... ok
[INFO] [stdout] test config::tests::is_loopback_uppercase_localhost_is_false ... ok
[INFO] [stdout] test config::tests::injectable_env_key_rejects_dangerous_process_vars ... ok
[INFO] [stdout] test config::tests::load_dotenv_skips_non_yarr_keys_but_injects_allowed_ones ... ok
[INFO] [stdout] test config::tests::load_migrates_legacy_rustarr_env_namespace_when_new_keys_are_absent ... ok
[INFO] [stdout] test config::tests::load_rejects_conflicting_legacy_and_yarr_env_values ... ok
[INFO] [stdout] test config::tests::load_rejects_conflicting_legacy_rustarr_and_yarr_config_sections ... ok
[INFO] [stdout] test logging::aurora::tests::all_constants_are_u8_values ... ok
[INFO] [stdout] test config::tests::load_dotenv_rejects_conflicting_legacy_and_yarr_keys ... ok
[INFO] [stdout] test config::tests::load_dotenv_rejects_null_byte_in_value ... ok
[INFO] [stdout] test logging::aurora::tests::service_name_is_pink_256 ... ok
[INFO] [stdout] test logging::aurora::tests::success_and_warn_and_error_are_distinct ... ok
[INFO] [stdout] test config::tests::load_falls_back_to_legacy_rustarr_config_when_yarr_config_is_absent ... ok
[INFO] [stdout] test logging::formatter::render::tests::formatter_is_copy_and_zero_sized ... ok
[INFO] [stdout] test logging::formatter::style::tests::sanitize_keeps_tab_and_newline ... ok
[INFO] [stdout] test logging::formatter::style::tests::should_skip_suppresses_false_destructive_flag ... ok
[INFO] [stdout] test logging::formatter::style::tests::sanitize_strips_ansi_escapes ... ok
[INFO] [stdout] test logging::formatter::style::tests::sanitize_preserves_clean_input_borrowed ... ok
[INFO] [stdout] test logging::formatter::style::tests::format_field_value_quotes_whitespace ... ok
[INFO] [stdout] test logging::formatter::tests::formats_error_level ... ok
[INFO] [stdout] test logging::formatter::tests::formats_warn_level ... ok
[INFO] [stdout] test logging::formatter::tests::formats_message_and_structured_fields ... ok
[INFO] [stdout] test logging::formatter::tests::sanitize_is_noop_for_clean_values ... ok
[INFO] [stdout] test logging::formatter::tests::sanitize_strips_c0_controls ... ok
[INFO] [stdout] test logging::formatter::tests::format_field_value_quotes_whitespace ... ok
[INFO] [stdout] test logging::formatter::tests::values_with_spaces_are_quoted ... ok
[INFO] [stdout] test logging::tests::log_file_max_bytes_is_10mb ... ok
[INFO] [stdout] test logging::formatter::tests::no_ansi_codes_when_ansi_disabled ... ok
[INFO] [stdout] test logging::formatter::tests::should_skip_suppresses_false_flags ... ok
[INFO] [stdout] test logging::tests::truncate_is_noop_when_file_absent ... ok
[INFO] [stdout] test logging::tests::truncate_is_noop_when_file_small ... ok
[INFO] [stdout] test mcp::elicit::tests::classify_confirmed_proceeds ... ok
[INFO] [stdout] test mcp::elicit::tests::classify_refused_declines ... ok
[INFO] [stdout] test mcp::elicit::tests::classify_unsupported_proceeds ... ok
[INFO] [stdout] test mcp::elicit::tests::normalize_accept_with_confirm_false_refuses ... ok
[INFO] [stdout] test mcp::elicit::tests::normalize_accept_with_confirm_true_is_confirmed ... ok
[INFO] [stdout] test mcp::elicit::tests::normalize_empty_content_refuses ... ok
[INFO] [stdout] test mcp::prompts::tests::get_prompt_quick_start_returns_message ... ok
[INFO] [stdout] test mcp::prompts::tests::get_prompt_unknown_returns_err ... ok
[INFO] [stdout] test mcp::elicit::tests::confirm_message_names_action_and_service ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::api_get_requires_write_scope ... ok
[INFO] [stdout] test mcp::prompts::tests::list_prompts_returns_quick_start ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::api_post_requires_write_scope ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::declined_result_reports_declined_and_nothing_changed ... ok
[INFO] [stdout] test config::tests::load_reads_dotenv_from_yarr_home_without_overriding_process_env ... ok
[INFO] [stdout] test codemode::semantic::tests::empty_catalog_returns_empty ... ok
[INFO] [stdout] test logging::tests::truncate_clears_large_file ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::empty_scopes_denied ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::help_requires_no_scope ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::internal_tool_errors_include_stable_kind ... ok
[INFO] [stdout] test codemode::truncate::tests::logs_are_trimmed_oldest_first_to_preserve_result ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::read_scope_does_not_satisfy_write ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::read_scope_satisfies_read_requirement ... ok
[INFO] [stdout] test codemode::semantic::tests::disabled_tei_url_returns_empty_without_network_attempt ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::unknown_action_gets_deny_scope ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::unknown_action_is_rejected_as_validation_before_scope ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::unrelated_scope_denied ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::tool_result_from_json_applies_response_cap ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::write_scope_satisfies_read_requirement ... ok
[INFO] [stdout] test mcp::schemas::conditionals::tests::emits_required_params_fragment_for_each_generic_action ... ok
[INFO] [stdout] test mcp::schemas::conditionals::tests::curated_required_params_still_emit_without_service ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::action_enum_is_the_full_action_set ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::base_properties_are_present ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::curated_param_schema_type_matches_descriptor ... ok
[INFO] [stdout] test codemode::semantic::tests::unreachable_tei_fails_open_to_empty_map ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::curated_params_advertise_applicable_actions ... ok
[INFO] [stdout] test codemode::truncate::tests::oversized_result_becomes_a_structured_marker ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::known_typed_params_are_not_strings ... ok
[INFO] [stdout] test mcp::schemas::properties::tests::property_set_is_union_of_base_and_curated_params ... ok
[INFO] [stdout] test mcp::schemas::conditionals::tests::service_status_has_no_required_fragment_because_service_is_implied ... ok
[INFO] [stdout] test logging::formatter::tests::sanitize_preserves_tab_and_newline ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_conditionally_requires_api_get_fields ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_exposes_registry_derived_action_metadata ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_exposes_service_metadata_and_agent_guidance ... ok
[INFO] [stdout] test mcp::schemas::tests::path_schema_requires_non_empty_string ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_action_enum_comes_from_action_metadata ... ok
[INFO] [stdout] test mcp::schemas::tests::generic_only_tool_filters_curated_actions ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_exposes_verbosity_opt_ins ... ok
[INFO] [stdout] test mcp::schemas::tests::schema_disallows_unknown_top_level_properties ... ok
[INFO] [stdout] test mcp::schemas::tests::service_named_tools_are_advertised ... ok
[INFO] [stdout] test mcp::schemas::tests::yarr_tool_identity_points_at_yarr_schema_resource ... ok
[INFO] [stdout] test app::stats::tests::stats_history_rejects_non_stats_kind ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::flat_mode_advertises_one_tool_per_configured_service_only ... ok
[INFO] [stdout] test cli::doctor::checks::tests::upstream_passes_for_local_service_status_endpoint ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_hosts_always_includes_loopback ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_hosts_deduplicates ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_hosts_includes_bound_host_and_port_variant ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_hosts_ipv6_loopback_bracketed ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_hosts_with_extra_allowed_hosts ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_deduplicates ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_brackets_ipv6_literals ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_includes_extra_allowed_origins ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_includes_loopback_with_port ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_includes_public_url_origin ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_normalizes_extra_allowed_origins ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_preserves_non_http_configured_origins ... ok
[INFO] [stdout] test mcp::transport::tests::allowed_origins_skips_invalid_and_wildcard_origins ... ok
[INFO] [stdout] test mcp::transport::tests::host_with_port_not_doubled ... ok
[INFO] [stdout] test models::bazarr::tests::empty_objects_decode_to_all_none_and_empty_vecs ... ok
[INFO] [stdout] test models::bazarr::tests::episodes_data_envelope_and_wanted_episode_label_decode ... ok
[INFO] [stdout] test models::bazarr::tests::provider_and_language_bare_array_decode ... ok
[INFO] [stdout] test models::bazarr::tests::system_status_decodes_with_float_start_time_and_null_cpu_cores ... ok
[INFO] [stdout] test models::bazarr::tests::movies_response_decodes_paged_envelope_with_renames_and_string_year ... ok
[INFO] [stdout] test models::bazarr::tests::unknown_fields_are_ignored ... ok
[INFO] [stdout] test models::qbittorrent::tests::build_info_decodes_integer_bitness_and_ignores_unknown_fields ... ok
[INFO] [stdout] test models::qbittorrent::tests::categories_decode_as_keyed_map_with_camelcase_savepath ... ok
[INFO] [stdout] test models::qbittorrent::tests::empty_objects_decode_to_all_none ... ok
[INFO] [stdout] test models::qbittorrent::tests::torrent_info_decodes_native_numerics_and_camelcase_exception ... ok
[INFO] [stdout] test models::qbittorrent::tests::torrent_state_unknown_is_forward_compatible ... ok
[INFO] [stdout] test models::qbittorrent::tests::transfer_info_partial_fields_are_optional_and_status_enum_decodes ... ok
[INFO] [stdout] test models::sabnzbd::tests::extra_unknown_fields_are_ignored ... ok
[INFO] [stdout] test models::sabnzbd::tests::history_response_decodes_int_bytes_and_stage_log ... ok
[INFO] [stdout] test models::sabnzbd::tests::minimal_objects_default_to_none_and_empty_vecs ... ok
[INFO] [stdout] test models::sabnzbd::tests::version_response_decodes ... ok
[INFO] [stdout] test models::sabnzbd::tests::queue_response_decodes_string_numerics_and_int_counts ... ok
[INFO] [stdout] test models::tautulli::tests::activity_envelope_decodes_with_string_stream_count ... ok
[INFO] [stdout] test models::tautulli::tests::empty_objects_yield_all_none_and_empty_vecs ... ok
[INFO] [stdout] test models::tautulli::tests::failed_command_envelope_surfaces_message_and_null_data ... ok
[INFO] [stdout] test models::tautulli::tests::history_data_decodes_mixed_casing_and_epoch_ints ... ok
[INFO] [stdout] test models::tautulli::tests::libraries_decode_string_counts_vs_int_section_id ... ok
[INFO] [stdout] test models::tautulli::tests::user_row_ignores_unknown_fields ... ok
[INFO] [stdout] test models::tests::doc_based_service_modules_are_wired ... ok
[INFO] [stdout] test models::tracearr::tests::empty_object_yields_all_none_and_empty_vecs ... ok
[INFO] [stdout] test models::tracearr::tests::health_response_decodes_with_servers ... ok
[INFO] [stdout] test models::tracearr::tests::session_history_decodes_with_nullable_stopped_at ... ok
[INFO] [stdout] test models::tracearr::tests::activity_decodes_buckets_and_enum_period ... ok
[INFO] [stdout] test models::tracearr::tests::stream_flattens_mixins_and_nested_details ... ok
[INFO] [stdout] test models::tracearr::tests::stats_today_decodes_float_watch_time ... ok
[INFO] [stdout] test models::tracearr::tests::streams_response_summary_only_arm_has_no_data ... ok
[INFO] [stdout] test models::tracearr::tests::terminate_success_and_error_arms_decode ... ok
[INFO] [stdout] test models::tracearr::tests::users_response_envelope_and_flattened_server_info ... ok
[INFO] [stdout] test models::tracearr::tests::violation_decodes_arbitrary_data_and_renamed_rule_type ... ok
[INFO] [stdout] test models::tracearr::tests::violation_rule_kind_decodes_known_and_unknown_values ... ok
[INFO] [stdout] test openapi::tests::find_operation_resolves_known_and_rejects_unknown ... ok
[INFO] [stdout] test openapi::tests::scalar_rendering_covers_string_number_bool_only ... ok
[INFO] [stdout] test run_mode::tests::empty_args_is_serve ... ok
[INFO] [stdout] test run_mode::tests::extra_args_fall_through_to_cli ... ok
[INFO] [stdout] test run_mode::tests::mcp_alone_is_stdio ... ok
[INFO] [stdout] test run_mode::tests::other_commands_are_cli ... ok
[INFO] [stdout] test run_mode::tests::serve_and_serve_mcp_are_serve ... ok
[INFO] [stdout] test openapi::tests::every_generated_operation_is_well_formed ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::destructive_op_call_ignores_unknown_service_or_op ... ok
[INFO] [stdout] test mcp::tests::rmcp_server_constructs_from_loopback_state ... ok
[INFO] [stdout] test server::tests::invalid_public_url_is_rejected ... ok
[INFO] [stdout] test server::tests::loopback_bind_is_loopback_dev_without_credentials ... ok
[INFO] [stdout] test server::tests::non_loopback_bearer_token_mounts_bearer_policy ... ok
[INFO] [stdout] test server::tests::non_loopback_gateway_without_credentials_is_trusted_gateway_unscoped ... ok
[INFO] [stdout] test server::tests::non_loopback_gateway_without_provenance_is_rejected ... ok
[INFO] [stdout] test server::tests::non_loopback_no_auth_with_gateway_is_trusted_gateway_unscoped ... ok
[INFO] [stdout] test server::tests::non_loopback_no_auth_without_gateway_is_rejected ... ok
[INFO] [stdout] test server::tests::non_loopback_oauth_mounts_oauth_policy ... ok
[INFO] [stdout] test server::tests::non_loopback_without_auth_or_gateway_is_rejected ... ok
[INFO] [stdout] test server::tests::wildcard_public_url_is_rejected ... ok
[INFO] [stdout] test token_limit::tests::serialize_with_limit_emits_parseable_truncation_marker ... ok
[INFO] [stdout] test codemode::truncate::tests::marker_is_skipped_when_it_would_not_shrink_a_small_result ... ok
[INFO] [stdout] test token_limit::tests::serialize_with_limit_passes_small_payload_through ... ok
[INFO] [stdout] test yarr::auth::tests::accepts_qbittorrent_login_success_variants ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::destructive_op_call_flags_generated_delete_ops ... ok
[INFO] [stdout] test cli::doctor::checks::tests::port_available_fails_when_already_bound_by_non_yarr_process ... ok
[INFO] [stdout] test token_limit::tests::serialize_with_limit_holds_cap_for_escape_heavy_payload ... ok
[INFO] [stdout] test mcp::tools::tests::yarr_tool_dispatches_codemode ... ok
[INFO] [stdout] test app::tests::service_of_capability_matches_and_rejects ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::destructive_op_call_ignores_non_delete_ops ... ok
[INFO] [stdout] test yarr::helpers::tests::allows_exact_prefixes_and_prefix_path_boundaries ... ok
[INFO] [stdout] test yarr::auth::tests::api_key_header_kind_never_gets_bearer ... ok
[INFO] [stdout] test yarr::helpers::tests::allows_tracearr_health_status_path ... ok
[INFO] [stdout] test yarr::helpers::tests::allows_tracearr_api_v1_paths ... ok
[INFO] [stdout] test yarr::helpers::tests::appends_plex_token_in_query_only ... ok
[INFO] [stdout] test yarr::helpers::tests::appends_sabnzbd_query_auth ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_redacts_emby_token ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_leaves_non_secret_json_untouched ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_redacts_json_secrets ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_redacts_json_secrets_case_insensitive_and_spaced ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_redacts_x_api_key_json ... ok
[INFO] [stdout] test yarr::helpers::tests::body_preview_redacts_form_encoded_password_and_api_key ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_handles_trailing_slash_base_url ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_injects_query_auth_exactly_once_for_query_kinds ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_encodes_path_value_as_single_segment_no_traversal ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_percent_encodes_query_and_cannot_inject_a_second_param ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_rejects_dot_segment_path_params ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_rejects_missing_or_empty_path_param ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_substitutes_in_segment_placeholders ... ok
[INFO] [stdout] test yarr::helpers::tests::build_operation_url_substitutes_and_encodes_path_params ... ok
[INFO] [stdout] test yarr::helpers::tests::build_url_preserves_key_only_flag ... ok
[INFO] [stdout] test yarr::helpers::tests::builds_arr_url_without_secret_in_path ... ok
[INFO] [stdout] test yarr::helpers::tests::jellyfin_sessions_path_is_allowed ... ok
[INFO] [stdout] test yarr::helpers::tests::query_get_appends_sabnzbd_output_json ... ok
[INFO] [stdout] test yarr::helpers::tests::query_get_percent_encodes_param_values ... ok
[INFO] [stdout] test yarr::helpers::tests::rejects_service_paths_outside_allowed_prefixes ... ok
[INFO] [stdout] test yarr::helpers::tests::rejects_unsafe_paths ... ok
[INFO] [stdout] test yarr::helpers::tests::slim_keeps_only_requested_fields_on_object ... ok
[INFO] [stdout] test yarr::helpers::tests::slim_leaves_scalars_untouched ... ok
[INFO] [stdout] test yarr::helpers::tests::slim_maps_over_arrays ... ok
[INFO] [stdout] test yarr::tests::all_required_service_kinds_are_unique ... ok
[INFO] [stdout] test yarr::helpers::tests::build_url_does_not_double_encode_query_values ... ok
[INFO] [stdout] test yarr::tests::allows_text_response_for_generated_and_text_native_services ... ok
[INFO] [stdout] test yarr::auth::tests::arr_uses_x_api_key_header ... ok
[INFO] [stdout] test yarr::auth::tests::plex_has_no_authorization_bearer ... ok
[INFO] [stdout] test mcp::tests::server_info_includes_implementation_metadata ... ok
[INFO] [stdout] test yarr::auth::tests::jellyfin_uses_mediabrowser_not_bearer ... ok
[INFO] [stdout] test mcp::tools::tests::service_tool_injects_service_argument ... ok
[INFO] [stdout] test mcp::tests::server_info_advertises_tools_resources_prompts ... ok
[INFO] [stdout] test mcp::tools::tests::help_dispatch_returns_object ... ok
[INFO] [stdout] test mcp::rmcp_server::tests::mcp_advertises_exactly_one_yarr_tool ... ok
[INFO] [stdout] test yarr::auth::tests::qbit_session_is_cached_within_ttl ... ok
[INFO] [stdout] test yarr::tests::client_builds_with_separate_qbit_cookie_store ... ok
[INFO] [stdout] test yarr::auth::tests::qbit_cookie_does_not_bleed_to_other_service ... ok
[INFO] [stdout] test server::routes::tests::metrics_is_served_without_auth ... ok
[INFO] [stdout] test server::routes::tests::health_is_served_without_auth ... ok
[INFO] [stdout] test app::codemode::tests::codemode_budgets_an_oversized_result_into_a_parseable_marker ... ok
[INFO] [stdout] test server::routes::tests::metrics_exposition_carries_yarr_prefix ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 549 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.45s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/yarr-ac129079e3bf0ad1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_parse.rs (/opt/rustwide/target/debug/deps/cli_parse-aacea2e6a418c7cd)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test service_status_parsed ... ok
[INFO] [stdout] test snippet_save_parsed ... ok
[INFO] [stdout] test codemode_code_flag_parsed ... ok
[INFO] [stdout] test help_parsed ... ok
[INFO] [stdout] test snippet_delete_parsed ... ok
[INFO] [stdout] test service_get_parsed ... ok
[INFO] [stdout] test setup_plugin_hook_no_repair_parsed ... ok
[INFO] [stdout] test snippet_run_with_input_parsed ... ok
[INFO] [stdout] test service_post_parsed ... ok
[INFO] [stdout] test snippet_run_input_must_be_json ... ok
[INFO] [stdout] test codemode_requires_code_or_file ... ok
[INFO] [stdout] test snippet_list_parsed ... ok
[INFO] [stdout] test op_verb_parses_name_and_args ... ok
[INFO] [stdout] test unknown_service_errors ... ok
[INFO] [stdout] test snippet_save_requires_name ... ok
[INFO] [stdout] test codemode_rejects_both_code_and_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parity.rs (/opt/rustwide/target/debug/deps/parity-d2ea8728d1aba22e)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test destructive_flag_is_internally_consistent ... ok
[INFO] [stdout] test every_curated_command_is_in_the_mcp_action_enum ... ok
[INFO] [stdout] test cli_verb_tables_and_registry_cover_the_same_actions ... ok
[INFO] [stdout] test every_curated_command_is_reachable_from_the_cli ... ok
[INFO] [stdout] test cli_verb_capability_matches_registry_capability ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/plugin_contract.rs (/opt/rustwide/target/debug/deps/plugin_contract-8647f4c2ba2eac93)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test plugin_manifests_exist_for_all_supported_hosts ... ok
[INFO] [stdout] test mcp_json_defaults_to_stdio_with_the_bundled_binary ... ok
[INFO] [stdout] test claude_hooks_call_binary_owned_hook_command ... ok
[INFO] [stdout] test gemini_extension_declares_stdio_mcp_server_matching_settings ... ok
[INFO] [stdout] test plugin_manifests_share_identity_and_connection_settings ... ok
[INFO] [stdout] test plugin_hook_standard_is_documented ... ok
[INFO] [stdout] test setup_repair_creates_env_file_without_upstream_contact ... ok
[INFO] [stdout] test setup_repair_oauth_writes_oauth_env_lines ... ok
[INFO] [stdout] test setup_repair_replaces_existing_env_file_with_private_mode ... ok
[INFO] [stdout] test oauth_missing_client_secret_produces_blocking_failure ... ok
[INFO] [stdout] test oauth_missing_client_id_produces_blocking_failure ... ok
[INFO] [stdout] test oauth_missing_public_url_produces_blocking_failure ... ok
[INFO] [stdout] test oauth_missing_admin_email_produces_blocking_failure ... ok
[INFO] [stdout] test setup_plugin_hook_no_repair_emits_json_contract ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.51s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/template_invariants.rs (/opt/rustwide/target/debug/deps/template_invariants-1ed9add0c1c6ea17)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test agent_memory_files_are_claude_symlinks ... ok
[INFO] [stdout] test portable_scripts_are_executable_and_documented ... ok
[INFO] [stdout] test plugin_manifests_do_not_have_version_fields ... ok
[INFO] [stdout] test justfile_exposes_ported_automation_recipes ... ok
[INFO] [stdout] test registry_and_deploy_metadata_are_yarr_specific ... ok
[INFO] [stderr]      Running tests/tool_dispatch.rs (/opt/rustwide/target/debug/deps/tool_dispatch-8b887294283f9107)
[INFO] [stdout] test schema_contract_doc_tracks_known_actions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test service_status_action_parses_for_mcp_dispatch ... ok
[INFO] [stdout] test generated_op_action_parses_to_op_variant ... ok
[INFO] [stdout] test api_put_action_parses_for_mcp_dispatch ... ok
[INFO] [stdout] test api_post_action_parses_for_mcp_dispatch ... ok
[INFO] [stdout] test download_scopes_queue_read_others_write ... ok
[INFO] [stdout] test download_queue_parses_to_curated_variant ... ok
[INFO] [stdout] test download_commands_valid_only_for_download_kinds ... ok
[INFO] [stdout] test api_delete_action_parses_for_mcp_dispatch ... ok
[INFO] [stdout] test curated_action_requires_service ... ok
[INFO] [stdout] test snippet_list_is_a_routed_action ... ok
[INFO] [stdout] test api_delete_dispatches_without_confirm ... ok
[INFO] [stdout] test generated_op_routes_through_executor_for_spec_backed_kind ... ok
[INFO] [stdout] test codemode_requires_code_param ... ok
[INFO] [stdout] test help_returns_text ... ok
[INFO] [stdout] test mcp_dispatch_rejects_missing_action ... ok
[INFO] [stdout] test download_queue_on_sonarr_rejected_with_valid_actions ... ok
[INFO] [stdout] test codemode_dispatches_js_that_calls_actions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.49s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests yarr
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/logging.rs - logging (line 22) ... ignored
[INFO] [stdout] test src/logging/formatter/render.rs - logging::formatter::render::AuroraFormatter (line 29) ... ignored
[INFO] [stdout] test src/token_limit.rs - token_limit (line 32) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/logging/formatter/style.rs - logging::formatter::style::style_value (line 192) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.02s; merged doctests compilation took 1.01s
[INFO] running `Command { std: "docker" "inspect" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61", kill_on_drop: false }`
[INFO] [stdout] 5b996e88e84090509d0c07ac375fd1bdc50728e7146ebbab477688a8221acd61
